Antrea とは
Antrea とは、オープンソースの Kubernetes CNI で、L3/4/7 のネットワーキングとセキュリティ機能を Kubernetes クラスターに提供するものです。オープンな仮想スイッチとして長い実績を誇る Open vSwitch をデータプレーンに利用しています。
本記事では、Antrea を Kubernetes クラスタにインストール、アップデートする方法をご紹介します。
Antrea のインストール
新しい K8s クラスタを準備
今回は kubeadm
を使って Antrea 用の Kubernetes クラスターを新たに準備しました。このあたりを参考にしています。
https://thinkit.co.jp/article/18188
Master 1台と Worker 2台を構成しましたが、CNI を適用する前は以下のように NotReady
となります。
$ kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master-201 NotReady control-plane 1d v1.25.5
k8s-worker-202 NotReady <none> 1d v1.25.5
k8s-worker-203 NotReady <none> 1d v1.25.5
クラスターに Antrea を適用
CNI として Antrea を適用します。Antrea の初期セットアップについてはこちらもご参照下さい:
https://github.com/antrea-io/antrea/blob/main/docs/getting-started.md
今回は Antrea v1.12.0 を使うので、以下のように指定して適用します。
$ kubectl apply -f https://github.com/antrea-io/antrea/releases/download/v1.12.0/antrea.yml
Latest を適用したい場合は以下でも構いません。
$ kubectl apply -f https://raw.githubusercontent.com/antrea-io/antrea/main/build/yamls/antrea.yml
Antrea CNI を適用すると Node が Ready
になりました。
$ kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane,master 1d v1.25.5
k8s-worker1 Ready <none> 1d v1.25.5
k8s-worker2 Ready <none> 1d v1.25.5
antctl のインストール
antctl
は Controller を介して Antrea の設定や状態を確認するためのコマンドラインツールです。今後必要になるかもしれないので最新バージョンをインストールしておきます。以下は 1.12.0 Linux 版の場合です。
$ curl -Lo ./antctl "https://github.com/antrea-io/antrea/releases/download/v1.12.0/antctl-linux-x86_64"
$ chmod +x ./antctl
$ mv ./antctl /usr/local/bin
antctl
でバージョンを表示してみます。インストールした antctl
と Antrea Controller のバージョンが表示されます。
$ antctl version
antctlVersion: v1.12.0
controllerVersion: v1.12.0
Antrea のアップデート
K8s クラスタの確認
以前用意した Antrea クラスターを最新の Antrea にアップデートする手順の例をご紹介します。
現在のクラスタの状況は以下のようになっています。
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master-201 Ready control-plane,master 118d v1.25.5
k8s-worker-202 Ready <none> 118d v1.25.5
k8s-worker-203 Ready <none> 118d v1.25.5
Antrea のアップグレード
ここでは、Antrea を 1.9.0 から 1.12.0 にアップグレードします。念のため、anctl
コマンドで現在のバージョンを確認します。
$ antctl version
antctlVersion: v1.9.0
controllerVersion: v1.9.0
Antrea v1.12.0 を使うので、以下のように指定して適用します。
$ kubectl apply -f https://github.com/antrea-io/antrea/releases/download/v1.12.0/antrea.yml
antctl も同じようにアップグレードします。(Linux用の場合)
$ curl -Lo ./antctl "https://github.com/antrea-io/antrea/releases/download/v1.12.0/antctl-linux-x86_64"
$ chmod +x ./antctl
$ mv ./antctl /usr/local/bin
antctl で新しいバージョンが適用されていることを確認します。
$ antctl version
antctlVersion: v1.12.0
controllerVersion: v1.12.0