Installing Antrea with Helm

Table of Contents

Starting with Antrea v1.8, Antrea can be installed and updated using Helm.

We provide the following Helm charts:

  • antrea/antrea: the Antrea network plugin.
  • antrea/flow-aggregator: the Antrea Flow Aggregator; see here for more details.
  • antrea/theia: Theia, the Antrea network observability solution; refer to the Theia sub-project for more details.

Note that these charts are the same charts that we use to generate the YAML manifests for the kubectl apply installation method.

Helm installation is currently considered Alpha.

Prerequisites

  • Ensure that the necessary requirements for running Antrea are met.

  • Ensure that Helm 3 is installed. We recommend using a recent version of Helm if possible. Refer to the Helm documentation for compatibility between Helm and Kubernetes versions.

  • Add the Antrea Helm chart repository:

    1. helm repo add antrea https://charts.antrea.io
    2. helm repo update

Charts

Antrea chart

Installation

To install the Antrea Helm chart, use the following command:

  1. helm install antrea antrea/antrea --namespace kube-system

This will install the latest available version of Antrea. You can also install a specific version of Antrea (>= v1.8.0) with --version <TAG>.

Upgrade

To upgrade the Antrea Helm chart, use the following commands:

  1. # Upgrading CRDs requires an extra step; see explanation below
  2. kubectl apply -f https://github.com/antrea-io/antrea/releases/download/<TAG>/antrea-crds.yml
  3. helm upgrade antrea antrea/antrea --namespace kube-system --version <TAG>

An important note on CRDs

Helm 3 introduces “special treatment” for CRDs, with the ability to place CRD definitions (as plain YAML, not templated) in a special crds/ directory. When CRDs are defined this way, they will be installed before other resources (in case these other resources include CRs corresponding to these CRDs). CRDs defined this way will also never be deleted (to avoid accidental deletion of user-defined CRs) and will also never be upgraded (in case the chart author didn’t ensure that the upgrade was backwards-compatible). The rationale for all of this is described in details in this Helm community document.

Even though Antrea follows a strict versioning policy, which reduces the likelihood of a serious issue when upgrading Antrea, we have decided to follow Helm best practices when it comes to CRDs. It means that an extra step is required for upgrading the chart:

  1. kubectl apply -f https://github.com/antrea-io/antrea/releases/download/<TAG>/antrea-crds.yml

When upgrading CRDs in production, it is recommended to make a backup of your Custom Resources (CRs) first.

Flow Aggregator chart

The Flow Aggregator is on the same release schedule as Antrea. Please ensure that you use the same released version for the Flow Aggregator chart as for the Antrea chart.

Installation

To install the Flow Aggregator Helm chart, use the following command:

  1. helm install flow-aggregator antrea/flow-aggregator --namespace flow-aggregator --create-namespace

This will install the latest available version of the Flow Aggregator. You can also install a specific version (>= v1.8.0) with --version <TAG>.

Upgrade

To upgrade the Flow Aggregator Helm chart, use the following command:

  1. helm upgrade flow-aggregator antrea/flow-aggregator --namespace flow-aggregator --version <TAG>

Theia chart

Refer to the Theia documentation.