2021年2月27日土曜日

kubeadm で構築した k8s で coredns がうまく起動しない場合の対処方法

概要

k8s 構築時に coredns がうまく起動しないケースがありました
対処方法を紹介します

環境

  • Ubuntu18.04
  • kubernetes v1.20.4

ホストの DNS の設定を見直す

Ubuntu18.04 であれば /etc/resolv.conf に記載されているリゾルバ名がローカルなどになっているとうまく動作しないことがあるようです
8.8.8.8 などに変更してみましょう
変更方法はこちらで紹介しています

/etc/hosts にノードの情報を記載する

ホスト名を master や node1 にしている場合はそれらのホスト名で自信を名前解決できる必要があります
/etc/hosts などに記載して対応しましょう

  • vim /etc/hosts
127.0.0.1       localhost master

cgroupdriver に systemd を設定する

これはあまり関係ないかもしれないのですが docker を使っている場合に kubeadm で構築時に警告が出ます
systemd を使うように修正するには以下のように修正します

  • vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
  • systemctl daemon-reload
  • systemctl restart docker

動作確認

これで再度 kubeadm init/join してみましょう
うまく coredns が起動できていれば OK です

  • kubectl get all --all-namespaces
NAMESPACE     NAME                                 READY   STATUS    RESTARTS   AGE
kube-system   pod/coredns-74ff55c5b-ltv9j          1/1     Running   0          23m
kube-system   pod/coredns-74ff55c5b-nl5st          1/1     Running   0          23m
kube-system   pod/etcd-master                      1/1     Running   0          23m
kube-system   pod/kube-apiserver-master            1/1     Running   0          23m
kube-system   pod/kube-controller-manager-master   1/1     Running   0          23m
kube-system   pod/kube-flannel-ds-bn4s2            1/1     Running   0          22m
kube-system   pod/kube-flannel-ds-z7nvs            1/1     Running   0          22m
kube-system   pod/kube-proxy-h6sfj                 1/1     Running   0          23m
kube-system   pod/kube-proxy-tj8p6                 1/1     Running   0          23m
kube-system   pod/kube-scheduler-master            1/1     Running   0          23m
NAMESPACE     NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP                  23m
kube-system   service/kube-dns     ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   23m
NAMESPACE     NAME                             DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-system   daemonset.apps/kube-flannel-ds   2         2         2       2            2           <none>                   22m
kube-system   daemonset.apps/kube-proxy        2         2         2       2            2           kubernetes.io/os=linux   23m
NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns   2/2     2            2           23m
NAMESPACE     NAME                                DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/coredns-74ff55c5b   2         2         2       23m

0 件のコメント:

コメントを投稿