涅槃を目指す in はてな

人生に迷う様を書きます

Kubernetes The Hard Way On VirtualBox 10日目

Kubernetesを雰囲気で使わないための修行Kubernetes The Hard Way On VirtualBoxの10日目。

今日はネットワーク設定です。

Provisioning Pod Network

今回、kubernetesのネットワークはCNI weave プラグインを使います。

CNIとは何か

containernetworking/cni: Container Network Interface - networking for Linux containers

CNIは(Container Network Interface)の略で、コンテネットワークのAPIです。コンテナのネットワークをInterfaceとして切り出したので様々なベンダーやプロジェクトでプラグインが作成されています。 今回はweaveプラグインを使います。

Install CNI plugins

worker-1worker-2 で、プラグインをダウンロードします・

wget https://github.com/containernetworking/plugins/releases/download/v1.0.1/cni-plugins-linux-amd64-v1.0.1.tgz

/opt/cni/bin/ ディレクトリに解凍します

sudo tar -xvzf cni-plugins-linux-amd64-v1.0.1.tgz --directory /opt/cni/bin/

Deploy Weave Network

weaveをデプロイします。 master-1 で以下のコマンドを実行

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

Verification

masterノードから、weave Podの起動を確認できます。

vagrant@master-1:~$ kubectl get pods -n kube-system
NAME              READY   STATUS    RESTARTS        AGE
weave-net-szm6v   2/2     Running   1 (8m28s ago)   8m39s
weave-net-wdcjr   2/2     Running   1 (8m28s ago)   8m39s

ずっと NotReady だったNodeのステータスも変わりました

vagrant@master-1:~$ kubectl get node
NAME       STATUS   ROLES    AGE   VERSION
worker-1   Ready    <none>   60d   v1.22.0
worker-2   Ready    <none>   25d   v1.22.0

今日はここまで! お読み頂き有難うございました。