このセクションでは、コンテナを使って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 ~]#