(O+P)ut

アウトプット



(O+P)ut

Output Log

【Kubernetes】WorkerNodeがNotReadyとなっている際の対応法

スポンサーリンク

事象

PodのステータスがPending状態でkubectl describe podで確認すると以下のようになっている。

Events:
  Type     Reason            Age                From               Message
  ----     ------            ----               ----               -------
  Warning  FailedScheduling  43s (x2 over 43s)  default-scheduler  0/2 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 1 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.
環境情報
  • kubectl v1.18.5

原因/解決策

ネットワークプラグインがインストールされていなかったためWorkerNodeがNotReady状態だった。

よって以下マニフェストを適用してプラグインをインストールすると

$ kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

Podは割り当てられた。

$ kubectl get pod
NAME                        READY   STATUS    RESTARTS   AGE
nginx-dep-7d7d744c9-qrzr6   1/1     Running   0          2m19s

以下補足です。

補足

通常はあまり意識しないこのプラグインですが以下記事のように自前でKubernetesを用意する場合は注意が必要です。

Calicoというオープンソースの仮想ネットワークソリューションを利用することでNodeやコンテナ間の通信が行えます。

実行結果は以下。

$ kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
configmap/calico-config created
customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created
customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created
clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created
clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created
clusterrole.rbac.authorization.k8s.io/calico-node created
clusterrolebinding.rbac.authorization.k8s.io/calico-node created
daemonset.apps/calico-node created
serviceaccount/calico-node created
deployment.apps/calico-kube-controllers created
serviceaccount/calico-kube-controllers created

実体はkube-systemの名前空間で確認できます。


他の記事を読む