このセクションでは、コンテナを使ってKubernetes クラスタ上で稼働する Pod 同士で通信するためのネットワークの作成について紹介します。Pod 間のネットワーク作成にはいくつかの種類がありますが、ここでは Flannel を使用します。

Flannel デーモンをダウンロードし Kubernetes クラスタ環境にデプロイします。

[root@kube-master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created
[root@kube-master ~]# 

Master サーバー 上でノードの状態を確認します。Master サーバーであるkube-master ノード と Node サーバーである kube-work1 と kube-work2 ノードの STATUS が Ready 状態になります。

[root@kube-master ~]# kubectl get nodes
NAME          STATUS   ROLES    AGE     VERSION
kube-master   Ready    master   14m     v1.13.1
kube-work1    Ready    <none>   8m10s   v1.13.1
kube-work2    Ready    <none>   8m15s   v1.13.1
[root@kube-master ~]# 
[root@kube-master ~]# 

Master サーバー上で全てネームスペースの Pod の状態を確認します。coredns の STATUS が Running 状態に変わります。

[root@kube-master ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                  READY   STATUS    RESTARTS   AGE
kube-system   coredns-86c58d9df4-fvsjf              1/1     Running   0          9m35s
kube-system   coredns-86c58d9df4-nnbb5              1/1     Running   0          14m
kube-system   etcd-kube-master                      1/1     Running   0          13m
kube-system   kube-apiserver-kube-master            1/1     Running   0          13m
kube-system   kube-controller-manager-kube-master   1/1     Running   0          13m
kube-system   kube-flannel-ds-amd64-crwnt           1/1     Running   0          30s
kube-system   kube-flannel-ds-amd64-jtktq           1/1     Running   0          30s
kube-system   kube-flannel-ds-amd64-t4bx9           1/1     Running   0          30s
kube-system   kube-proxy-jt4jq                      1/1     Running   0          14m
kube-system   kube-proxy-tll9v                      1/1     Running   0          8m14s
kube-system   kube-proxy-tzs4v                      1/1     Running   0          8m19s
kube-system   kube-scheduler-kube-master            1/1     Running   0          13m
[root@kube-master ~]#