Kubeadm: CoreDNS tidak dimulai di Ubuntu 18.04.Bionic Beaver

Dibuat pada 9 Jul 2018  ·  18Komentar  ·  Sumber: kubernetes/kubeadm

Kata kunci apa yang Anda cari di masalah kubeadm sebelum mengajukan yang ini?

dns, resolv.conf, coredns

LAPORAN BUG

Versi

versi kubeadm (gunakan kubeadm version ):
kubeadm version: &version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:14:41Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}

Lingkungan :

  • Versi Kubernetes (gunakan kubectl version ):
  Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  • Penyedia cloud atau konfigurasi perangkat keras :
    baremetal (Intel Xeon, HDD 2x2TB, RAM 32GB)
  • OS (misalnya dari / etc / os-release):
    Ubuntu 18.04 LTS (Bionic Beaver)
  • Kernel (misalnya uname -a ):
    4.15.0-24-generik

Apa yang terjadi?

Setelah instalasi kubernetes melalui kubeadm, Pod coredns tidak akan muncul. kubectl get pods --all-namespaces mencetak ini:

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-kgg8d              0/1       Pending   0          2h
kube-system   coredns-78fcdf6894-vl9jf              0/1       Pending   0          2h
kube-system   etcd-beetlejuice                      1/1       Running   0          2h
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          2h
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          2h
kube-system   kube-proxy-bjdqd                      1/1       Running   0          2h
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          2h

Apa yang Anda harapkan terjadi?

coredns berubah menjadi status 'Running' dan kubernetes berjalan tanpa masalah

Bagaimana cara memperbanyaknya (seminimal dan setepat mungkin)?

Ini adalah skrip yang saya gunakan untuk instalasi:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF

apt-get update
apt-get install -y docker.io
apt-get install -y kubeadm

kubeadm init --pod-network-cidr=10.27.0.0/16

Ada hal lain yang perlu kami ketahui?

Saya pikir ya, tapi saya tidak tahu apa ... Jika Anda membutuhkan semacam log, beri tahu saya.

kinbug prioritawaiting-more-evidence prioritimportant-soon

Komentar yang paling membantu

sayang sekali tidak ada log dari penjadwal.

Isi dari /var/lib/kubelet/kubeadm-flags.env adalah

bendera --resolv-conf tampaknya ditambahkan, jadi tidak apa-apa.

Sekarang ini akan menjadi satu node kube.

panggil kubeadm reset dan kemudian kubeadm init ... lagi.
lalu salin konfigurasi ke direktori pengguna Anda dan coba instal plugin jaringan pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

dan lihat apakah pod dns sudah siap. ini mungkin tidak masuk akal, tapi tolong mencobanya.

Semua 18 komentar

@segitigacrot
keluaran dari:
kubectl describe pod <coredns-pod-ids>

dan kesalahan yang relevan dari:

'systemctl status kubelet'
'journalctl -xeu kubelet'

akan lebih membantu.
Terima kasih.

Dari kubectl describe pod coredns-78fcdf6894-kgg8d -n kube-system :

Name:           coredns-78fcdf6894-kgg8d
Namespace:      kube-system
Node:           <none>
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Pending
IP:             
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
coredns:
    Image:       k8s.gcr.io/coredns:1.1.3
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
    -conf
    /etc/coredns/Corefile
    Limits:
    memory:  170Mi
    Requests:
    cpu:        100m
    memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Environment:  <none>
    Mounts:
    /etc/coredns from config-volume (ro)
    /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-4fqm7 (ro)
Conditions:
Type           Status
PodScheduled   False 
Volumes:
config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
coredns-token-4fqm7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-4fqm7
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly
                node-role.kubernetes.io/master:NoSchedule
                node.kubernetes.io/not-ready:NoExecute for 300s
                node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason            Age                 From               Message
----     ------            ----                ----               -------
Warning  FailedScheduling  4m (x1436 over 4h)  default-scheduler  0/1 nodes are available: 1 node(s) were not ready.

dan dari kubectl describe pod coredns-78fcdf6894-vl9jf -n kube-system :

Name:           coredns-78fcdf6894-vl9jf
Namespace:      kube-system
Node:           <none>
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Pending
IP:             
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
coredns:
    Image:       k8s.gcr.io/coredns:1.1.3
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
    -conf
    /etc/coredns/Corefile
    Limits:
    memory:  170Mi
    Requests:
    cpu:        100m
    memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Environment:  <none>
    Mounts:
    /etc/coredns from config-volume (ro)
    /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-4fqm7 (ro)
Conditions:
Type           Status
PodScheduled   False 
Volumes:
config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
coredns-token-4fqm7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-4fqm7
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly
                node-role.kubernetes.io/master:NoSchedule
                node.kubernetes.io/not-ready:NoExecute for 300s
                node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason            Age                 From               Message
----     ------            ----                ----               -------
Warning  FailedScheduling  1m (x1467 over 4h)  default-scheduler  0/1 nodes are available: 1 node(s) were not ready.

Saya tidak melihat kesalahan dalam systemctl status kubelet , berikut adalah keluaran lengkapnya:

● kubelet.service - kubelet: The Kubernetes Node Agent
Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kubelet.service.d
        └─10-kubeadm.conf, override.conf
Active: active (running) since Mon 2018-07-09 17:43:53 CEST; 4h 7min ago
    Docs: http://kubernetes.io/docs/
Main PID: 26710 (kubelet)
    Tasks: 32 (limit: 4915)
CGroup: /system.slice/kubelet.service
        └─26710 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-co

di journalctl -xeu kubelet Saya melihat baris follwing beberapa kali:

Jul 09 21:54:48 beetlejuice kubelet[26710]: E0709 21:54:48.883071   26710 kubelet.go:2112] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninit
Jul 09 21:54:49 beetlejuice kubelet[26710]: E0709 21:54:49.566069   26710 dns.go:131] Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 213.133.99.99 213.133.98.98 213.133.100.100
Jul 09 21:54:53 beetlejuice kubelet[26710]: W0709 21:54:53.884846   26710 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

fyi, /etc/resolv.conf :

### Hetzner Online GmbH installimage
# nameserver config
nameserver 213.133.99.99
nameserver 213.133.98.98
nameserver 213.133.100.100
nameserver 2a01:4f8:0:1::add:1010
nameserver 2a01:4f8:0:1::add:9999
nameserver 2a01:4f8:0:1::add:9898

dimana Hetzner adalah nama operator pusat data.

@segitigacrot
penjadwal gagal tetapi tidak jelas bagi saya mengapa.

Anda dapat menemukan ID pod kube-scheduler dengan
kubectl get pods --all-namespace

maka Anda dapat mencoba ini untuk memulai terminal di pod itu:
kubectl exec -ti <POD-ID-HERE> bash -n kube-system

dan dari sana Anda dapat mencoba melihat log:
cat /var/log

tidak ada jaminan bahwa itu memiliki sesuatu yang relevan.

beberapa hal lainnya:

  • apakah Anda memasang pod-network setelah init (bertanya untuk berjaga-jaga)?
  • setelah init konten apa yang Anda dapatkan di /var/lib/kubelet/kubeadm-flags.env ?

kubectl exec -ti kube-scheduler-beetlejuice bash -n kube-system mengatakan

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown command terminated with exit code 126

jadi saya mencoba kubectl exec -ti kube-scheduler-beetlejuice sh -n kube-system jadi sh bukannya bash ... tetapi tidak ada file /var/log

ls -lAh /var :

drwxr-xr-x    3 root     root        4.0K May 22 17:00 spool
drwxr-xr-x    2 root     root        4.0K May 22 17:00 www

Sekarang ini akan menjadi satu node kube.

Isi dari /var/lib/kubelet/kubeadm-flags.env adalah

KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni --resolv-conf=/run/systemd/resolve/resolv.conf

sayang sekali tidak ada log dari penjadwal.

Isi dari /var/lib/kubelet/kubeadm-flags.env adalah

bendera --resolv-conf tampaknya ditambahkan, jadi tidak apa-apa.

Sekarang ini akan menjadi satu node kube.

panggil kubeadm reset dan kemudian kubeadm init ... lagi.
lalu salin konfigurasi ke direktori pengguna Anda dan coba instal plugin jaringan pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

dan lihat apakah pod dns sudah siap. ini mungkin tidak masuk akal, tapi tolong mencobanya.

setelah pod inisialisasi baru terlihat seperti ini (lagi):

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-lcmg6              0/1       Pending   0          1m
kube-system   coredns-78fcdf6894-wd9nt              0/1       Pending   0          1m
kube-system   etcd-beetlejuice                      1/1       Running   0          18s
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          36s
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          12s
kube-system   kube-proxy-zrhgj                      1/1       Running   0          1m
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          24s

setelah menginstal plugin weave akan terlihat seperti ini:

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-lcmg6              1/1       Running   0          2m
kube-system   coredns-78fcdf6894-wd9nt              1/1       Running   0          2m
kube-system   etcd-beetlejuice                      1/1       Running   0          1m
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          1m
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          58s
kube-system   kube-proxy-zrhgj                      1/1       Running   0          2m
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          1m
kube-system   weave-net-ldxg5                       2/2       Running   0          24s

sekarang berhasil 👍

Saya menginstal kubernetes-dashboard sekarang tanpa masalah, ini tidak berfungsi sebelumnya. Tapi apakah ini solusi untuk masalah ini?

terima kasih telah mengujinya.

Tapi apakah ini solusi untuk masalah ini?

saya akan mengatakan - ya, untuk saat ini.

baik CLI dan dokumentasinya menginstruksikan pengguna untuk menginstal plugin pod-network tepat setelah init .
kami belum mendokumentasikan dengan tepat apa yang terjadi adalah langkah ini dilewati, tetapi diharapkan cluster tidak akan berfungsi dengan baik ...

jika seseorang merasa masalah ini tidak harus ditutup, buka kembali.

Saya memiliki masalah yang sebenarnya , meskipun plugin weave tidak berhasil. Saya masih melihat pod coredns di status ContainerCreating . Sudah hampir satu jam sekarang, jadi ...

linux-uwkw:~ # kubectl cluster-info
Kubernetes master is running at https://192.168.178.163:6443
KubeDNS is running at https://192.168.178.163:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
linux-uwkw:~ # cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni
  • bendera --resolv-conf hilang. Jadi saya rasa ini adalah masalah. Bagaimana saya dapat mengkonfigurasi kubeqdm untuk menambahkannya?
  • --cni-bin-dir=/opt/cni/bin salah. Dalam sistem saya, saya tidak memiliki ini.
linux-uwkw:~ # rpm -ql cni
/etc/cni
/etc/cni/net.d
/etc/cni/net.d/99-loopback.conf.sample
/usr/lib/cni
/usr/lib/cni/noop
/usr/sbin/cnitool
/usr/share/doc/packages/cni
/usr/share/doc/packages/cni/CONTRIBUTING.md
/usr/share/doc/packages/cni/DCO
/usr/share/doc/packages/cni/README.md
/usr/share/licenses/cni
/usr/share/licenses/cni/LICENSE

Saya kira saya harus meletakkan di sana /usr/sbin , bukan?

Juga log dari penjadwal adalah:

linux-uwkw:~ # docker logs k8s_kube-scheduler_kube-scheduler-linux-uwkw_kube-system_a00c35e56ebd0bdfcd77d53674a5d2a1_0
I0813 21:18:19.816990       1 server.go:126] Version: v1.11.2
W0813 21:18:19.821719       1 authorization.go:47] Authorization is disabled
W0813 21:18:19.821744       1 authentication.go:55] Authentication is disabled
I0813 21:18:19.821787       1 insecure_serving.go:47] Serving healthz insecurely on 127.0.0.1:10251
E0813 21:18:25.603025       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolume: persistentvolumes is forbidden: User "system:kube-scheduler" cannot list persistentvolumes at the cluster scope
E0813 21:18:25.603122       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.ReplicationController: replicationcontrollers is forbidden: User "system:kube-scheduler" cannot list replicationcontrollers at the cluster scope
E0813 21:18:25.603161       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Service: services is forbidden: User "system:kube-scheduler" cannot list services at the cluster scope
E0813 21:18:25.603253       1 reflector.go:205] k8s.io/kubernetes/cmd/kube-scheduler/app/server.go:176: Failed to list *v1.Pod: pods is forbidden: User "system:kube-scheduler" cannot list pods at the cluster scope
E0813 21:18:25.603286       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.StorageClass: storageclasses.storage.k8s.io is forbidden: User "system:kube-scheduler" cannot list storageclasses.storage.k8s.io at the cluster scope
E0813 21:18:25.603335       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolumeClaim: persistentvolumeclaims is forbidden: User "system:kube-scheduler" cannot list persistentvolumeclaims at the cluster scope
E0813 21:18:25.603364       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.StatefulSet: statefulsets.apps is forbidden: User "system:kube-scheduler" cannot list statefulsets.apps at the cluster scope
E0813 21:18:25.603437       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:kube-scheduler" cannot list poddisruptionbudgets.policy at the cluster scope
E0813 21:18:25.603491       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.ReplicaSet: replicasets.extensions is forbidden: User "system:kube-scheduler" cannot list replicasets.extensions at the cluster scope
E0813 21:18:25.605642       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Node: nodes is forbidden: User "system:kube-scheduler" cannot list nodes at the cluster scope
E0813 21:18:26.603723       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolume: persistentvolumes is forbidden: User "system:kube-scheduler" cannot list persistentvolumes at the cluster scope
E0813 21:18:26.606225       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Service: services is forbidden: User "system:kube-scheduler" cannot list services at the cluster scope
E0813 21:18:26.606295       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.ReplicationController: replicationcontrollers is forbidden: User "system:kube-scheduler" cannot list replicationcontrollers at the cluster scope
E0813 21:18:26.607860       1 reflector.go:205] k8s.io/kubernetes/cmd/kube-scheduler/app/server.go:176: Failed to list *v1.Pod: pods is forbidden: User "system:kube-scheduler" cannot list pods at the cluster scope
E0813 21:18:26.611457       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.StorageClass: storageclasses.storage.k8s.io is forbidden: User "system:kube-scheduler" cannot list storageclasses.storage.k8s.io at the cluster scope
E0813 21:18:26.612777       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolumeClaim: persistentvolumeclaims is forbidden: User "system:kube-scheduler" cannot list persistentvolumeclaims at the cluster scope
E0813 21:18:26.616076       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.StatefulSet: statefulsets.apps is forbidden: User "system:kube-scheduler" cannot list statefulsets.apps at the cluster scope
E0813 21:18:26.616779       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:kube-scheduler" cannot list poddisruptionbudgets.policy at the cluster scope
E0813 21:18:26.619308       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.ReplicaSet: replicasets.extensions is forbidden: User "system:kube-scheduler" cannot list replicasets.extensions at the cluster scope
E0813 21:18:26.620048       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Node: nodes is forbidden: User "system:kube-scheduler" cannot list nodes at the cluster scope
I0813 21:18:28.429769       1 controller_utils.go:1025] Waiting for caches to sync for scheduler controller
I0813 21:18:28.533687       1 controller_utils.go:1032] Caches are synced for scheduler controller
I0813 21:18:28.533868       1 leaderelection.go:185] attempting to acquire leader lease  kube-system/kube-scheduler...
I0813 21:18:28.539621       1 leaderelection.go:194] successfully acquired lease kube-system/kube-scheduler

Saya memiliki masalah yang tepat

saya tidak berpikir itu adalah masalah yang sama.

KubeDNS dijalankan pada

CoreDNS adalah server dns default di 1.11.x. apakah Anda mengaktifkannya dengan sengaja?

cat /var/lib/kubelet/kubeadm-flags.env

/var/lib/kubelet/kubeadm-flags.env dihasilkan secara otomatis pada runtime kubeadm dan tidak boleh diedit.
Anda dapat menambahkan bendera di /etc/default/kubelet

lihat infonya disini:
https://github.com/kubernetes/kubernetes/blob/master/build/debs/10-kubeadm.conf

bendera --resolv-conf hilang.

itu hanya akan ditambahkan jika distro Anda menggunakan ini:
https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

--cni-bin-dir = / opt / cni / bin --cni-conf-dir = / etc / cni / net.d

ini adalah nilai default, tetapi AFAIK ini tidak boleh ditambahkan secara otomatis saat runtime.

sulit untuk mengatakan apa masalahnya dalam kasus Anda.
lebih baik buka masalah baru dan ikuti templat laporan masalah.

Saya menemukan masalah saya setelah semua. Saya kehilangan biner loopback CNI di /opt/cni/bin .

cd /opt/cni/bin
curl -L -O https://github.com/containernetworking/cni/releases/download/v0.4.0/cni-amd64-v0.4.0.tgz
tar -xf cni-amd64-v0.4.0.tgz
systemctl restart kubelet

Saya menemui masalah yang sama dan menyelesaikannya dengan memasang kain flanel. Setelah memasang flanel, coredns dan pod lainnya dapat dibuat dengan benar.

Mengapa memasang kain flanel bisa menyelesaikan masalah?

Saya juga memasukkan cluster K8s saya menggunakan kubeadm dan menambahkan --pod-network-cidr arg. Jadi menurut saya jika flanel atau add-on jaringan pod lainnya tidak diinstal, kubelet tidak dapat mengetahui cara menetapkan ip ke pod dan membuang kesalahan.

Anda mengatakan bahwa Anda melihat pesan berikut menggunakan journal -xeu kubelet :

26710 kubelet.go:2112] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninit
Jul 09 21:54:49 beetlejuice kubelet[26710]: E0709 21:54:49.566069   26710 dns.go:131] Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 213.133.99.99 213.133.98.98 213.133.100.100
Jul 09 21:54:53 beetlejuice kubelet[26710]: W0709 21:54:53.884846   26710 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

Saya juga melihat log serupa di komputer saya, jadi menurut saya inilah penyebab masalahnya.

Mengapa memasang kain flanel bisa menyelesaikan masalah?

plugin CNI harus diinstal:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm
Installing a pod network add-on
You must install a pod network add-on so that your pods can communicate with each other.

plugin CNI harus diinstal:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm

Core saya tidak dapat dijalankan karena add-on jaringan pod tidak diinstal setelah memasukkan kubernetes dan sekarang saya mengetahuinya, terima kasih.

sayang sekali tidak ada log dari penjadwal.

Isi dari /var/lib/kubelet/kubeadm-flags.env adalah

bendera --resolv-conf tampaknya ditambahkan, jadi tidak apa-apa.

Sekarang ini akan menjadi satu node kube.

panggil kubeadm reset dan kemudian kubeadm init ... lagi.
lalu salin konfigurasi ke direktori pengguna Anda dan coba instal plugin jaringan pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

dan lihat apakah pod dns sudah siap. ini mungkin tidak masuk akal, tapi tolong mencobanya.

itu berhasil untuk saya! Terima kasih banyak

sayang sekali tidak ada log dari penjadwal.

Isi dari /var/lib/kubelet/kubeadm-flags.env adalah

bendera --resolv-conf tampaknya ditambahkan, jadi tidak apa-apa.

Sekarang ini akan menjadi satu node kube.

panggil kubeadm reset dan kemudian kubeadm init ... lagi.
lalu salin konfigurasi ke direktori pengguna Anda dan coba instal plugin jaringan pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

dan lihat apakah pod dns sudah siap. ini mungkin tidak masuk akal, tapi tolong mencobanya.

serviceaccount / weave-net dikonfigurasi
clusterrole.rbac.authorization.k8s.io/weave-net dikonfigurasi
clusterrolebinding.rbac.authorization.k8s.io/weave-net dikonfigurasi
role.rbac.authorization.k8s.io/weave-net dikonfigurasi
rolebinding.rbac.authorization.k8s.io/weave-net dikonfigurasi
tidak dapat mengenali tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"

Tidak dapat mengonfigurasi

tidak dapat mengenali tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"

itu bug di sisi plugin CNI.
coba plugin Callico CNI sebagai gantinya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat