Kubernetes: plugin jaringan belum siap: cni config tidak diinisialisasi

Dibuat pada 12 Jul 2017  ·  75Komentar  ·  Sumber: kubernetes/kubernetes

Halo, saya ingin melakukan penginstalan baru kubernetes melalui kubeadm, tetapi ketika saya memulai penginstalan, saya terhenti

[apiclient] Created API client, waiting for the control plane to become ready

Ketika saya melakukan journalctl -xe saya melihat:

Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

Dan saya tidak mengapa saya mendapatkan kesalahan ini. Saya juga mencoba menonaktifkan firewalld tetapi tidak berpengaruh.

Lingkungan :

  • Versi Kubernetes (gunakan kubectl version ): v1.7.0
  • Penyedia cloud atau konfigurasi perangkat keras **:
  • OS (misalnya dari / etc / os-release): CentOS 7
  • Kernel (misalnya uname -a ): 3.10.0-514.26.2.el7.x86_64
  • Instal alat: Kubeadm
  • Lainnya:
    versi buruh pelabuhan: Docker version 17.06.0-ce, build 02c1d87
    Versi RPM saya:

kubeadm-1.7.0, kubectl-1.7.0, kubelet-1.7.0, kubernetes-cni-0.5.1

Terima kasih atas bantuan Anda

arekubeadm kinbug sinetwork

Komentar yang paling membantu

flanneld membutuhkan perbaikan untuk k8s 1.12.
Gunakan PR ini (sampai akan disetujui):
kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
ini masalah yang diketahui: https://github.com/coreos/flannel/issues/1044

Semua 75 komentar

@PLoic Tidak ada label sig tentang masalah ini. Harap tambahkan label sig dengan:
(1) menyebutkan tanda: @kubernetes/sig-<team-name>-misc
misal, @kubernetes/sig-api-machinery-* untuk Mesin API
(2) menentukan label secara manual: /sig <label>
misal, /sig scalability untuk sig / skalabilitas

_Note: method (1) akan memicu pemberitahuan ke tim. Anda dapat menemukan daftar tim di sini dan daftar label di sini _

/ area [kubeadm]

@PLoic Anda mendapatkan kesalahan ini karena tidak ada jaringan CNI yang ditentukan di /etc/cni/net.d dan Anda tampaknya menggunakan plugin jaringan CNI. Sesuatu harus menulis file konfigurasi ke direktori itu untuk memberi tahu driver CNI cara mengkonfigurasi jaringan. Saya tidak yakin apa / bagaimana kubeadm melakukan itu, jadi saya akan menyerahkannya kepada @jbeda atau orang kubeadm lainnya.

xref: # 43567

@dcbw Hai dcbw, Lingkungan sama dengan @PLoic , tapi saya mendapatkan kesalahan yang sama

Tampaknya berfungsi dengan menghapus $KUBELET_NETWORK_ARGS di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

menghapus $ KUBELET_NETWORK_ARGS tidak bekerja dengan saya.

@PLoic juga tidak bekerja dengan saya

@PLoic pada langkah 3 jaringan pod manakah yang Anda instal? Ada berbagai pilihan, dan pemecahan masalah setelahnya tergantung pada kasus tertentu.

@PLoic juga, log kubelet akan sangat bagus

coba terapkan plugin ini: kubectl apply --filename https://git.io/weave-kube-1.6
itu berhasil untuk saya.

@PLoic @dcbw Saya menginstal plugin flanel k8s (1.7) masih mendapatkan kesalahan yang sama, Bisakah Anda memberikan solusi?

14 Jul 17:57:20 node2 kubelet: W0714 17: 57: 20.540849 17504 cni.go: 189] Tidak dapat memperbarui konfigurasi cni: Tidak ada jaringan yang ditemukan di /etc/cni/net.d
14 Jul 17:57:20 node2 kubelet: E0714 17: 57: 20.541001 17504 kubelet.go: 2136] Jaringan runtime container tidak siap: NetworkReady = salah alasan: NetworkPluginNotReady pesan: docker : plugin jaringan tidak siap: konfigurasi cni tidak diinisialisasi
14 Jul 17:57:23 node2 kubelet: I0714 17: 57: 23.032330 17504 kubelet.go: 1820] melewatkan sinkronisasi pod - [Gagal memulai ContainerManager versi systemd tidak mendukung kemampuan untuk memulai slice sebagai unit sementara]

Maaf atas keterlambatannya, saya menggunakan Weave, saya akan mencoba memperbarui kubernetes ke 1.7.1 dan dengan versi baru weave

Saya memperbarui semua komponen saya dan tampaknya berfungsi! :)

Bolehkah menutup masalah ini

@cmluciano Ya, menurut saya tidak masalah untuk menutup masalah ini

Menghapus $ KUBELET_NETWORK_ARGS di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf cocok untuk saya.
Terima kasih @PLoic

Perhatikan bahwa KUBELET_NETWORK_ARGS adalah yang memberi tahu kubelet jenis plugin jaringan apa yang diharapkan. Jika Anda menghapusnya maka kubelet tidak mengharapkan adanya plugin, dan oleh karena itu Anda mendapatkan apa pun yang diberikan oleh runtime container yang mendasarinya: biasanya jaringan "jembatan" Docker.

Ini bagus dalam beberapa kasus, terutama jika Anda hanya memiliki satu mesin. Ini tidak membantu jika Anda benar-benar ingin menggunakan CNI.

Saya melihat kesalahan yang sama persis dengan kubeadm, di mana kesalahan itu terjadi selamanya di:

[apiclient] Created API client, waiting for the control plane to become ready

Dalam "journalctl -r -u kubelet" saya melihat baris-baris ini berulang kali:
Aug 31 16:34:41 k8smaster1 kubelet[8876]: E0831 16:34:41.499982 8876 kubelet.go:2136] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized Aug 31 16:34:41 k8smaster1 kubelet[8876]: W0831 16:34:41.499746 8876 cni.go:189] Unable to update cni config: No networks found in /etc/cni/net.d

Rincian versi adalah:
`kubeadm version: & version.Info {Major:" 1 ", Minor:" 7 ", GitVersion:" v1.7.4 ", GitCommit:" 793658f2d7ca7f064d2bdf606519f9fe1229c381 ", GitTreeState:" clean ", BuildDate:" 2017-08-17T08: 30 : 51Z ", GoVersion:" go1.8.3 ", Penyusun:" gc ", Platform:" linux / amd64 "}

Versi Kubectl: Versi Klien: version.Info {Major: "1", Minor: "7", GitVersion: "v1.7.4", GitCommit: "793658f2d7ca7f064d2bdf606519f9fe1229c381", GitTreeState: "clean", BuildDate: "2017-08-17T08 : 48: 23Z ", GoVersion:" go1.8.3 ", Penyusun:" gc ", Platform:" linux / amd64 "}`

Rincian OS adalah:
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo) Kernel: Linux 3.10.0-514.el7.x86_64 Architecture: x86-64
Bantuan apa pun sangat dihargai!

@ ashish-billore penyedia CNI apa yang Anda instal?

saya mendapatkan Unable to update cni config: No networks found in /etc/cni/net.d dengan tip github terbaru dari cabang master - "v1.9.0-alpha.0.690+9aef242a4c1e42-dirty"

di ubuntu 17.04

jika saya menghapus baris ini dari 10-kubelet.conf :
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/ --cni-bin-dir=/opt/cni/bin""

kubelet dimulai, lalu saya menginstal weave-net sebagai plugin pod-network tetapi pod kube-system tidak pernah mulai (tetap dijadwalkan?).

kube-system   etcd-luboitvbox                      0/1       Pending   0          31m
kube-system   kube-apiserver-luboitvbox            0/1       Pending   0          31m
kube-system   kube-controller-manager-luboitvbox   0/1       Pending   0          31m
kube-system   kube-dns-1848271846-7mw9x            0/3       Pending   0          32m
kube-system   kube-proxy-k89jp                     0/1       Pending   0          32m
kube-system   kube-scheduler-luboitvbox            0/1       Pending   0          31m
kube-system   weave-net-v8888                      0/2       Pending   0          30m

Hal yang sama terjadi pada kain flanel.

Halo,

Sebagai informasi, saya mengalami masalah ini: Kubernetes memperkenalkan RBAC sejak v1.6, kami perlu membuat Akun Layanan yang sesuai, aturan RBAC, dan daemonset flanel sehingga kubelet dapat berkomunikasi dengan server api dengan benar.

Anda harus menjalankan:

$ kubectl create -f https://raw.githubusercontent.com/coreos/flannel/v0.9.0/Documentation/kube-flannel.yml

Saya harap ini membantu.

Hai teman-teman, mengapa masalah ini ditutup? Sepertinya tidak ada solusi?

Saya melihat ini saat mencoba menginstal cluster k8 dengan plugin Weave CNI.

@vinayvenkat masalah ditutup karena OP diperbarui dan masalah hilang.

Karena Kubernetes, dan khususnya jaringan, sangat kompleks dan beragam, Anda tidak boleh berasumsi bahwa masalah yang kelihatannya serupa sebenarnya sama. Buka masalah baru dan berikan detail lengkap tentang situasi khusus Anda di sana.

Jika masalah Anda ada pada Weave Net, Anda bisa mendapatkan jawaban yang lebih fokus di https://github.com/weaveworks/issues/new , atau di komunitas Weave Slack.

Saya juga mengalami masalah yang sama. Tapi itu bukan kesalahan fatal saat menginstal k8s.
Masalahnya mungkin Anda kubelet menggunakan cgroup systemd yang berbeda dengan cgroup milik buruh pelabuhan, sesuaikan kubelet dan buruh pelabuhan, jalankan lagi kubeadm, mungkin berjalan dengan baik.
berharap dapat membantu Anda.

OS (misalnya dari / etc / os-release): CentOS 7

Jika Anda melihat direktori /etc/cni/net.d pada node kosong meskipun Pod Penyedia Jaringan sedang berjalan di atasnya, coba setenforce 0 dan hapus pod Penyedia Jaringan Pod. k8s akan memulai ulang dan, semoga, sekarang dapat menyalin konfigurasinya.

jangan lupa untuk me-restart kubelet ...
menghapus $ KUBELET_NETWORK_ARGS di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl mengaktifkan kubelet && systemctl mulai kubelet
lalu gabungkan kembali node tersebut
cara ini bekerja dengan baik untuk saya ~

Hai,

Jika Anda berkomentar $ KUBELET_NETWORK_ARGS di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf dan restart service / sever atau jika Anda kubeadm reset dan bergabung lagi / kubeadm init untuk membuat ulang cluster
dan bergabung dengan node lagi,

pod akan berada dalam status berjalan tetapi jika Anda mendeskripsikan kube-dns pod, Anda akan melihat

Peringatan Tidak Sehat 1m (x4 di atas 2m) kubelet, master Pemeriksaan kesiapan gagal: Dapatkan http://172.17.0.2 : 8081 / kesiapan: dial tcp 172.17.0.2:8081: getsockopt: koneksi ditolak

output lengkapnya seperti di bawah ini.

Acara:
Ketik Alasan Usia Dari Pesan
---- ------ ---- ---- -------
Normal Terjadwal 10m default-scheduler Berhasil menetapkan kube-dns-6f4fd4bdf-qxmzn ke master
Normal SuccessfulMountVolume 10m kubelet, master MountVolume.SetUp berhasil untuk volume "kube-dns-token-47fpd"
Normal SuccessfulMountVolume 10m kubelet, master MountVolume.SetUp berhasil untuk volume "kube-dns-config"
Normal Menarik kubelet 10m, master menarik gambar "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7"
Normal Ditarik 10 m kubelet, master Berhasil menarik gambar "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7"
Normal Dibuat 10m kubelet, master Membuat container
Normal Memulai 10m kubelet, master Memulai container
Normal Menarik kubelet 10m, master menarik gambar "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7"
Normal Ditarik 10m kubelet, master Berhasil menarik gambar "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7"
Normal Dibuat 10m kubelet, master Membuat container
Normal Memulai 10m kubelet, master Memulai container
Normal Menarik kubelet 10m, master menarik gambar "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7"
Normal Ditarik 10m kubelet, master Berhasil menarik gambar "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7"
Normal Dibuat 10m kubelet, master Membuat container
Normal Memulai 10m kubelet, master Memulai container
Normal SuccessfulMountVolume 2m kubelet, master MountVolume.SetUp berhasil untuk volume "kube-dns-token-47fpd"
Normal SuccessfulMountVolume 2m kubelet, master MountVolume.SetUp berhasil untuk volume "kube-dns-config"
Normal SandboxMengubah 2m kubelet, master Pod sandbox diubah, itu akan dimatikan dan dibuat ulang.
Normal Ditarik kubelet 2m, master Gambar kontainer "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7" sudah ada di mesin
Normal Dibuat 2m kubelet, master Membuat container
Normal Memulai 2m kubelet, master Memulai container
Normal Dibuat 2m kubelet, master Membuat container
Normal Pulled 2m kubelet, master Container image "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7" sudah ada di mesin
Normal Memulai 2m kubelet, master Memulai container
Normal Pulled 2m kubelet, master Container image "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7" sudah ada di mesin
Normal Dibuat 2m kubelet, master Membuat container
Normal Memulai 2m kubelet, master Memulai container
Peringatan Tidak Sehat 1m (x4 di atas 2m) kubelet, master Pemeriksaan kesiapan gagal: Dapatkan http://172.17.0.2 : 8081 / kesiapan: dial tcp 172.17.0.2:8081: getsockopt: koneksi ditolak

buruh pelabuhan @ master : ~ $ kubectl get pods --namespace = kube-system
NAMA SIAP STATUS RESTARTS USIA
etcd-master 1/1 Lari 1 14m
kube-apiserver-master 1/1 Lari 1 14m
kube-controller-manager-master 1/1 Menjalankan 1 14m
kube-dns-6f4fd4bdf-qxmzn 3/3 Berjalan 3 15m
kube-proxy-d54fk 1/1 Menjalankan 1 15m
kube-scheduler-master 1/1 Berjalan 1 14m

Belum ada yang menyebut SELinux. Saya mendapatkan kesalahan ini saat menjalankan kubeadm join pada mesin Centos 7 dengan SELinux dalam mode Penegakan. Menyetel setenforce 0 dan menjalankan kembali kubeadm memperbaiki masalah saya.

Terima kasih setenforce 0 berhasil untuk saya.

1. $ KUBELET_NETWORK_ARGS mengambil, tidak menyelesaikan masalah
2. memperkuat 0
3. systemctl menghentikan firewalld
4. driver cgroups doktor
sesuai
tapi, Anda tahu masalahnya masih ada.


20 Mei 20:10:45 k8s kubelet: I0520 20: 10: 45.244383 17638 kubelet.go: 1794] melewatkan sinkronisasi pod - [runtime kontainer tidak aktif]
20 Mei 20:10:45 k8s kubelet: E0520 20: 10: 45.920981 17638 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:460: Gagal mendaftar * v1.Node: Dapatkan https: //192.168.18.90 : 6443 / api / v1 / node? FieldSelector = metadata.name% 3Dk8s.master.com & limit = 500 & resourceVersion = 0: panggil tcp 192.168.18.90:6443: getsockopt: koneksi ditolak
20 Mei 20:10:45 k8s kubelet: E0520 20: 10: 45.924021 17638 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:451: Gagal mendaftar * v1. Layanan: Dapatkan https: //192.168.18.90 : 6443 / api / v1 / services? Limit = 500 & resourceVersion = 0: dial tcp 192.168.18.90:6443: gotockopt: koneksi ditolak
20 Mei 20:10:45 k8s kubelet: E0520 20: 10: 45.935594 17638 reflector.go: 205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Gagal mendaftar * v1.Pod: Dapatkan https://192.168.18.90 : 6443 / api / v1 / pods? fieldSelector = spec.nodeName% 3Dk8s.master.com & limit = 500 & resourceVersion = 0: panggil tcp 192.168.18.90:6443: getsockopt: koneksi ditolak

23 Mei 10:19:45 arch kubelet [13585]: E0523 10: 19: 45.909458 13585 kubelet.go: 2095] Jaringan runtime kontainer tidak siap: NetworkReady = salah alasan: NetworkPluginNotReady pesan: docker : plugin jaringan tidak siap: konfigurasi cni tidak diinisialisasi
23 Mei 10:19:46 arch kubelet [13585]: E0523 10: 19: 46.002646 13585 helpers.go: 468] PercpuUsage memiliki 0 cpus, tetapi jumlah sebenarnya adalah 8; mengabaikan CPU ekstra

`sudo kubectl dapatkan node

NAMA STATUS PERAN VERSI USIA
127.0.0.1 NotReady23h v1.8.13`

Baru saja mengalami ini, dan tampaknya karena file sebenarnya kosong, berikut adalah output dari container install-cni :

$ k logs canal-25rct install-cni -n kube-system
ls: /calico-secrets: No such file or directory
Wrote Calico CNI binaries to /host/opt/cni/bin
CNI plugin version: v3.1.2
/host/secondary-bin-dir is non-writeable, skipping
CNI config: {
Created CNI config 10-calico.conflist
Done configuring CNI.  Sleep=true

Dan di /etc/cni/net.d/10-calico.conflist :

$ cat /etc/cni/net.d/10-calico.conflist 
{

Ketika saya mencoba untuk masuk ke dalam wadah (mungkin itu harus menjadi initContainer ?), Saya mendapatkan yang berikut:

$ k exec -it canal-25rct -c install-cni -n kube-system -- /bin/bash
Error: Malformed environment entry: "  "name": "k8s-pod-network",
": Success
command terminated with exit code 45

Aneh, karena versi skrip belum berubah, dan satu-satunya hal yang saya ubah baru-baru ini adalah beralih ke rkt untuk menjalankan container. Juga, ini ada di Container Linux (CoreOS) jika itu membantu sama sekali.

Halo teman-teman K8!

Saya sering mengalami masalah yang sama. Misalnya - ada yang salah selama inisialisasi K8 saya dan saya harus menggunakan kubeadm reset dan menginisialisasi K8 lagi. Setelah menjalankan perintah inisialisasi, saya masuk kubelet log kesalahan ini:

Jun 01 10:13:40 vncub0626 kubelet[18861]: I0601 10:13:40.665823   18861 kubelet.go:2102] Container runtime status: Runtime Conditions: RuntimeReady=true reason: message:, NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Jun 01 10:13:40 vncub0626 kubelet[18861]: E0601 10:13:40.665874   18861 kubelet.go:2105] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

... Saya marah karena pesan kesalahan ini - tidak ada yang membantu. Jadi saya berkata pada diri saya sendiri - pada awalnya inisialisasi berjalan tetapi inisialisasi ulang tidak. Jadi bukan karena baris ini dalam konfigurasi Kubelet: KUBELET_NETWORK_ARGS dan saya tidak setuju untuk berkomentar. Jadi saya membaca kubelet log lagi dan lagi ... dan akhirnya saya perhatikan di log pesan kesalahan berikutnya:

Jun 01 10:13:29 vncub0626 kubelet[18861]: E0601 10:13:29.376339   18861 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:465: Failed to list *v1.Service: Get https://10.96.22.11:6443/api/v1/services?limit=500&resourceVersion=0: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")

Kesalahan ini disebabkan oleh file ~/.kube/config di direktori home setelah inisialisasi sebelumnya. Setelah menghapusnya saya menjalankan inisialisasi lagi ... dan voila ... inisialisasi selesai dengan sukses. :]

... harap ini membantu orang lain karena kesalahan ini adalah mimpi buruk dan hampir tidak mungkin untuk menentukan penyebabnya.

@waldauf kamu benar !!! luar biasa !!!

jalankan perintah ikuti bekerja dengan baik

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml

versi kubeadm v1.10.3

Menghapus $ KUBELET_NETWORK_ARGS di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf cocok untuk saya.

Mengulangi untuk visibilitas:

Perhatikan bahwa KUBELET_NETWORK_ARGS adalah yang memberi tahu kubelet jenis plugin jaringan apa yang diharapkan. Jika Anda menghapusnya maka kubelet tidak mengharapkan adanya plugin, dan oleh karena itu Anda mendapatkan apa pun yang diberikan oleh runtime container yang mendasarinya: biasanya jaringan "jembatan" Docker.

Ini bagus dalam beberapa kasus, terutama jika Anda hanya memiliki satu mesin. Ini tidak membantu jika Anda benar-benar ingin menggunakan CNI.

@waldauf thx, berhasil

Hal ini saya alami saat plugin flanel saya belum diinstal dengan benar.

Saya mengikuti panduan ini hari ini (https://www.techrepublic.com/article/how-to-install-a-kubernetes-cluster-on-centos-7/) dan saya melewatkan konfigurasi cgroupfs di "/ etc / systemd /system/kubelet.service.d/10-kubeadm.conf ". Setelah saya memperbaikinya, itu bekerja seperti pesona

https://github.com/kubernetes/kubernetes/issues/48798#issuecomment -395965665

@ChinaSilence Bisakah Anda menjelaskan mengapa kita harus menggunakan flanel? Tidak bisakah kita melakukannya tanpa kain flanel?

flanel 0.10.0 dan kubernetes 1.12.0 tidak dapat bekerja sama entah bagaimana. ada yang salah dengan kubernetes 1.12.0, jadi saya telah menurunkan kubernetes ke 1.11.3 dan semuanya bekerja dengan baik.

Semoga kubernetes segera memperbaiki masalah itu.

@ bilalx20 saya dapat mengonfirmasi bahwa - flanel juga rusak untuk saya di 1,12.
apa yang dapat Anda lakukan adalah mencoba menenun atau callico, mereka berhasil.

Saya memiliki masalah ini di Ubuntu 16.04 saya dengan k8s 1.12.

Turunkan versi ke 1.11.0 dan semuanya aktif dan berjalan.

Saya memiliki masalah ini di CentOS 7.5 dengan k8s 1.12

Menghapus conf plugin cni dari /var/lib/kubelet/kubeadm-flags.env berfungsi dengan baik

flanneld membutuhkan perbaikan untuk k8s 1.12.
Gunakan PR ini (sampai akan disetujui):
kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
ini masalah yang diketahui: https://github.com/coreos/flannel/issues/1044

Saya telah mengalami masalah yang dijelaskan @ReSearchITEng dengan 1.12.1. Solusinya berhasil untuk saya.
EDIT: gores itu, salah satu node masih menunjukkan masalah yang sama setelah kubeadm join
EDIT2: masalah tidak terkait, ternyata nvidia-container-runtime tidak ada di node GPU ini. Didiagnosis menggunakan journalctl -xeu kubelet pada node buruk

TL; DR: solusinya berhasil

Mengonfirmasi bahwa solusi dari @ReSearchITEng berfungsi, saya tidak memiliki node master saya dalam status berjalan dan flanel sudah habis.

Untuk berjaga-jaga jika ada yang mencari ini di Google. Saya memiliki masalah yang sama, dalam kasus saya, proses cloud-init menyetel opsi NM_CONTROLLED di / etc / sysconfig / network-scripts / ifcfg- {interface-name} ke no.
Opsi ini harus disetel ke yes agar NetworkManager membuat file resolv.conf yang diperlukan untuk pod sdn.

Saya telah gagal untuk benar-benar menerapkan manifes menenun, oleh karena itu, tidak ada plugin jaringan yang diinisialisasi.
Catatan untuk diri sendiri: Baca seluruh manual instalasi Weave sebelum mencari jawaban di tempat lain: +1:

flanneld membutuhkan perbaikan untuk k8s 1.12.
Gunakan PR ini (sampai akan disetujui):
kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
itu masalah yang diketahui: coreos / flannel # 1044

Tambahan:
Saya pikir masalah ini disebabkan oleh kuberadm init coredns pertama tetapi bukan flanel init, jadi itu melempar "plugin jaringan belum siap: cni config tidak diinisialisasi".
Larutan:

  1. Instal flanel dengan kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
  2. Setel ulang pod inti
    kubectl delete coredns-xx-xx
  3. Kemudian jalankan kubectl get pods untuk melihat apakah berhasil.

jika Anda melihat kesalahan ini "cni0" sudah memiliki alamat IP yang berbeda dari 10.244.1.1/24 ".
ikuti ini:

ifconfig  cni0 down
brctl delbr cni0
ip link delete flannel.1

jika Anda melihat kesalahan ini "Back-off restart container gagal", dan Anda bisa mendapatkan log dengan

root<strong i="28">@master</strong>:/home/moonx/yaml# kubectl logs coredns-86c58d9df4-x6m9w -n=kube-system
.:53
2019-01-22T08:19:38.255Z [INFO] CoreDNS-1.2.6
2019-01-22T08:19:38.255Z [INFO] linux/amd64, go1.11.2, 756749c
CoreDNS-1.2.6
linux/amd64, go1.11.2, 756749c
 [INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
 [FATAL] plugin/loop: Forwarding loop detected in "." zone. Exiting. See https://coredns.io/plugins/loop#troubleshooting. Probe query: "HINFO 1599094102175870692.6819166615156126341.".

Kemudian Anda dapat melihat file "/etc/resolv.conf" pada node yang gagal, jika nameserver adalah localhost maka akan ada loopback. Ubah ke:

#nameserver 127.0.1.1
nameserver 8.8.8.8

Anda menambahkan --network-plugin = cni di kueblet start conf
di sistem saya:
1.vim /etc/systemd/system/kubelet.service
2. hapus --network-plugin = cni
3. restart kubelet (systemctl daemon-reload; systemctl restart kubelet)

silahkan lakukan 3 langkah, di sistem anda, mungkin installtion anda berbeda dengan saya, silahkan lakukan seperti ini

@mdzddl Anda menghapus --network-plugin = cni karena kubelet mengeluh tentang cni? Tidak begitu pintar. Menghapus plugin jaringan default tidak disarankan sama sekali.

flanneld membutuhkan perbaikan untuk k8s 1.12.
Gunakan PR ini (sampai akan disetujui):
kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
itu masalah yang diketahui: coreos / flannel # 1044

Bekerja untuk saya!

@mdzddl Anda menghapus --network-plugin = cni karena kubelet mengeluh tentang cni? Tidak begitu pintar. Menghapus plugin jaringan default tidak disarankan sama sekali.

Lalu apa solusinya

flanneld membutuhkan perbaikan untuk k8s 1.12.
Gunakan PR ini (sampai akan disetujui):
kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
itu masalah yang diketahui: coreos / flannel # 1044

Tambahan:
Saya pikir masalah ini disebabkan oleh kuberadm init coredns pertama tetapi bukan flanel init, jadi itu melempar "plugin jaringan belum siap: cni config tidak diinisialisasi".
Larutan:

  1. Instal flanel dengan kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
  2. Setel ulang pod inti
    kubectl delete coredns-xx-xx
  3. Kemudian jalankan kubectl get pods untuk melihat apakah berhasil.

jika Anda melihat kesalahan ini "cni0" sudah memiliki alamat IP yang berbeda dari 10.244.1.1/24 ".
ikuti ini:

ifconfig  cni0 down
brctl delbr cni0
ip link delete flannel.1

jika Anda melihat kesalahan ini "Back-off restart container gagal", dan Anda bisa mendapatkan log dengan

root<strong i="29">@master</strong>:/home/moonx/yaml# kubectl logs coredns-86c58d9df4-x6m9w -n=kube-system
.:53
2019-01-22T08:19:38.255Z [INFO] CoreDNS-1.2.6
2019-01-22T08:19:38.255Z [INFO] linux/amd64, go1.11.2, 756749c
CoreDNS-1.2.6
linux/amd64, go1.11.2, 756749c
 [INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
 [FATAL] plugin/loop: Forwarding loop detected in "." zone. Exiting. See https://coredns.io/plugins/loop#troubleshooting. Probe query: "HINFO 1599094102175870692.6819166615156126341.".

Kemudian Anda dapat melihat file "/etc/resolv.conf" pada node yang gagal, jika nameserver adalah localhost maka akan ada loopback. Ubah ke:

#nameserver 127.0.1.1
nameserver 8.8.8.8

kubectl -n kube-system apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
clusterrole.rbac.authorization.k8s.io/flannel dibuat
clusterrolebinding.rbac.authorization.k8s.io/flannel dibuat
serviceaccount / flannel dibuat
configmap / kube-flannel-cfg dibuat
tidak dapat mengenali " https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml ": tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"
tidak dapat mengenali " https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml ": tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"
tidak dapat mengenali " https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml ": tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"
tidak dapat mengenali " https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml ": tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"
tidak dapat mengenali " https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml ": tidak ada kecocokan untuk jenis "DaemonSet" dalam versi "extensions / v1beta1"

Melempar kesalahan seperti di atas

flanel belum memperbarui manifesnya untuk mematuhi perubahan terbaru pada k8s 1.16.
coba plugin CNI yang berbeda, seperti Calico atau WeaveNet.

... atau tambal manifes flanel agar menggunakan apps/v1 alih-alih extensions/v1beta1

Saya memiliki masalah ini di Ubuntu 16.04 dengan k8s 1.16 (Saya menjalankan ubuntu di gelandangan)

Menghapus conf plugin cni dari /var/lib/kubelet/kubeadm-flags.env berfungsi dengan baik

flanel belum memperbarui manifesnya untuk mematuhi perubahan terbaru pada k8s 1.16.
coba plugin CNI yang berbeda, seperti Calico atau WeaveNet.
...
... atau tambal manifes flanel agar menggunakan apps / v1 sebagai ganti extension / v1beta1

Itu telah diperbaiki beberapa waktu lalu, tetapi tautan dalam dokumentasi Kubernetes masih mengarah ke versi lama yang tidak berfungsi (https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster- kubeadm / memiliki https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml). Menggunakan "master" malah berfungsi dan juga memperbaiki masalah lain (versi hilang di konfigurasi CNI).

Inilah yang saya lihat: Kesalahan ini muncul ketika Anda belum menjalankan flanel, tetapi Anda memulai kublet hanya dengan manifestasi apiserver, scheduler dan controller-manager - SAAT ANDA MEMILIKI BARIS INI di 10-kubeadm.conf - "Environment =" KUBELET_NETWORK_ARGS = - network-plugin = cni --cni-conf-dir = / etc / cni / net.d --cni-bin-dir = / opt / cni / bin --node-ip = 192.168.8.11 "

Komentari itu dan mulai kubelet.
Kemudian pod sistem kube inti muncul.
Kemudian instal kube-proxy
Kemudian pasang kain flanel
* Kemudian hapus komentar pada baris di atas dan mulai ulang kubelet *
Pasang core-dns / kube-dns

Hai,
saya mencoba menginstal versi 1.16.0 saya menggunakan plugin kuberouter dan saya mendapatkan kesalahan yang sama

Jaringan waktu proses penampung tidak siap: NetworkReady = alasan salah pesan: docker : plugin jaringan belum siap: konfigurasi cni tidak diinisialisasi

Hai,
saya mencoba menginstal versi 1.16.0 saya menggunakan plugin kuberouter dan saya mendapatkan kesalahan yang sama

Jaringan waktu proses penampung tidak siap: NetworkReady = alasan salah pesan: docker : plugin jaringan belum siap: konfigurasi cni tidak diinisialisasi

Jika Anda dapat memberikan lebih banyak informasi tentang lingkungan yang sedang berjalan, itu akan membantu. Seperti, Operate System, dan apa yang Anda lakukan sebelum error terjadi.

ini adalah pemasangan baru versi 1.16.0 di amazon.
saya menggunakan AMI ini - k8s-1.16-debian-stretch-amd64-hvm-ebs-2020-01-17
uname -a
Linux ip-172-28-125-218 4.9.0-11-amd64 # 1 SMP Debian 4.9.189-3 + deb9u2 (2019-11-11) x86_64 GNU / Linux

jika saya menginstal 1.15.0 tidak ada masalah sama sekali.

inilah yang saya lihat di syslog dari node master.

12 Mar 05:26:22 ip-172-28-125-218 kubeletÄ3656Å: E0312 05: 26: 22.761009 3656 kubelet.go: 2187Å Jaringan runtime container tidak siap: NetworkReady = salah alasan: NetworkPluginNotReady pesan: buruh pelabuhan : plugin jaringan tidak siap: cni config tidak diinisialisasi
12 Mar 05:26:25 ip-172-28-125-218 buruh pelabuhanÄ3570Å: I0312 05: 26: 25.713681 3619 dns.go: 47Å DNS Lihat tidak berubah: 5
12 Mar 05:26:25 ip-172-28-125-218 kubeletÄ3656Å: W0312 05: 26: 25.883857 3656 cni.go: 202Å Kesalahan memvalidasi konfigurasi CNI & äkubernetes salah Ä0xc0009d8260Å Ä123 34 99 110105 86 101 114 1151051110 34 58 34 34 44 34110 97109101 34 58 34 107 117 98101114101116101115 34 44 34 11210811310510115 34 58 91123 34 98114105100103101 34 58 34107117 98101 45 98 114 105100103101 34 44 34105 112 97109 34 58 123 34115 117 98110101116 34 58 34 49 48 48 46 57 54 46 48 46 48 47 50 52 34 44 34116121111101 34 58 34 1041115116 45108111 99 97108 34125 44 34105115 68101102 97118116 71 97116101119 97121 34 58116114117101 44 34110 97109101 34 58 34107117 98101114 110101116101115 34 44 34116121121101 34 58 34 98114105100103101 34125 93 125Åå: jembatan bridgeplugin tidak mendukung versi konfigurasi "" Å
12 Mar 05:26:25 ip-172-28-125-218 kubeletÄ3656Å: W0312 05: 26: 25.883925 3656 cni.go: 237Å Tidak dapat memperbarui konfigurasi cni: tidak ada jaringan valid yang ditemukan di /etc/cni/net.d/
12 Mar 05:26:27 ip-172-28-125-218 kubeletÄ3656Å: E0312 05: 26: 27.762309 3656 kubelet.go: 2187Å Jaringan runtime kontainer tidak siap: NetworkReady = salah alasan: NetworkPluginNotReady pesan: docker : plugin jaringan tidak siap: cni config tidak diinisialisasi
12 Mar 05:26:30 ip-172-28-125-218 buruh pelabuhanÄ3570Å: I0312 05: 26: 30.713906 3619 dns.go: 47Å DNS Lihat tidak berubah: 5
12 Mar 05:26:30 ip-172-28-125-218 kubeletÄ3656Å: W0312 05: 26: 30.886362 3656 cni.go: 202Å Kesalahan memvalidasi konfigurasi CNI & äkubernetes salah Ä0xc0008fc000Å Ä123 34 99 110105 861011114115101110 34 58 34 34 44 34110 97109101 34 58 34 107 117 98101114101116101115 34 44 34 11210811310510115 34 58 91123 34 98114105100103101 34 58 34107117 98101 45 98 114 105100103101 34 44 34105 112 97109 34 58 123 34115 117 98110101116 34 58 34 49 48 48 46 57 54 46 48 46 48 47 50 52 34 44 34116121111101 34 58 34 1041115116 45108111 99 97108 34125 44 34105115 68101102 97118116 71 97116101119 97121 34 58116114117101 44 34110 97109101 34 58 34107117 98101114 110101116101115 34 44 34116121121101 34 58 34 98114105100103101 34125 93125Åå: jembatan Äplugin tidak mendukung versi konfigurasi "" Å
12 Mar 05:26:30 ip-172-28-125-218 kubeletÄ3656Å: W0312 05: 26: 30.886428 3656 cni.go: 237Å Tidak dapat memperbarui konfigurasi cni: tidak ada jaringan valid yang ditemukan di /etc/cni/net.d/

Menghapus conf plugin cni dari /var/lib/kubelet/kubeadm-flags.env juga berfungsi pada CentOS 7.6 dengan k8s 1.16.8

tolong jangan ubah apapun. Jalankan saja perintah ini. Kesalahan akan hilang.

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Terima kasih @ikramuallah , yang berfungsi untuk 1.18, masalahnya tidak langsung berfungsi karena salah satu flanel pod tidak dapat ditarik karena salah satu situs dermaga membuang 500. Jadi saran saya adalah setelah menerapkan YAML, periksa apakah semua polong flanel telah muncul dan debug itu. Menghubungkan masalah yang saya angkat di flanel untuk referensi. coreos / flanel # 1294

tolong jangan ubah apapun. Jalankan saja perintah ini. Kesalahan akan hilang.

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Terima kasih!

tolong jangan ubah apapun. Jalankan saja perintah ini. Kesalahan akan hilang.
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Terima kasih!

Maaf, saya tidak bisa menjangkau tautannya. Apakah ada yang salah ?

@juxuny link ok, mungkin beberapa masalah konektivitas jaringan sementara?

Tolong seseorang bantu saya
Untuk status pod kube-proxy-windows-xhxzw adalah ContainerCreating. Saat saya mendeskripsikan pod, ia memberi peringatan sebagai

Peringatan NetworkNotReady 3m27s (x4964 over 168m) kubelet, jaringan casts1 tidak siap: jaringan runtime tidak siap: NetworkReady = salah alasan: NetworkPluginNotReady pesan: docker : plugin jaringan tidak siap: cni config tidak diinisialisasi

Semua pod lainnya dalam status berjalan. kecuali kube-proxy-windows

Saya telah membuat kubernetes envrioronment seperti di bawah ini:
Siap Node Master V1.19.0 RHEL 7 OS
Worker Node NotReady V1.19.0 Windows Server 2019
Saya mencoba untuk bergabung dengan simpul pekerja Windows ke simpul master

Saya menggunakan jaringan flanel. Saya telah mencoba solusi di bawah ini:
1.kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

  1. Ubah cniVersion 10-flannel.confglist dari "0.3.1" menjadi "0.2.0"
    10-flannel.confglist sudah ada di sana.

Tolong beri tahu saya masalah sebenarnya

Dalam kasus saya ketika saya init kubernetes master, saya mengalami masalah ini. Setelah menghapus semua data di etcd proses init berhasil
Pada semua node etcd:
systemctl berhenti dll
rm -rf / var / lib / etcd / *
systemctl daemon-reload && systemctl aktifkan etcd && systemctl start

Apakah halaman ini membantu?
0 / 5 - 0 peringkat