概要
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 件のコメント:
コメントを投稿