Install using Helm

2 MINUTE READ

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 16.04+, or Debian 9.x+
  • kubeconfig is configured to work with your cluster (check by running kubectl get nodes)
  • Calico can manage cali and tunl 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

  1. Add the Calico helm repo:
    helm repo add projectcalico https://docs.projectcalico.org/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.

  1. 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
    
  2. Add any other customizations you require to values.yaml. You might like to refer to the helm docs or run
    helm show values projectcalico/tigera-operator --version v3.20.2
    

    to see the values that can be customized in the chart.

Install Calico

  1. Install the Tigera Calico operator and custom resource definitions using the Helm chart:

    helm install calico projectcalico/tigera-operator --version v3.20.2
    

    or if you created a values.yaml above:

    helm install calico projectcalico/tigera-operator --version v3.20.2 -f values.yaml
    
  2. 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 of Running.

    Note: The Tigera operator installs resources in the calico-system namespace. Other install methods may use the kube-system namespace instead.

Congratulations! You have now installed Calico using the Helm 3 chart.

Next steps

Required

Recommended tutorials