Kubeadm: Menggunakan kubeadm untuk init kubernetes 1.12.0 falied:node “xxx” not found

Dibuat pada 3 Okt 2018  ·  45Komentar  ·  Sumber: kubernetes/kubeadm

Lingkungan saya:

CentOS7 linux

/etc/hosts:

192.168.0.106 master01

192.168.0.107 simpul02

192.168.0.108 simpul01

Pada mesin master01:

/etc/nama host:

master01

Pada mesin master01 saya menjalankan perintah sebagai berikut:

1)yum install docker-ce kubelet kubeadm kubectl

2) systemctl start docker.service

3)vim /etc/sysconfig/kubelet

EDIT filenya:

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

4) systemctl aktifkan kubelet buruh pelabuhan

5)kubeadm init --kubernetes-version=v1.12.0 --pod-network-cidr=10.244.0.0/16 servicecidr=10.96.0.0/12 --ignore-preflight-errors=all

KEMUDIAN

E1002 23:32:36.072441 49157 kubelet.go:2236] simpul "master01" tidak ditemukan
E1002 23:32:36.172630 49157 kubelet.go:2236] simpul "master01" tidak ditemukan
E1002 23:32:36.273892 49157 kubelet.go:2236] simpul "master01" tidak ditemukan
time="2018-10-02T23:32:36+08:00" level=info msg="shim docker-containerd-shim start" address="/containerd-shim/moby/52fbcdb7864cdf8039ded99b501447f13ba81a3897579fb64581c855653f369a/debughim.shim.shim pid=49212
E1002 23:32:36.359984 49157 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:451: Gagal daftar *v1.Node: Dapatkan https://192.168.0.106 :6443/api/ v1/nodes?fieldSelector=metadata.name%3Dmaster01&limit=500&resourceVersion=0: tekan tcp 192.168.0.106:6443: sambungkan: sambungan ditolak
I1002 23:32:36.377368 49157 kubelet_node_status.go:276] Mengatur anotasi simpul untuk mengaktifkan pengontrol volume pasang/lepas
E1002 23:32:36.380290 49157 kubelet.go:2236] simpul "master01" tidak ditemukan
E1002 23:32:36.380369 49157 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Gagal daftar *v1.Pod: Dapatkan https://192.168.0.106 :6443/ api/v1/pods?fieldSelector=spec.nodeName%3Dmaster01&limit=500&resourceVersion=0: tekan tcp 192.168.0.106:6443: sambungkan: sambungan ditolak
E1002 23:32:36.380409 49157 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:442: Gagal mendaftar *v1.Layanan: Dapatkan https://192.168.0.106 :6443/api/ v1/services?limit=500&resourceVersion=0: tekan tcp 192.168.0.106:6443: sambungkan: sambungan ditolak
time="2018-10-02T23:32:36+08:00" level=info msg="shim docker-containerd-shim dimulai" address="/containerd-shim/moby/f621eca36ce85e815172c37195ae7ac929112c84f3e37d16dd39c7e44ab13bock"/debug.shim. pid=49243
I1002 23:32:36.414930 49157 kubelet_node_status.go:70] Mencoba mendaftarkan node master01
E1002 23:32:36.416627 49157 kubelet_node_status.go:92] Tidak dapat mendaftarkan node "master01" dengan server API: Posting https://192.168.0.106 :6443/api/v1/nodes: dial tcp 192.168.0.106:6443: connect : koneksi ditolak
time="2018-10-02T23:32:36+08:00" level=info msg="shim docker-containerd-shim dimulai" address="/containerd-shim/moby/db3f5acb415581d85aef199bea3f85432437c7ef00d357dca1b5684ed95b5591"/shim. pid=49259
E1002 23:32:36.488013 49157 kubelet.go:2236] simpul "master01" tidak ditemukan
time="2018-10-02T23:32:36+08:00" level=info msg="shim docker-containerd-shim dimulai" address="/containerd-shim/moby/505110c39ed4cd5b3fd4fb863012017a71fa782671ead943491afbf38310ffe0/shim.seock" pid=49275
E1002 23:32:36.588919 49157 kubelet.go:2236] simpul "master01" tidak ditemukan
E1002 23:32:36.691338 49157 kubelet.go:2236] simpul "master01" tidak ditemukan

Aku telah mencoba berkali-kali!

Komentar yang paling membantu

Masalah yang sama di sini dengan Kubernetes v1.13.0
CentOS 7
docker-ce 18.06 (versi tervalidasi terbaru)
buruh pelabuhan: aktif, berjalan
kubelet: aktif, berlari
selinux: dinonaktifkan
firewalld: dinonaktifkan

KESALAHAN adalah:
kubelet[98023]: E1212 21:10:01.708004 98023 kubelet.go:2266] node "node1" not found
/etc/hosts berisi simpul, dapat di-pinge, dapat dijangkau -- sebenarnya melakukan pekerja tunggal master-tunggal (yaitu simpul tercemar).

Di mana K8S mencari nilai ini? di /etc/hosts?
Saya dapat memecahkan masalah dan memberikan lebih banyak bukti jika diperlukan.

-> apakah kubeadm init selesai dan apakah itu mencetak token boostrap?
Itu selesai dengan kesalahan panjang:

[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

CATATAN: Tak satu pun dari perintah yang disarankan setelah batas waktu melaporkan sesuatu yang layak disebutkan di sini.

versi kubelet dan kubeadm?
---> 1.13.0
kubeadm versi: &version.Info{Mayor:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:02: 01Z", GoVersion:"go1.11.2", Kompilator:"gc", Platform:"linux/amd64"}

Juga, bukankah seharusnya menyetel pesan kesalahan yang lebih baik daripada "simpul tidak ditemukan" dengan sedikit kejelasan/verbositas di log kube?

Terima kasih

Semua 45 komentar

Pesan kesalahan pertama: tidak dapat memuat file CA klien /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: no such file or directory

Pesan kesalahan pertama: tidak dapat memuat file CA klien /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: no such file or directory

hai, ini ada beberapa pertanyaan:
1) apakah kubeadm init selesai dan apakah itu mencetak token boostrap?
2) versi runtime kontainer?
3) apakah kubelet dan kubeadm versi 1.12?

/prioritas kebutuhan-lebih-bukti

perlu menjalankan systemctl start kubelet sebelum kubeadm init

Saya mengalami masalah yang sama, karena inti cangkir kurang dari 2

masalah yang sama

@javacppc bagaimana Anda menyelesaikan ini? Ketika saya menjalankan systemctl start kubelet saya mendapatkan error code

masalah yang sama dengan kubernetes 1.12.2.
@Javacppc bagaimana Anda menyelesaikan ini?

masalah yang sama

masalah yang sama

Hallo teman-teman,

Saya menghadapi masalah yang sama di sini, ketika saya memulai cluster, saya mendapat pesan dari token, tetapi saya tidak dapat menginstal cloud weave:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" The connection to the server 192.168.56.104:6443 was refused - did you specify the right host or port?

Ketika saya pergi ke log saya mendapat pesan tentang nama node:

Dec 02 22:27:55 kubemaster5 kubelet[2838]: E1202 22:27:55.128645 2838 kubelet.go:2236] node "kubemaster5" not found

Adakah yang bisa tolong kirimkan saya cahaya?

Terima kasih!

masalah saya terpecahkan dan sebenarnya itu bukan bug, itu karena apiserver gagal memulai karena suatu alasan.

"apiserver gagal memulai karena suatu alasan"? Bisakah Anda memberikan beberapa detail??

Saya memecahkan masalah saya beberapa hari yang lalu. Perbarui dari 1.11.4 -> 1.12.3. Aku mendapat:

  1. api-server - berjalan di antarmuka virtual tertentu dengan jaringannya sendiri. ( baja-logam ).
    Setelah kubeadm init/join dengan flag apiserver-advertise-address itu dimulai pada antarmuka tertentu, tetapi paket dengan pengaturan/pemeriksaan kesehatan berjalan melalui rute standar tabel perutean (antarmuka default). Membantu parameter bind-address di /etc/kubernetes/manifests/kube-apiserver.yaml dengan mengikat ke IP antarmuka virtual.
  2. flannel - situasi yang sama dengan jaringan setelah membuat controller , scheduler pod. Penyebaran DNS gagal karena connection refused ke clusterIP server api 10.96.0.1:443 . (tabel perutean default) Saya menetapkan node-ip node cluster dengan menandai --node-ip di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf dengan IP antarmuka virtual.

Setelah ini saya sudah menyiapkan node dengan versi 1.12.3. Informasi yang paling membantu ada di docker logs + kubectl logs

masalah yang sama di sini dengan v1.13.0

Masalah yang sama di sini dengan Kubernetes v1.13.0
CentOS 7
docker-ce 18.06 (versi tervalidasi terbaru)
buruh pelabuhan: aktif, berjalan
kubelet: aktif, berlari
selinux: dinonaktifkan
firewalld: dinonaktifkan

KESALAHAN adalah:
kubelet[98023]: E1212 21:10:01.708004 98023 kubelet.go:2266] node "node1" not found
/etc/hosts berisi simpul, dapat di-pinge, dapat dijangkau -- sebenarnya melakukan pekerja tunggal master-tunggal (yaitu simpul tercemar).

Di mana K8S mencari nilai ini? di /etc/hosts?
Saya dapat memecahkan masalah dan memberikan lebih banyak bukti jika diperlukan.

-> apakah kubeadm init selesai dan apakah itu mencetak token boostrap?
Itu selesai dengan kesalahan panjang:

[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

CATATAN: Tak satu pun dari perintah yang disarankan setelah batas waktu melaporkan sesuatu yang layak disebutkan di sini.

versi kubelet dan kubeadm?
---> 1.13.0
kubeadm versi: &version.Info{Mayor:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:02: 01Z", GoVersion:"go1.11.2", Kompilator:"gc", Platform:"linux/amd64"}

Juga, bukankah seharusnya menyetel pesan kesalahan yang lebih baik daripada "simpul tidak ditemukan" dengan sedikit kejelasan/verbositas di log kube?

Terima kasih

Masalah yang sama...

$ systemctl status kubelet
● 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
   Active: active (running) since Fri 2018-12-14 19:05:47 UTC; 2min 2s ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 9114 (kubelet)
    Tasks: 23 (limit: 4915)
   CGroup: /system.slice/kubelet.service
           └─9114 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-d

Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.862262    9114 kuberuntime_manager.go:657] createPodSandbox for pod "kube-scheduler-pineview_kube-system(7f99b6875de942b000954351c4a
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.862381    9114 pod_workers.go:186] Error syncing pod 7f99b6875de942b000954351c4ac09b5 ("kube-scheduler-pineview_kube-system(7f99b687
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906855    9114 remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to start san
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906944    9114 kuberuntime_sandbox.go:65] CreatePodSandbox for pod "etcd-pineview_kube-system(b7841e48f3e7b81c3cda6872104ba3de)" fai
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906981    9114 kuberuntime_manager.go:657] createPodSandbox for pod "etcd-pineview_kube-system(b7841e48f3e7b81c3cda6872104ba3de)" fa
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.907100    9114 pod_workers.go:186] Error syncing pod b7841e48f3e7b81c3cda6872104ba3de ("etcd-pineview_kube-system(b7841e48f3e7b81c3c
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.933627    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.033880    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.134064    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.184943    9114 event.go:212] Unable to write event: 'Post https://192.168.1.235:6443/api/v1/namespaces/default/events: dial tcp 192.

Masalah yang sama:

Ubuntu 18.04.1 LTS
Kubernetes v1.13.1 (menggunakan cri-o 1.11)

Ikuti petunjuk penginstalan di kubernetes.io:
https://kubernetes.io/docs/setup/independent/install-kubeadm/
https://kubernetes.io/docs/setup/cri/#cri -o

systemctl enable kubelet.service
kubeadm init --pod-network-cidr=192.168.0.0/16 --cri-socket=/var/run/crio/crio.sock

/etc/hosts

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       master01.mydomain.tld master01
::1             master01.mydomain.tld master01

/etc/hostname


systemctl status kubelet

● 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
   Active: active (running) since Tue 2018-12-18 16:19:54 CET; 20min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 10148 (kubelet)
    Tasks: 21 (limit: 2173)
   CGroup: /system.slice/kubelet.service
           └─10148 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --container-runtime=remote --container-runtime-endpoint=/var/run/crio/crio.sock --resolv-conf=/run/systemd/resolve/resolv.conf

Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.795313   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.896277   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.997864   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.098927   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.200355   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.281586   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.178.27:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dmaster01limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.282143   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:444: Failed to list *v1.Service: Get https://192.168.178.27:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.283945   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:453: Failed to list *v1.Node: Get https://192.168.178.27:6443/api/v1/nodes?fieldSelector=metadata.name%3Dmaster01limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.301468   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.402256   10148 kubelet.go:2266] node "master01" not found

@fhemberger saya menemukan masalah saya. Itu menggunakan snap untuk menginstal Docker. Jika saya menghapusnya dan menginstal ulang menggunakan apt , maka kubeadm berfungsi dengan baik.

@cjbottaro Saya tidak menggunakan Docker sama sekali kecuali cri-o.

masalah yang sama di sini dengan v1.13.1

Jika Anda menggunakan systemd dan cri-o, pastikan untuk menyetelnya sebagai driver cgroup di /var/lib/kubelet/config.yaml (atau berikan cuplikan di bawah ini sebagai bagian dari kubeadm init --config=config.yaml ).

apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

Jika Anda melihat ini di log kubelet Anda:

remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = cri-o configured with systemd cgroup manager, but did not receive slice as parent: /kubepods/besteffort/…

Saya bertemu masalah yang sama hari ini.

Saya memperbaikinya dengan menghapus rm -rf /var/lib/kubelet/ dan menginstal ulang

@JishanXing terima kasih! Ini juga menyelesaikan masalah saya untuk menjalankan di Raspbian Sketch lite

Saya memperbaikinya dengan menghapus /etc/systemd/system/kubelet.service.d/20-etcd-service-manager.conf

Akan lebih baik menggunakan perintah kubeadm reset .

@fhemberger bagaimana menyelesaikannya pertanyaan yang sama, terima kasih

Saya menemui masalah yang sama ketika saya memutakhirkan k8s dari 1.13.3 ke 1.13.4 ...
Saya menyelesaikannya setelah saya mengedit /etc/kubernetes/manifests/kube-scheduler.yaml . Ubah versi gambar
image: k8s.gcr.io/kube-scheduler:v1.13.3 ==> image: k8s.gcr.io/kube-scheduler:v1.13.4
sama dengan kube-controller-manager.yaml dan kube-apiserver.yaml.

Cara terbaru adalah menambahkan opsi --image-repository registry.aliyuncs.com/google_containers , versi k8s saya adalah 1.14.0, docker Versi: 18.09.2,
` kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.14.0 --pod-network-cidr=192.168.0.0/16
[init] Menggunakan versi Kubernetes: v1.14.0
[preflight] Menjalankan pemeriksaan pra-penerbangan
[PERINGATAN IsDockerSystemdCheck]: mendeteksi "cgroupfs" sebagai driver cgroup Docker. Driver yang disarankan adalah "systemd". Silakan ikuti panduan di https://kubernetes.io/docs/setup/cri/
[preflight] Diperlukan pengambilan gambar untuk menyiapkan cluster Kubernetes
[preflight] Ini mungkin memakan waktu satu atau dua menit, tergantung pada kecepatan koneksi internet Anda
[preflight] Anda juga dapat melakukan tindakan ini sebelumnya menggunakan 'kubeadm config images pull'
[kubelet-start] Menulis file lingkungan kubelet dengan flag ke file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Menulis konfigurasi kubelet ke file "/var/lib/kubelet/config.yaml"
[kubelet-start] Mengaktifkan layanan kubelet
[certs] Menggunakan folder certificateDir "/etc/kubernetes/pki"
[certs] Membuat sertifikat dan kunci "front-proxy-ca"
[certs] Membuat sertifikat dan kunci "proxy-klien depan"
[sertifikat] Menghasilkan sertifikat dan kunci "ca"
[certs] Membuat sertifikat dan kunci "apiserver"
[certs] apiserver serve cert ditandatangani untuk nama DNS [jin-virtual-machine kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] dan IP [10.96.0.1 192.168.232.130]
[certs] Membuat sertifikat dan kunci "apiserver-kubelet-client"
[certs] Membuat sertifikat dan kunci "etcd/ca"
[certs] Membuat sertifikat dan kunci "etcd/server"
[certs] etcd/server serve cert ditandatangani untuk nama DNS [jin-virtual-machine localhost] dan IP [192.168.232.130 127.0.0.1 ::1]
[certs] Membuat sertifikat dan kunci "etcd/peer"
[certs] etcd/peer serve cert ditandatangani untuk nama DNS [jin-virtual-machine localhost] dan IP [192.168.232.130 127.0.0.1 ::1]
[certs] Membuat sertifikat dan kunci "apiserver-etcd-client"
[certs] Membuat sertifikat dan kunci "etcd/healthcheck-client"
[sertifikat] Menghasilkan kunci "sa" dan kunci publik
[kubeconfig] Menggunakan folder kubeconfig "/etc/kubernetes"
[kubeconfig] Menulis file kubeconfig "admin.conf"
[kubeconfig] Menulis "kubelet.conf" file kubeconfig
[kubeconfig] Menulis file kubeconfig "controller-manager.conf"
[kubeconfig] Menulis file kubeconfig "scheduler.conf"
[control-plane] Menggunakan folder manifes "/etc/kubernetes/manifests"
[control-plane] Membuat manifes Pod statis untuk "kube-apiserver"
[control-plane] Membuat manifes Pod statis untuk "kube-controller-manager"
[control-plane] Membuat manifes Pod statis untuk "kube-scheduler"
[etcd] Membuat manifes Pod statis untuk etcd lokal di "/etc/kubernetes/manifests"
[wait-control-plane] Menunggu kubelet mem-boot control plane sebagai Pod statis dari direktori "/etc/kubernetes/manifests". Ini bisa memakan waktu hingga 4m0s
[apiclient] Semua komponen bidang kontrol sehat setelah 17.004356 detik
[upload-config] menyimpan konfigurasi yang digunakan dalam ConfigMap "kubeadm-config" di Namespace "kube-system"
[kubelet] Membuat ConfigMap "kubelet-config-1.14" di namespace kube-system dengan konfigurasi untuk kubelet di cluster
[upload-certs] Melewati fase. Silakan lihat --experimental-upload-certs
[mark-control-plane] Menandai node jin-virtual-machine sebagai control-plane dengan menambahkan label "node-role.kubernetes.io/master=''"
[mark-control-plane] Menandai node jin-virtual-machine sebagai control-plane dengan menambahkan taints [node-role.kubernetes.io/ master:NoSchedule ]
[bootstrap-token] Menggunakan token: xusir0.o4kzo3qqjyjnzphl
[bootstrap-token] Mengonfigurasi token bootstrap, ConfigMap info cluster, Peran RBAC
[bootstrap-token] mengonfigurasi aturan RBAC untuk memungkinkan token Node Bootstrap memposting CSR agar node mendapatkan kredensial sertifikat jangka panjang
[bootstrap-token] mengonfigurasi aturan RBAC untuk memungkinkan pengontrol csrapprover secara otomatis menyetujui CSR dari Token Bootstrap Node
[bootstrap-token] mengonfigurasi aturan RBAC untuk memungkinkan rotasi sertifikat untuk semua sertifikat klien node di cluster
[bootstrap-token] membuat ConfigMap "cluster-info" di namespace "kube-public"
[addons] Addon penting yang diterapkan: CoreDNS
[addons] Addon penting yang diterapkan: kube-proxy

Control-plane Kubernetes Anda telah berhasil diinisialisasi!

Untuk mulai menggunakan kluster, Anda harus menjalankan yang berikut ini sebagai pengguna biasa:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Anda sekarang harus men-deploy jaringan pod ke cluster.
Jalankan "kubectl apply -f [podnetwork].yaml" dengan salah satu opsi yang tercantum di:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

Kemudian Anda dapat bergabung dengan sejumlah node pekerja dengan menjalankan yang berikut pada masing-masing sebagai root:

kubeadm bergabung 192.168.232.130:6443 --token xusir0.o4kzo3qqjyjnzphl
--discovery-token-ca-cert-hash sha256:022048b22926a2cb2f8295ce2e3f1f6fa7ffe1098bc116f7d304a26bcfb78656
`

Mengalami masalah yang sama dengan kubernetes v1.14.1 dan cri-o v1.14.0 pada VM GCP Ubuntu 18.04. Hal-hal bekerja dengan baik saat menggunakan buruh pelabuhan. referensi: https://github.com/cri-o/cri-o/issues/2357

Masalah saya adalah dengan driver cgroup yang berbeda. CRIO menggunakan systemd secara default, kubelet menggunakan cgroupfs secara default.

cat /etc/crio/crio.conf | grep cgroup
# cgroup_manager is the cgroup management implementation to be used
cgroup_manager = "systemd"

Jika itu kasus Anda, lihat https://kubernetes.io/docs/setup/independent/install-kubeadm/#configure -cgroup-driver-used-by-kubelet-on-master-node

Tulis saja filenya

echo "KUBELET_EXTRA_ARGS=--cgroup-driver=systemd" > /etc/default/kubelet

dan jalankan kubeadm init setelah itu. Atau ubah cgroup_manager menjadi cgroupfs

tidak seperti docker, cri-o dan containerd sedikit lebih rumit untuk dikelola dalam hal deteksi driver cgroup, tetapi ada beberapa rencana untuk mendukungnya dari kubeadm.

buruh pelabuhan sudah ditangani.

Jadi ternyata tidak ada solusi selain mereset cluster $(yes | kubeadm reset), yang menurut saya bukan solusi!

Mengubah repo gambar berhasil untuk saya, tetapi ini bukan perbaikan yang bagus.
--image-repository registry.aliyuncs.com/google_containers

kasus saya berhasil dengan ini

sed -i 's/cgroup-driver=systemd/cgroup-driver=cgroupfs/g' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Saya memiliki masalah yang sama. Saya menggunakan kubeadm init --config=init-config.yaml dan gagal, file ini dihasilkan oleh kubeadm. ada bidang advertiseAddress default adalah 1.2.3.4 di file , yang membuat etcd contianer mulai gagal. ketika saya mengubah ke 127.0.0.1, etcd contianer mulai berhasil dan kubeadm init sukses

untuk mengatasi masalah ini, gunakan docker ps -a daftar semua wadah periksa apakah beberapa dari mereka keluar, jika demikian, gunakan docker logs CONTIANER_ID lihat apa yang terjadi. semoga membantu

Halo semua, ada yang punya solusi? Masalah yang sama di sini, tetapi menggunakan k3s .

@MateusMac Anda mungkin harus membuka laporan bug terhadap k3 juga.

Bekerja selama seminggu untuk mendapatkan kubeadm bekerja
Ubuntu 18.04
buruh pelabuhan 18.06-2-ce
k8s 1.15.1
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Fails with:

[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

Log kubelet menunjukkan bahwa ia tidak dapat menemukan node untuk melewati base pertama:

warproot<strong i="15">@warp02</strong>:~$ systemctl status kubelet
● 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
   Active: active (running) since Sun 2019-08-04 18:22:26 AEST; 5min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 12569 (kubelet)
    Tasks: 27 (limit: 9830)
   CGroup: /system.slice/kubelet.service
           └─12569 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-dri

Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322762   12569 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "kube-scheduler-warp02_kube-system(ecae9d12d3610192347be3d1aa5aa552)"
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322806   12569 kuberuntime_manager.go:692] createPodSandbox for pod "kube-scheduler-warp02_kube-system(ecae9d12d3610192347be3d1aa5aa552)
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322872   12569 pod_workers.go:190] Error syncing pod ecae9d12d3610192347be3d1aa5aa552 ("kube-scheduler-warp02_kube-system(ecae9d12d36101
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.373094   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.375587   12569 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.CSIDriver: Get https://10.1.1.4:6443
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.473295   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.573567   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.575495   12569 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.RuntimeClass: Get https://10.1.1.4:6
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.590886   12569 event.go:249] Unable to write event: 'Post https://10.1.1.4:6443/api/v1/namespaces/default/events: dial tcp 10.1.1.4:6443
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.673767   12569 kubelet.go:2248] node "warp02" not found




Saya harus mencatat bahwa saya memiliki beberapa NIC pada mesin bare-metal ini:

warproot<strong i="6">@warp02</strong>:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:feff:fe65:37f  prefixlen 64  scopeid 0x20<link>
        ether 02:42:fe:65:03:7f  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 516 (516.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp35s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.2  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::32b5:c2ff:fe02:410b  prefixlen 64  scopeid 0x20<link>
        ether 30:b5:c2:02:41:0b  txqueuelen 1000  (Ethernet)
        RX packets 46  bytes 5821 (5.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70  bytes 7946 (7.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.4  netmask 255.255.255.0  broadcast 10.1.1.255
        inet6 fd42:59ff:1166:0:25a7:3617:fee6:424e  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::1a03:73ff:fe44:5694  prefixlen 64  scopeid 0x20<link>
        inet6 fd9e:fdd6:9e01:0:1a03:73ff:fe44:5694  prefixlen 64  scopeid 0x0<global>
        ether 18:03:73:44:56:94  txqueuelen 1000  (Ethernet)
        RX packets 911294  bytes 1361047672 (1.3 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 428759  bytes 29198065 (29.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  

ib0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 4092
        unspec A0-00-02-10-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ib1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 4092
        unspec A0-00-02-20-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 25473  bytes 1334779 (1.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25473  bytes 1334779 (1.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Saya tidak tahu apakah itu masalah, tetapi saya menyiapkan file /etc/hosts sebagai

warproot<strong i="7">@warp02</strong>:~$ cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
::1             localhost6.localdomain6 localhost6
# add our host name
10.1.1.4 warp02 warp02.ad.xxx.com
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
# add our ipv6 host name
fd42:59ff:1166:0:25a7:3617:fee6:424e warp02 warp02.ad.xxx.com

warproot<strong i="8">@warp02</strong>:~$ 

Jadi, sudah diatur (saya pikir) untuk melihat NIC 10.1.1.4 sebagai "jaringan" untuk k8s

nslookup terhadap nama-simpul tampaknya berfungsi dengan baik:

warproot<strong i="13">@warp02</strong>:~$ nslookup warp02
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   warp02.ad.xxx.com
Address: 10.1.1.4
Name:   warp02.ad.xxx.com
Address: fd42:59ff:1166:0:25a7:3617:fee6:424e

warproot<strong i="14">@warp02</strong>:~$ 

Saya telah melalui dokumentasi instalasi kubeadm beberapa kali.

Aneh. Itu hanya tidak dapat menemukan jaringan.

Bingung.

Untuk versi 1.15.3 saya dapat memperbaikinya di Ubuntu 18.04 dengan menambahkan

kind: InitConfiguration
nodeRegistration:
  kubeletExtraArgs:
    cgroup-driver: "systemd"

ke konfigurasi kubeadm saya dan kemudian menjalankan kubeadm init

Saya memiliki masalah yang sama di sini, dengan versi 1.15.3, di Ubuntu 18.04
@kris-nova Saya akan sangat menghargai jika Anda dapat menentukan di mana file konfigurasi ini berada :-)

PEMBARUAN: Saya tidak tahu mengapa, tetapi itu berfungsi sekarang, tanpa mengubah konfigurasi apa pun!
(catatan: Saya tidak tahu apakah ini terkait, tetapi saya memperbarui buruh pelabuhan dari v.19.03.1 ke v.19.03.2, sebelum mencoba lagi kubeadm init )

Saya mendapatkan kesalahan di bawah ini saat menjalankan kubeadm init yaitu nodexx not found..

[ root@node01 ~]# journalctl -xeu kubelet
07 Nov 10:34:02 node01 kubelet[2968]: E1107 10:34:02.682095 2968 kubelet.go:2267] node "node01" tidak ditemukan
07 Nov 10:34:02 node01 kubelet[2968]: E1107 10:34:02.782554 2968 kubelet.go:2267] node "node01" tidak ditemukan
07 Nov 10:34:02 node01 kubelet[2968]: E1107 10:34:02.829142 2968 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Gagal mendaftar *v1beta1.CSID
07 Nov 10:34:02 node01 kubelet[2968]: E1107 10:34:02.884058 2968 kubelet.go:2267] node "node01" tidak ditemukan
07 Nov 10:34:02 node01 kubelet[2968]: E1107 10:34:02.984510 2968 kubelet.go:2267] node "node01" tidak ditemukan
07 Nov 10:34:03 node01 kubelet[2968]: E1107 10:34:03.030884 2968 reflector.go:123]

Dipecahkan melalui:

setenforce 0

sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

masalah yang sama

Dalam kasus saya yang disebabkan oleh penyimpangan waktu di master node, _yang terjadi setelah pemadaman listrik_.
Saya telah memperbaikinya dengan berlari

# Correcting the time as mentioned here https://askubuntu.com/a/254846/861548
sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start
# Then restarting the kubelet
sudo systemctl restart kubelet.service
# I also had to run daemon-reload as I got the following warning
# Warning: The unit file, source configuration file or drop-ins of kubelet.service changed on disk. Run 'systemctl daemon-reload' to reload units.
sudo systemctl daemon-reload
# I also made another restart, which I don't know whether needed or not
sudo systemctl restart kubelet.service

saya memperbaiki masalah yang sama node "xxxx" not found coba lihat log kontainer menggunakan log docker container_id , lalu saya melihat apiserver mencoba menghubungkan 127.0.0.1:2379 , edit file · /etc/kubernetes/manifests/etcd.yaml , mulai ulang, masalah diperbaiki

Apakah halaman ini membantu?
0 / 5 - 0 peringkat