Documentation
Introduction
- Overview
- Getting Started
- Support for K8s Installers
- Deploying on Kind
- Deploying on Minikube
- Configuration
- Installing with Helm
Cloud Deployment
Reference
- Antrea Network Policy
- Antctl
- Architecture
- Traffic Encryption (Ipsec / WireGuard)
- Securing Control Plane
- Security considerations
- Troubleshooting
- OS-specific Known Issues
- OVS Pipeline
- Feature Gates
- Antrea Proxy
- Network Flow Visibility
- Traceflow Guide
- NoEncap and Hybrid Traffic Modes
- Egress Guide
- NodePortLocal Guide
- Antrea IPAM Guide
- Exposing Services of type LoadBalancer
- Traffic Control
- BGP Support
- Versioning
- Antrea API Groups
- Antrea API Reference
Windows
Integrations
Cookbooks
Multicluster
Developer Guide
Project Information
Docker Desktop Alternatives
The Antrea build system relies on Docker to build container images, which can
then be used to test Antrea locally. As an Antrea developer, if you run make
,
docker build
will be invoked to build the antrea-ubuntu
container image. On
Linux, Docker Engine (based on moby) runs natively, but if you use macOS or
Windows for Antrea development, Docker needs to run inside a Linux Virtual
Machine (VM). This VM is typically managed by
Docker
Desktop. Starting January 31
2022, Docker Desktop requires a per user paid subscription for professional use
in “large” companies (more than 250 employees or more than $10 million in annual
revenue). See
https://www.docker.com/pricing/faq for details. For developers
who contribute to Antrea as an employee of such a company (and not in their own
individual capacity), it is no longer possible to use Docker Desktop to build
(and possibly run) Antrea Docker images locally, unless they have a Docker
subscription.
For contributors who do not have a Docker subscription, we recommend the following Docker Desktop alternatives.
Colima (macOS)
Colima is a UI built with Lima. It supports running a container runtime (docker, containerd or kubernetes) on macOS, inside a Lima VM. Major benefits of Colima include its ability to be used as a drop-in replacement for Docker Desktop and its ability to coexist with Docker Desktop on the same macOS machine.
To install and run Colima, follow these steps:
brew install colima
colima start
to start Colima (the Linux VM) with the default configuration. Check the Colima documentation for configuration options. By default, Colima will use the Docker runtime. This means that you can keep using thedocker
CLI and that no changes are required to build Antrea.- we recommend increasing the CPU and memory resources allocated to the VM as
by default it only has 2 vCPUs and 2GiB of memory. For example, you can use:
colima start --cpu 4 --memory 8
. Otherwise, building Antrea container images may be slow, and your Kind clusters may run out of memory.
- we recommend increasing the CPU and memory resources allocated to the VM as
by default it only has 2 vCPUs and 2GiB of memory. For example, you can use:
docker context list
and check that thecolima
context is selected. You can usedocker context use desktop-linux
to go back to Docker Desktop.make
to build Antrea locally. Check that theantrea-ubuntu
image is available by listing all images withdocker images
.
We have validated that Kind clusters with Antrea can run inside Colima without any issue (confirmed for IPv4, IPv6 single-stack clusters, as well as for dual-stack clusters).
At any time, you can stop the VM with colima stop
and restart it with colima start
(you do not need to specify configuration flags again, unless you want to
change the current values). You can also check the status of the VM with colima ls
.
While it should be possible to have multiple Colima instances simultaneously, this is not something that we have tested.
Rancher Desktop (macOS and Windows)
Rancher Desktop is another possible alternative to Docker Desktop, which
supports Windows in addition to macOS. On macOS, it also uses Lima as the Linux
VM. Two major differences with Colima are that Rancher Desktop will always run
Kubernetes, and that Rancher Desktop uses the
nerdctl
UI for container management
instead of docker
. However, the nerdctl
and docker
UIs are supposed to be
compatible, so in theory it should be possible to alias docker
to nerdctl
and keep using the Antrea build system as is (to be tested).