Install using Helm
Big picture​
Install Calico on a Kubernetes cluster using Helm 3.
Value​
Helm charts are a way to package up an application for Kubernetes (similar to apt
or yum
for operating systems). Helm is also used by tools like ArgoCD to manage applications in a cluster, taking care of install, upgrade (and rollback if needed), etc.
Before you begin​
Required
- Install Helm 3
- Kubernetes cluster meets these requirements:
- Kubernetes is installed without a CNI plugin OR cluster is running a compatible CNI for Calico to run in policy-only mode
- x86-64, arm64, ppc64le, or s390x processors
- RedHat Enterprise Linux 7.x+, CentOS 7.x+, Ubuntu 18.04+, or Debian 9.x+
kubeconfig
is configured to work with your cluster (check by runningkubectl get nodes
)- Calico can manage
cali
andtunl
interfaces on the hosts. If NetworkManager is present on the hosts, refer to Configure NetworkManager.
Concepts​
Operator based installation​
In this guide, you install the Tigera Calico operator and custom resource definitions using the Helm 3 chart. The Tigera operator provides lifecycle management for Calico exposed via the Kubernetes API defined as a custom resource definition.
How to​
Download the Helm chart​
- Add the Calico helm repo:
helm repo add projectcalico https://docs.tigera.io/calico/charts
Customize the Helm chart​
If you are installing on a cluster installed by EKS, GKE, AKS or Mirantis Kubernetes Engine (MKE), or you need to customize TLS certificates, you must customize this Helm chart by creating a values.yaml
file. Otherwise, you can skip this step.
If you are installing on a cluster installed by EKS, GKE, AKS or Mirantis Kubernetes Engine (MKE), set the
kubernetesProvider
as described in the Installation reference. For example:echo '{ installation: {kubernetesProvider: EKS }}' > values.yaml
For Azure AKS cluster with no Kubernetes CNI pre-installed, create
values.yaml
with the following command:cat > values.yaml <<EOF
installation:
kubernetesProvider: AKS
cni:
type: Calico
calicoNetwork:
bgp: Disabled
ipPools:
- cidr: 10.244.0.0/16
encapsulation: VXLAN
EOF
For more information about configurable options via values.yaml
please see Helm installation reference.
Install Calico​
Create the
tigera-operator
namespace.kubectl create namespace tigera-operator
Install the Tigera Calico operator and custom resource definitions using the Helm chart:
helm install calico projectcalico/tigera-operator --version v3.29.0 --namespace tigera-operator
or if you created a
values.yaml
above:helm install calico projectcalico/tigera-operator --version v3.29.0 -f values.yaml --namespace tigera-operator
Confirm that all of the pods are running with the following command.
watch kubectl get pods -n calico-system
Wait until each pod has the
STATUS
ofRunning
.noteThe Tigera operator installs resources in the
calico-system
namespace. Other install methods may use thekube-system
namespace instead.
Congratulations! You have now installed Calico using the Helm 3 chart.
Next steps​
Required
Recommended tutorials