Kubeadm: LAPORAN BUG: kubelet cgroup driver

Dibuat pada 4 Jan 2018  ·  43Komentar  ·  Sumber: kubernetes/kubeadm

LAPORAN BUG

Versi

versi kubeadm
versi kubelet
kubernetes- cni: 0.6.0-00 amd64
versi docker-ce
versi sistem
Mesin fisik

Masalah

instal kubernetes cluster di ubuntu 16.04. Saat menjalankan kubeadm init, terjadi kesalahan:
[init] Ini mungkin memakan waktu satu menit atau lebih jika gambar bidang kontrol harus ditarik.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.

Setelah saya melihat syslog / var / log / syslog, mendapat error sebagai berikut:
04 Jan 16:20:58 master03 kubelet [10360]: W0104 16: 20: 58.268285 10360 cni.go: 171] Tidak dapat memperbarui konfigurasi cni: Tidak ada jaringan yang ditemukan di /etc/cni/net.d
04 Jan 16:20:58 master03 kubelet [10360]: W0104 16: 20: 58.269487 10360 cni.go: 171] Tidak dapat memperbarui konfigurasi cni: Tidak ada jaringan yang ditemukan di /etc/cni/net.d
Jan 04 16:20:58 master03 kubelet [10360]: I0104 16: 20: 58.269527 10360 docker_service.go: 232] Docker jaringan cri dikelola oleh cni
04 Jan 16:20:58 master03 kubelet [10360]: I0104 16: 20: 58.274386 10360 docker_service.go: 237] Info Docker: & {ID: 3 XXZ: XEDW : ZDQS: A2MI : 5 AEN : CFEP: 44AQ: YDS4 : CRME: UBRS : 46LI: MXNS C ontainers: 0 Containe rsRunning: 0 Cont
Jan 04 16:20:58 master03 kubelet [10360]: error: gagal dijalankan Kubelet: gagal membuat kubelet: kesalahan konfigurasi: kubelet cgroup driver: "cgroupfs" berbeda dari docker cgroup driver: "systemd"

Dan saya memeriksa driver docker cgroup: info buruh pelabuhan | grep -i cgroup
Cgroup Driver: systemd

Versi

versi kubeadm (gunakan kubeadm version ):

Lingkungan :

  • Versi Kubernetes (gunakan kubectl version ):
  • Penyedia cloud atau konfigurasi perangkat keras :
  • OS (misalnya dari / etc / os-release):
  • Kernel (misalnya uname -a ):
  • Lainnya :

Apa yang terjadi?

Apa yang Anda harapkan terjadi?

Bagaimana cara memperbanyaknya (seminimal dan setepat mungkin)?

Ada hal lain yang perlu kami ketahui?

kinbug lifecyclactive prioritimportant-soon

Komentar yang paling membantu

Saya mengalami masalah yang sama ini dengan kubeadm v1.9.2 tetapi saya dapat melihat kubelet dikonfigurasi untuk menggunakan driver cgroup systemd.

kubelet menggunakan --cgroup-driver = systemd

cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS

info buruh pelabuhan |

 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Cgroup Driver: systemd

log kubelet

I0206 16:20:40.010949    5712 feature_gate.go:220] feature gates: &{{} map[]}
I0206 16:20:40.011054    5712 controller.go:114] kubelet config controller: starting controller
I0206 16:20:40.011061    5712 controller.go:118] kubelet config controller: validating combination of defaults and flags
W0206 16:20:40.015566    5712 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
I0206 16:20:40.019079    5712 server.go:182] Version: v1.9.2
I0206 16:20:40.019136    5712 feature_gate.go:220] feature gates: &{{} map[]}
I0206 16:20:40.019240    5712 plugins.go:101] No cloud provider specified.
W0206 16:20:40.019273    5712 server.go:328] standalone mode, no API client
W0206 16:20:40.041031    5712 server.go:236] No api server defined - no events will be sent to API server.
I0206 16:20:40.041058    5712 server.go:428] --cgroups-per-qos enabled, but --cgroup-root was not specified.  defaulting to /
I0206 16:20:40.041295    5712 container_manager_linux.go:242] container manager verified user specified cgroup-root exists: /
I0206 16:20:40.041308    5712 container_manager_linux.go:247] Creating Container Manager object based on Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:docker CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:false NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[] SystemReserved:map[] HardEvictionThresholds:[{Signal:memory.available Operator:LessThan Value:{Quantity:100Mi Percentage:0} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.1} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.inodesFree Operator:LessThan Value:{Quantity:<nil> Percentage:0.05} GracePeriod:0s MinReclaim:<nil>} {Signal:imagefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.15} GracePeriod:0s MinReclaim:<nil>}]} ExperimentalQOSReserved:map[] ExperimentalCPUManagerPolicy:none ExperimentalCPUManagerReconcilePeriod:10s}
I0206 16:20:40.041412    5712 container_manager_linux.go:266] Creating device plugin manager: false
W0206 16:20:40.043521    5712 kubelet_network.go:139] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth"
I0206 16:20:40.043541    5712 kubelet.go:571] Hairpin mode set to "hairpin-veth"
I0206 16:20:40.044909    5712 client.go:80] Connecting to docker on unix:///var/run/docker.sock
I0206 16:20:40.044937    5712 client.go:109] Start docker client with request timeout=2m0s
W0206 16:20:40.046785    5712 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
I0206 16:20:40.049953    5712 docker_service.go:232] Docker cri networking managed by kubernetes.io/no-op
I0206 16:20:40.055138    5712 docker_service.go:237] Docker Info: &{ID:ZXWO:G2FL:QM3S:IAWM:ITQL:XHRH:ZA3T:FJMV:5JDW:IMKI:NIFS:2Z4M Containers:8 ContainersRunning:0 ContainersPaused:0 ContainersStopped:8 Images:11 Driver:devicemapper DriverStatus:[[Pool Name docker-253:0-33593794-pool] [Pool Blocksize 65.54 kB] [Base Device Size 10.74 GB] [Backing Filesystem xfs] [Data file /dev/loop0] [Metadata file /dev/loop1] [Data Space Used 1.775 GB] [Data Space Total 107.4 GB] [Data Space Available 14.72 GB] [Metadata Space Used 2.093 MB] [Metadata Space Total 2.147 GB] [Metadata Space Available 2.145 GB] [Thin Pool Minimum Free Space 10.74 GB] [Udev Sync Supported true] [Deferred Removal Enabled true] [Deferred Deletion Enabled true] [Deferred Deleted Device Count 0] [Data loop file /var/lib/docker/devicemapper/devicemapper/data] [Metadata loop file /var/lib/docker/devicemapper/devicemapper/metadata] [Library Version 1.02.140-RHEL7 (2017-05-03)]] SystemStatus:[] Plugins:{Volume:[local] Network:[overlay host null bridge] Authorization:[] Log:[]} MemoryLimit:true SwapLimit:true KernelMemory:true CPUCfsPeriod:true CPUCfsQuota:true CPUShares:true CPUSet:true IPv4Forwarding:true BridgeNfIptables:true BridgeNfIP6tables:true Debug:true NFd:16 OomKillDisable:true NGoroutines:25 SystemTime:2018-02-06T16:20:40.054685386Z LoggingDriver:journald CgroupDriver:systemd NEventsListener:0 KernelVersion:3.10.0-693.el7.x86_64 OperatingSystem:CentOS Linux 7 (Core) OSType:linux Architecture:x86_64 IndexServerAddress:https://index.docker.io/v1/ RegistryConfig:0xc42021a380 NCPU:2 MemTotal:2097782784 GenericResources:[] DockerRootDir:/var/lib/docker HTTPProxy: HTTPSProxy: NoProxy: Name:master1 Labels:[] ExperimentalBuild:false ServerVersion:1.12.6 ClusterStore: ClusterAdvertise: Runtimes:map[docker-runc:{Path:/usr/libexec/docker/docker-runc-current Args:[]} runc:{Path:docker-runc Args:[]}] DefaultRuntime:docker-runc Swarm:{NodeID: NodeAddr: LocalNodeState:inactive ControlAvailable:false Error: RemoteManagers:[] Nodes:0 Managers:0 Cluster:0xc420472640} LiveRestoreEnabled:false Isolation: InitBinary: ContainerdCommit:{ID: Expected:} RuncCommit:{ID: Expected:} InitCommit:{ID: Expected:} SecurityOptions:[seccomp]}
error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

Informasi versi:

 kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b", GitTreeState:"clean", BuildDate:"2018-01-18T09:42:01Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
kubelet --version
Kubernetes v1.9.2
docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64

Semua 43 komentar

error: gagal dijalankan Kubelet: gagal membuat kubelet: kesalahan konfigurasi: kubelet cgroup driver: "cgroupfs" berbeda dengan driver docker cgroup: "systemd"

info buruh pelabuhan | grep -i cgroup
Cgroup Driver: systemd

Saya bisa mengkonfirmasi ini.

@ lavender2020 Anda perlu menambahkan --cgroup-driver=systemd secara manual ke kubelet startup args dan memuat ulang file unit kubelet untuk memulai ulang layanan.

Driver default yang digunakan kubelet untuk memanipulasi cgroups pada host adalah cgroupfs .

Kebanyakan orang beralih ke kubeadm terutama untuk menyiapkan cluster dengan sangat cepat. Sederhana dan praktis。

@luxas Haruskah kita menambahkan pemeriksaan prefilght pada konsistensi driver cgroup antara docker dan kubelet untuk memberikan peringatan yang lebih eksplisit? Atau tambahkan drop-in lain untuk kubelet.service ? Atau hanya mengubah /etc/systemd/system/kubelet.service.d/10-kubeadm.conf di tempat?

Tetapi jika demikian, kita mungkin perlu mendapatkan hak akses root untuk melakukan perubahan ini.

Saya mengalami masalah yang sama ini dengan kubeadm v1.9.2 tetapi saya dapat melihat kubelet dikonfigurasi untuk menggunakan driver cgroup systemd.

kubelet menggunakan --cgroup-driver = systemd

cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS

info buruh pelabuhan |

 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Cgroup Driver: systemd

log kubelet

I0206 16:20:40.010949    5712 feature_gate.go:220] feature gates: &{{} map[]}
I0206 16:20:40.011054    5712 controller.go:114] kubelet config controller: starting controller
I0206 16:20:40.011061    5712 controller.go:118] kubelet config controller: validating combination of defaults and flags
W0206 16:20:40.015566    5712 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
I0206 16:20:40.019079    5712 server.go:182] Version: v1.9.2
I0206 16:20:40.019136    5712 feature_gate.go:220] feature gates: &{{} map[]}
I0206 16:20:40.019240    5712 plugins.go:101] No cloud provider specified.
W0206 16:20:40.019273    5712 server.go:328] standalone mode, no API client
W0206 16:20:40.041031    5712 server.go:236] No api server defined - no events will be sent to API server.
I0206 16:20:40.041058    5712 server.go:428] --cgroups-per-qos enabled, but --cgroup-root was not specified.  defaulting to /
I0206 16:20:40.041295    5712 container_manager_linux.go:242] container manager verified user specified cgroup-root exists: /
I0206 16:20:40.041308    5712 container_manager_linux.go:247] Creating Container Manager object based on Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:docker CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:false NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[] SystemReserved:map[] HardEvictionThresholds:[{Signal:memory.available Operator:LessThan Value:{Quantity:100Mi Percentage:0} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.1} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.inodesFree Operator:LessThan Value:{Quantity:<nil> Percentage:0.05} GracePeriod:0s MinReclaim:<nil>} {Signal:imagefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.15} GracePeriod:0s MinReclaim:<nil>}]} ExperimentalQOSReserved:map[] ExperimentalCPUManagerPolicy:none ExperimentalCPUManagerReconcilePeriod:10s}
I0206 16:20:40.041412    5712 container_manager_linux.go:266] Creating device plugin manager: false
W0206 16:20:40.043521    5712 kubelet_network.go:139] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth"
I0206 16:20:40.043541    5712 kubelet.go:571] Hairpin mode set to "hairpin-veth"
I0206 16:20:40.044909    5712 client.go:80] Connecting to docker on unix:///var/run/docker.sock
I0206 16:20:40.044937    5712 client.go:109] Start docker client with request timeout=2m0s
W0206 16:20:40.046785    5712 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
I0206 16:20:40.049953    5712 docker_service.go:232] Docker cri networking managed by kubernetes.io/no-op
I0206 16:20:40.055138    5712 docker_service.go:237] Docker Info: &{ID:ZXWO:G2FL:QM3S:IAWM:ITQL:XHRH:ZA3T:FJMV:5JDW:IMKI:NIFS:2Z4M Containers:8 ContainersRunning:0 ContainersPaused:0 ContainersStopped:8 Images:11 Driver:devicemapper DriverStatus:[[Pool Name docker-253:0-33593794-pool] [Pool Blocksize 65.54 kB] [Base Device Size 10.74 GB] [Backing Filesystem xfs] [Data file /dev/loop0] [Metadata file /dev/loop1] [Data Space Used 1.775 GB] [Data Space Total 107.4 GB] [Data Space Available 14.72 GB] [Metadata Space Used 2.093 MB] [Metadata Space Total 2.147 GB] [Metadata Space Available 2.145 GB] [Thin Pool Minimum Free Space 10.74 GB] [Udev Sync Supported true] [Deferred Removal Enabled true] [Deferred Deletion Enabled true] [Deferred Deleted Device Count 0] [Data loop file /var/lib/docker/devicemapper/devicemapper/data] [Metadata loop file /var/lib/docker/devicemapper/devicemapper/metadata] [Library Version 1.02.140-RHEL7 (2017-05-03)]] SystemStatus:[] Plugins:{Volume:[local] Network:[overlay host null bridge] Authorization:[] Log:[]} MemoryLimit:true SwapLimit:true KernelMemory:true CPUCfsPeriod:true CPUCfsQuota:true CPUShares:true CPUSet:true IPv4Forwarding:true BridgeNfIptables:true BridgeNfIP6tables:true Debug:true NFd:16 OomKillDisable:true NGoroutines:25 SystemTime:2018-02-06T16:20:40.054685386Z LoggingDriver:journald CgroupDriver:systemd NEventsListener:0 KernelVersion:3.10.0-693.el7.x86_64 OperatingSystem:CentOS Linux 7 (Core) OSType:linux Architecture:x86_64 IndexServerAddress:https://index.docker.io/v1/ RegistryConfig:0xc42021a380 NCPU:2 MemTotal:2097782784 GenericResources:[] DockerRootDir:/var/lib/docker HTTPProxy: HTTPSProxy: NoProxy: Name:master1 Labels:[] ExperimentalBuild:false ServerVersion:1.12.6 ClusterStore: ClusterAdvertise: Runtimes:map[docker-runc:{Path:/usr/libexec/docker/docker-runc-current Args:[]} runc:{Path:docker-runc Args:[]}] DefaultRuntime:docker-runc Swarm:{NodeID: NodeAddr: LocalNodeState:inactive ControlAvailable:false Error: RemoteManagers:[] Nodes:0 Managers:0 Cluster:0xc420472640} LiveRestoreEnabled:false Isolation: InitBinary: ContainerdCommit:{ID: Expected:} RuncCommit:{ID: Expected:} InitCommit:{ID: Expected:} SecurityOptions:[seccomp]}
error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

Informasi versi:

 kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.2", GitCommit:"5fa2db2bd46ac79e5e00a4e6ed24191080aa463b", GitTreeState:"clean", BuildDate:"2018-01-18T09:42:01Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
kubelet --version
Kubernetes v1.9.2
docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64

@dkirrane Sudahkah Anda memuat ulang file kubelet.service unit?

Jalankan systemctl daemon-reload . Dan kemudian systemctl restart kubelet .

Masalah ini belum diperbaiki pada 1.9.3

Informasi versi:

kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-07T11:55:20Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
kubelet --version
Kubernetes v1.9.3
 docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.6.2
 Git commit:   092cba3
 Built:        Thu Nov  2 20:40:23 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.6.2
 Git commit:   092cba3
 Built:        Thu Nov  2 20:40:23 2017
 OS/Arch:      linux/amd64
 Experimental: false

@gades Apa driver cgroup Anda?

$ docker info | grep -i cgroup

Memiliki masalah yang sama.

docker info | grep -i cgroup
Cgroup Driver: systemd
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS
I0227 13:17:43.802942    3493 docker_service.go:237] Docker Info: &{ID:RJUG:6DLB:A4JM:4T6H:JYKO:7JUC:NQCI:SLI2:DC64:ZXOT:DIX6:ASJY Containers:0 ContainersRunning:0 ContainersPaused:0 ContainersStopped:0 Images:0 Driver:overlay DriverStatus:[[Backing Filesystem extfs]] SystemStatus:[] Plugins:{Volume:[local] Network:[bridge overlay null host] Authorization:[] Log:[]} MemoryLimit:true SwapLimit:true KernelMemory:true CPUCfsPeriod:true CPUCfsQuota:true CPUShares:true CPUSet:true IPv4Forwarding:true BridgeNfIptables:true BridgeNfIP6tables:true Debug:false NFd:26 OomKillDisable:true NGoroutines:47 SystemTime:2018-02-27T13:17:43.802488651-08:00 LoggingDriver:journald CgroupDriver:systemd NEventsListener:0 KernelVersion:3.10.0-693.11.6.el7.x86_64 OperatingSystem:CentOS Linux 7 (Core) OSType:linux Architecture:x86_64 IndexServerAddress:https://index.docker.io/v1/ RegistryConfig:0xc42033d7a0 NCPU:64 MemTotal:270186274816 GenericResources:[] DockerRootDir:/var/lib/docker HTTPProxy: HTTPSProxy: NoProxy: Name:param03.lancelot.cluster.bds Labels:[] ExperimentalBuild:false ServerVersion:1.12.6 ClusterStore: ClusterAdvertise: Runtimes:map[docker-runc:{Path:/usr/libexec/docker/docker-runc-current Args:[]} runc:{Path:docker-runc Args:[]}] DefaultRuntime:docker-runc Swarm:{NodeID: NodeAddr: LocalNodeState:inactive ControlAvailable:false Error: RemoteManagers:[] Nodes:0 Managers:0 Cluster:0xc420360640} LiveRestoreEnabled:false Isolation: InitBinary: ContainerdCommit:{ID: Expected:} RuncCommit:{ID: Expected:} InitCommit:{ID: Expected:} SecurityOptions:[seccomp]}
error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

Apakah ada tempat lain di mana Kubelet mendapatkan arahan driver cgroupfs?

@ mas-dse-greina Silakan lihat solusinya di komentar saya .

@dixudx Bahkan setelah menambahkan --cgroup-driver=systemd ke /etc/systemd/system/kubelet.service.d/10-kubeadm.conf masalah masih berlanjut.

Ini adalah file terbaru,
[Service] Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf" Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true" Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin" Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local" Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt" Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0" Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki" ExecStart= ExecStart=/usr/bin/kubelet --cgroup-driver=systemd $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS

PS: Sudah diperbaiki. Setelah me-restart daemon dan kubelet, saya menggunakan kubeadm init --pod-network-cidr = 10.244.0.0 / 16

Iya. Saya menemukan hal yang sama. Menambahkan --cgroup-driver = systemd
sepertinya tidak berpengaruh apa-apa. Saya telah memulai ulang layanan dan bahkan
me-reboot komputer.

Sepertinya perilakunya hanya ada di mesin yang satu ini. Saya telah
berhasil dengan 4 mesin lain, tetapi yang satu ini sepertinya tidak mau
bergabunglah dengan cluster.

-Tony

Pada Kamis, 1 Mar 2018 pukul 11:44, srinivas491-oneconvergence <
[email protected]> menulis:

@dixudx https://github.com/dixudx Bahkan setelah menambahkan file
--cgroup-driver = systemd ke / etc / systemd / system / kubelet.
service.d / 10-kubeadm.conf masalah masih berlanjut.

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/kubernetes/kubeadm/issues/639#issuecomment-369707723 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AVReEuQHJR80-8J4VLvACnGt1lTjEbYrks5taE-BgaJpZM4RSs0P
.

Setelah Anda mengubah file unit Anda perlu systemdctl daemon-reload agar perubahan diterapkan.

FWIW ini default di RPM tapi tidak di .debs. Apakah ada distribusi saat ini di dukungan utama yang tidak default ke systemd sekarang?

/ tetapkan @detiber

Saya mengalami masalah yang sama ini dengan kubeadm v1.9.3 dan v1.9.4.

Mulai kubelet dengan --cgroup-driver = systemd

$ cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS

Muat ulang layanan

$ systemctl daemon-reload
$ systemctl restart kubelet

Periksa info buruh pelabuhan

$ docker info |grep -i cgroup
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Cgroup Driver: systemd

log kubelet

$ kubelet logs
error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

Informasi versi

$ kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-07T11:55:20Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
$ kubelet --version
Kubernetes v1.9.3
$ docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64
$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

@FrostyLeaf Dapatkah Anda melihat baris perintah untuk menjalankan kubelet untuk mengetahui apakah driver cgroup ditentukan di sana?

Sesuatu seperti ps aux |grep kubelet atau cat /proc/<kubelet pid>/cmdline akan membantu Anda untuk melihatnya.

@ bart0sh Ini dia:

$  ps aux |grep /bin/kubelet
root     13025  0.0  0.0 112672   980 pts/4    S+   01:49   0:00 grep --color=auto /bin/kubelet
root     30495  4.5  0.6 546152 76924 ?        Ssl  00:14   4:22 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt --cadvisor-port=0 --cgroup-driver=systemd --rotate-certificates=true --cert-dir=/var/lib/kubelet/pki --fail-swap-on=false

@FrostyLeaf Terima kasih! Saya bisa mereproduksi ini juga. Sepertinya bug. Lihat itu.

Sebagai solusi sementara, Anda dapat mengganti driver docker dan kubelet ke cgroupfs. Ini harus berhasil.

@ budi Terima kasih banyak. Saya akan mencobanya.

Sama disini.

Host Konteks = CentOS 7.4, Tamu = VirtualBox = Versi 5.2.8 r121009 (Qt5.6.1)

[root<strong i="7">@kubernetes</strong> ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 

`` pesta
[ root @ kubernetes ~] # kubelet --version
Kubernetes v1.9.4

```bash
[root<strong i="14">@kubernetes</strong> ~]# docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
 Experimental:    false

`` pesta
[ root @ kubernetes ~] # versi kubeadm
versi kubeadm: & version.Info {Mayor: "1", Minor: "9", GitVersion: "v1.9.4", GitCommit: "bee2d1505c4fe820744d26d41ecd3fdd4a3d6546", GitTreeState: "clean", BuildDate: "2018-03-12T16: 21 :-03-12T16: 35Z ", GoVersion:" go1.9.3 ", Penyusun:" gc ", Platform:" linux / amd64 "}

### docker Cgroup is systemd
```bash
 [root<strong i="21">@kubernetes</strong> ~]# docker info | grep Cgroup
  WARNING: You're not using the default seccomp profile
Cgroup Driver: systemd

kubelet.service dimulai dengan Cgroup = systemd

[root<strong i="25">@kubernetes</strong> ~]# grep cgroup /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice"

systemctl muat ulang & mulai ulang layanan kubelet

[root<strong i="29">@kubernetes</strong> ~]# systemctl daemon-reload
[root<strong i="30">@kubernetes</strong> ~]# systemctl stop kubelet.service
[root<strong i="31">@kubernetes</strong> ~]# systemctl start kubelet.service

log kubelet

[root<strong i="6">@kubernetes</strong> ~]# kubelet logs
I0318 02:07:10.006151   29652 feature_gate.go:226] feature gates: &{{} map[]}
I0318 02:07:10.006310   29652 controller.go:114] kubelet config controller: starting controller
I0318 02:07:10.006315   29652 controller.go:118] kubelet config controller: validating combination of defaults and flags
I0318 02:07:10.018880   29652 server.go:182] Version: v1.9.4
I0318 02:07:10.018986   29652 feature_gate.go:226] feature gates: &{{} map[]}
I0318 02:07:10.019118   29652 plugins.go:101] No cloud provider specified.
W0318 02:07:10.019239   29652 server.go:328] standalone mode, no API client
W0318 02:07:10.068650   29652 **server.go:236] No api server defined - no events will be sent to API server.**
I0318 02:07:10.068670   29652 **server.go:428] --cgroups-per-qos enabled, but --cgroup-root was not specified.  defaulting to /**
I0318 02:07:10.069130   29652 container_manager_linux.go:242] container manager verified user specified cgroup-root exists: /
I0318 02:07:10.069306   29652 container_manager_linux.go:247] Creating Container Manager object based on Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:docker CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:false NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[] SystemReserved:map[] HardEvictionThresholds:[{Signal:nodefs.inodesFree Operator:LessThan Value:{Quantity:<nil> Percentage:0.05} GracePeriod:0s MinReclaim:<nil>} {Signal:imagefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.15} GracePeriod:0s MinReclaim:<nil>} {Signal:memory.available Operator:LessThan Value:{Quantity:100Mi Percentage:0} GracePeriod:0s MinReclaim:<nil>} {Signal:nodefs.available Operator:LessThan Value:{Quantity:<nil> Percentage:0.1} GracePeriod:0s MinReclaim:<nil>}]} ExperimentalQOSReserved:map[] ExperimentalCPUManagerPolicy:none ExperimentalCPUManagerReconcilePeriod:10s}
I0318 02:07:10.069404   29652 container_manager_linux.go:266] Creating device plugin manager: false
W0318 02:07:10.072836   29652 kubelet_network.go:139] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth"
I0318 02:07:10.072860   29652 kubelet.go:576] Hairpin mode set to "hairpin-veth"
I0318 02:07:10.075139   29652 client.go:80] Connecting to docker on unix:///var/run/docker.sock
I0318 02:07:10.075156   29652 client.go:109] Start docker client with request timeout=2m0s
I0318 02:07:10.080336   29652 docker_service.go:232] Docker cri networking managed by kubernetes.io/no-op
I0318 02:07:10.090943   29652 docker_service.go:237] Docker Info: &{ID:DUEI:P7Y3:JKGP:XJDI:UFXG:NAOX:K7ID:KHCF:PCGW:46QA:TQZB:WEXF Containers:18 ContainersRunning:17 ContainersPaused:0 ContainersStopped:1 Images:11 Driver:overlay2 DriverStatus:[[Backing Filesystem xfs] [Supports d_type true] [Native Overlay Diff true]] SystemStatus:[] Plugins:{Volume:[local] Network:[bridge host macvlan null overlay] Authorization:[] Log:[]} MemoryLimit:true SwapLimit:true KernelMemory:true CPUCfsPeriod:true CPUCfsQuota:true CPUShares:true CPUSet:true IPv4Forwarding:true BridgeNfIptables:true BridgeNfIP6tables:true Debug:false NFd:89 OomKillDisable:true NGoroutines:98 SystemTime:2018-03-18T02:07:10.083543475+01:00 LoggingDriver:journald CgroupDriver:systemd NEventsListener:0 KernelVersion:3.10.0-693.21.1.el7.x86_64 OperatingSystem:CentOS Linux 7 (Core) OSType:linux Architecture:x86_64 IndexServerAddress:https://index.docker.io/v1/ RegistryConfig:0xc42027b810 NCPU:2 MemTotal:2097364992 GenericResources:[] DockerRootDir:/var/lib/docker HTTPProxy: HTTPSProxy: NoProxy: Name:kubernetes.master Labels:[] ExperimentalBuild:false ServerVersion:1.13.1 ClusterStore: ClusterAdvertise: Runtimes:map[runc:{Path:docker-runc Args:[]} docker-runc:{Path:/usr/libexec/docker/docker-runc-current Args:[]}] DefaultRuntime:docker-runc Swarm:{NodeID: NodeAddr: LocalNodeState:inactive ControlAvailable:false Error: RemoteManagers:[] Nodes:0 Managers:0 Cluster:0xc4202a8f00} LiveRestoreEnabled:false Isolation: InitBinary:docker-init ContainerdCommit:{ID: Expected:aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1} RuncCommit:{ID:N/A Expected:9df8b306d01f59d3a8029be411de015b7304dd8f} InitCommit:{ID:N/A Expected:949e6facb77383876aeff8a6944dde66b3089574} SecurityOptions:[name=seccomp,profile=/etc/docker/seccomp.json name=selinux]}
**error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"**

proses kube sedang berjalan

[root<strong i="6">@kubernetes</strong> ~]# ps aux | grep -i kube
root     10182  0.4  1.2  54512 25544 ?        Ssl  mars17   1:10 kube-scheduler --leader-elect=true --kubeconfig=/etc/kubernetes/scheduler.conf --address=127.0.0.1
root     10235  1.8 12.7 438004 261948 ?       Ssl  mars17   4:44 kube-apiserver --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota --allow-privileged=true --requestheader-group-headers=X-Remote-Group --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-allowed-names=front-proxy-client --service-account-key-file=/etc/kubernetes/pki/sa.pub --client-ca-file=/etc/kubernetes/pki/ca.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --requestheader-username-headers=X-Remote-User --tls-private-key-file=/etc/kubernetes/pki/apiserver.key --insecure-port=0 --enable-bootstrap-token-auth=true --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --secure-port=6443 --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --advertise-address=192.168.1.70 --service-cluster-ip-range=10.96.0.0/12 --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --authorization-mode=Node,RBAC --etcd-servers=http://127.0.0.1:2379
root     10421  0.1  1.0  52464 22052 ?        Ssl  mars17   0:20 /usr/local/bin/kube-proxy --config=/var/lib/kube-proxy/config.conf
root     12199  1.7  8.5 326552 174108 ?       Ssl  mars17   4:11 kube-controller-manager --address=127.0.0.1 --leader-elect=true --controllers=*,bootstrapsigner,tokencleaner --cluster-signing-key-file=/etc/kubernetes/pki/ca.key --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt --use-service-account-credentials=true --kubeconfig=/etc/kubernetes/controller-manager.conf --root-ca-file=/etc/kubernetes/pki/ca.crt --service-account-private-key-file=/etc/kubernetes/pki/sa.key
root     22928  0.0  1.0 279884 20752 ?        Sl   01:10   0:00 /home/weave/weaver --port=6783 --datapath=datapath --name=fe:9b:da:25:e2:b2 --host-root=/host --http-addr=127.0.0.1:6784 --status-addr=0.0.0.0:6782 --docker-api= --no-dns --db-prefix=/weavedb/weave-net --ipalloc-range=10.32.0.0/12 --nickname=kubernetes.master --ipalloc-init consensus=1 --conn-limit=30 --expect-npc 192.168.1.70
root     23308  0.0  0.7  38936 15340 ?        Ssl  01:10   0:01 /kube-dns --domain=cluster.local. --dns-port=10053 --config-dir=/kube-dns-config --v=2
65534    23443  0.0  0.8  37120 18028 ?        Ssl  01:10   0:03 /sidecar --v=2 --logtostderr --probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.cluster.local,5,SRV --probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.cluster.local,5,SRV
root     29547  1.6  2.9 819012 61196 ?        Ssl  02:07   0:22 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt --cadvisor-port=0 --cgroup-driver=systemd --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice --rotate-certificates=true --cert-dir=/var/lib/kubelet/pki

v1.9.5 memperbaiki masalah ini, luar biasa! @ bart0sh

@FrostyLeaf Saya masih bisa mereproduksinya dengan 1.9.5:

$ rpm -qa | grep kube
kubeadm-1.9.5-0.x86_64
kubelet-1.9.5-0.x86_64
kubernetes-cni-0.6.0-0.x86_64
kubectl-1.9.5-0.x86_64

$ docker info 2> / dev / null | grep -i cgroup
Cgroup Driver: systemd

$ ps aux | grep cgroup-driver
akar 29078 1.9 0.1 1222632 91824? Ssl 13:45 0:04 / usr / bin / kubelet --bootstrap-kubeconfig = / etc / kubernetes / bootstrap-kubelet.conf --kubeconfig = / etc / kubernetes / kubelet.conf --pod-manifest-path = / etc / kubernetes / manifests --allow-privileged = true --network-plugin = cni --cni-conf-dir = / etc / cni / net.d --cni-bin-dir = / opt / cni / bin - -cluster-dns = 10.96.0.10 --cluster-domain = cluster.local --authorization-mode = Webhook --client-ca-file = / etc / kubernetes / pki / ca.crt --cadvisor-port = 0 - -cgroup-driver = systemd --rotate-certificate = true --cert-dir = / var / lib / kubelet / pki

I0321 13: 50: 29.901008 30817 container_manager_linux.go: 247] Membuat objek Container Manager berdasarkan Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: Contain erRuntime: docker Cgro upsPerQOS: true CgroupRoots: / Cgrg oupDriver: / kubelet ProtectKerne lDefaults: false NodeAllocatableConfig: {KubeReservedCgroupName: SystemReservedCgroupName: EnforceNodeAl locatable: peta [polong: {}] Kub eReserved: map [] Syste mReserved: map [] HardEvictionThresholds: [{ Signal: memory.available Operator: lessthan Nilai: { Kuantitas: 100Mi P ercentage: 0 } Gr acePeriod: 0s MinReclaim:} { Signal: nodefs.available Operator: LessThan Value: {Quantity:Persentase: 0.1 } Gr acePeriod: 0s MinReclaim:} { Signal: nodefs.inodesFree Operator: LessThan Value: {Quantity:Persentase: 0.05 } Gr acePeriod: 0s MinReclaim:} { Signal: imagefs.available Operator: LessThan Value: {Quantity:Persentase: 0.15 } Gr acePeriod: 0s MinReclaim:}]} ExperimentalQO SRServed: map [] ExperimentalCPUMana gerPolicy: none ExperimentalCPUManagerReconc ilePeriod: 10s }
error: gagal dijalankan Kubelet: gagal membuat kubelet: kesalahan konfigurasi: kubelet cgroup driver: "cgroupfs" berbeda dengan driver docker cgroup: "systemd"

Apakah Anda masih menggunakan driver cgroup systemd?

Saya mengusulkan untuk menutup masalah ini

Saya telah mengamati 2 alasan yang menyebabkan sebagian besar laporan di sini:

  1. lupa menjalankan 'systemctl daemon-reload' setelah mengedit drop-in systemd. Meskipun -cgroup-driver = systemd ditambahkan ke /etc/systemd/system/kubelet.service.d/10-kubeadm.conf itu tidak membuat efek apa pun dan default (atau sebelumnya ditentukan dengan --cgroup-driver) driver telah bekas.

  2. menjalankan perintah 'kubelet logs' untuk melihat log kubelet. 'logs' subcommand tidak ada di kubelet, jadi 'kubelet logs' dan 'kubelet' adalah perintah yang sama. 'kubelet logs' menjalankan kubelet dengan driver default cgroup 'cgroupfs' dan kubelet mengeluhkan ketidakkonsistenan antara driver kubelet dan buruh pelabuhan. 'journalctl -ux kubelet' harus digunakan untuk melihat log.

Saya menguji opsi --cgroup-driver = systemd dengan kubelet 1.8.0, 1.9.0, 1.9.3 dan 1.9.5. Tidak ada pesan error "cgroupfs berbeda dari docker cgroup driver: systemd" di log.

@timothysc Tidak ada keberatan atas komentar terakhir saya. Bisakah Anda menutup masalah ini? Ini bukan bug, karena disebabkan oleh kurangnya pengetahuan tentang kubelet dan / atau systemd.

2 hal yang mungkin masuk akal untuk dilakukan dari sudut pandang saya adalah:

  • mengimplementasikan pemeriksaan preflight untuk "kubeadm init" untuk memeriksa apakah driver docker dan kubelet cgroup cocok.
  • membuat kubelet gagal jika menemukan parameter yang tidak diketahui di baris perintah, misalnya "kubelet logs" seharusnya gagal dengan pesan error "unrecognized parameter: logs"

Kami mungkin ingin mempertimbangkan untuk membuat masalah terpisah untuk itu.

Bagaimanapun, masalah ini bisa ditutup.

Segalanya tampak baik-baik saja bagi saya berkat v1.9.5.

Setuju dengan @ bart0sh tentang init yang memeriksa konsistensi driver cgroup antara kubelet dan buruh pelabuhan.
Mungkin `kublet logs {harus diarahkan ke journactl -u kubelet.service

Hanya 2cts saya.

Hai, saya mengalami masalah yang sama.
Centos 7
versi kubeadm adalah: 1.9.6
versi buruh pelabuhan adalah: 1.13.1 Versi API: 1.26
ketika saya berlari: docker info | grep -i cgroup ,
Saya mengerti:
WARNING: You're not using the default seccomp profile Cgroup Driver: systemd

ketika saya menjalankan cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf ,
Saya dapat melihat pengaturan Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd" di tempat.

Saya menjalankan systemctl daemon-reload * dan * systemctl restart kubelet , tetapi masih ditampilkan

kesalahan konfigurasi: kubelet cgroup driver: "cgroupfs" berbeda dari docker cgroup driver: "systemd"

Hal aneh lainnya adalah: ketika saya menjalankan sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
Saya melihat --cgroup-drive diubah menjadi cgroupfs .
Tapi kemudian pesan kesalahan yang sama persis ditampilkan ketika saya menjalankan kubelet status lagi.

kesalahan konfigurasi: kubelet cgroup driver: "cgroupfs" berbeda dari docker cgroup driver: "systemd"

Saya tidak tahu masalahnya.
Saya akan mencoba dengan versi yang disebutkan di atas. Adakah yang tahu cara menginstal kubernetes versi lama? Terima kasih.

@moichen Itu aneh. Ini harus berhasil. Dapatkah Anda menunjukkan keluaran dari perintah berikut?

systemctl daemon-reload
systemctl restart kubelet
docker info 2>/dev/null |grep -i group
ps aux |grep group-driver
journalctl -u kubelet.service | grep "is different from docker cgroup driver"

Inilah yang saya lihat di sistem saya:

# systemctl daemon-reload
# systemctl restart kubelet
# docker info 2>/dev/null |grep -i group
Cgroup Driver: systemd
# ps aux |grep group-driver
root     25062  5.7  0.1 983760 78888 ?        Ssl  15:26   0:00 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --cluster-dns=NN.NN.NN.NN --cluster-domain=cluster.local --authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt --cadvisor-port=0 --cgroup-driver=systemd --rotate-certificates=true --cert-dir=/var/lib/kubelet/pki
root     25520  0.0  0.0   9288  1560 pts/0    R+   15:26   0:00 grep --color=auto group-driver
# journalctl -u kubelet.service | grep "is different from docker cgroup driver"
#

@ bart0sh Hai, terima kasih atas bantuannya.
Inilah yang saya miliki (sebelum memulai kubeadm init):
[root<strong i="8">@localhost</strong> bin]# docker info 2>/dev/null |grep -i group Cgroup Driver: systemd [root<strong i="9">@localhost</strong> bin]# ps aux |grep group-driver root 13472 0.0 0.1 12476 984 pts/0 R+ 13:23 0:00 grep --color=auto group-driver

Setelah mengetik perintah kubeadm init,
inilah yang saya miliki:
[vagrant<strong i="14">@localhost</strong> ~]$ ps aux |grep group-driver root 13606 5.1 4.5 605240 22992 ? Ssl 13:25 0:03 /usr/bin/kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin --cluster-dns=10.96.0.10 --cluster-domain=cluster.local --cgroup-driver=systemd --hostname-override=default vagrant 13924 0.0 0.1 12476 984 pts/1 R+ 13:26 0:00 grep --color=auto group-driver

Tapi kemudian kubeadm init akan gagal karena kubelet tidak sehat atau kubelet tidak berjalan.

@moqichenle apakah Anda menjalankan systemctl daemon-reload dan systemctl restart kubelet sebelum menjalankan kubeadm init ?

Dapatkah Anda menjalankan journalctl -u kubelet.service setelah kubeadm init dan menampilkan hasilnya di sini?

Ya, saya menjalankan dua perintah sebelum init.
Hal yang aneh: Saya tidak melihat hasil apapun ketika saya menjalankan journalctl -u kubelet.service | grep "is different from docker cgroup driver" .
Saya hanya melihat kesalahan itu ketika saya menjalankan kubelet status .

@moqichenle kubelet status Perintah tidak ada. Itu berarti Anda menjalankan kubelet dengan parameter default (dan driver cgroup default). Itulah mengapa Anda mendapatkan kesalahan tersebut. Lihat pesan saya tentang kubelet logs untuk lebih jelasnya.

Apakah Anda melihat sesuatu yang mencurigakan (kesalahan, peringatan) pada keluaran journalctl -u kubelet.service ?

Ah, begitu. Terima kasih. :)
hmm .. ada error di bawah ini:
Mar 26 13:39:40 localhost.localdomain kubelet[13606]: E0326 13:39:34.198202 13606 kuberuntime_image.go:140] ListImages failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:39:45 localhost.localdomain kubelet[13606]: E0326 13:39:44.824222 13606 kubelet.go:1259] Container garbage collection failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:39:47 localhost.localdomain kubelet[13606]: W0326 13:39:44.749819 13606 image_gc_manager.go:173] [imageGCManager] Failed to monitor images: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:39:49 localhost.localdomain kubelet[13606]: E0326 13:39:49.486990 13606 kubelet.go:1281] Image garbage collection failed once. Stats initialization may not have completed yet: failed to get image stats: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.934312 13606 remote_runtime.go:169] ListPodSandbox with filter nil from runtime service failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.934359 13606 kuberuntime_sandbox.go:192] ListPodSandbox failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.934374 13606 generic.go:197] GenericPLEG: Unable to retrieve pods: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.936761 13606 remote_image.go:67] ListImages with filter nil from image service failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.936788 13606 kuberuntime_image.go:106] ListImages failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: W0326 13:42:03.936795 13606 image_gc_manager.go:184] [imageGCManager] Failed to update image list: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.937002 13606 remote_runtime.go:69] Version from runtime service failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded Mar 26 13:42:03 localhost.localdomain kubelet[13606]: E0326 13:42:03.937020 13606 kuberuntime_manager.go:245] Get remote runtime version failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded

Ketika saya menjalankan kubeadm init, jika pengaturan drive cgroup berbeda:
Itu menunjukkan:
`[etcd] Menuliskan manifes Pod Statis untuk instance etcd lokal menjadi" /etc/kubernetes/manifests/etcd.yaml "
[init] Menunggu kubelet untuk menjalankan control plane sebagai Static Pod dari direktori "/ etc / kubernetes / manifests".
[init] Ini mungkin memakan waktu satu menit atau lebih jika gambar bidang kontrol harus ditarik.
[kubelet-check] Sepertinya kubelet tidak berjalan atau tidak sehat.
Jika pengaturan drive cgroup sama,
itu hanya berhenti pada langkah menarik panel kontrol dan berakhir dengan kubelet tidak sehat atau tidak berjalan.

@moqichenle sepertinya masalah buruh pelabuhan bagi saya. Ini tidak ada hubungannya dengan yang saya percayai.

Anda dapat menelusuri "batas waktu konteks terlampaui" untuk info lebih lanjut.

@ bart0sh Ya, Jangan berpikir itu terkait dengan masalah ini lagi. akan melakukan. Terima kasih banyak: D

PR ini akan membantu mengurangi kebingungan yang disebabkan oleh menjalankan 'kubelet logs', 'kubelet status' dan perintah kubelet lain yang tidak ada: # 61833

Itu membuat kubelet menghasilkan kesalahan dan keluar jika dijalankan dengan baris perintah yang salah.

Tolong, tinjau.

Hai, saya dapat mereproduksi masalah ini di 1.10, hanya untuk memeriksa apakah ini bug dan akan diperbaiki di v1.11?

apakah ini bug dan akan diperbaiki di v1.11

IMO ini adalah ketidakcocokan konfigurasi antara docker dan kubelet , bukan bug.

Sebelum menjalankan kubeadm init , pemeriksaan prasyarat pada driver cgroup harus dilakukan.

@dixudx Saya mencoba menginstal k8s diikuti oleh panduan instalasi dari situs web https://kubernetes.io/docs/setup/independent/install-kubeadm/ , dan langkah-langkah ditahan oleh masalah ini, di bawah ini adalah detail lingkungan saya ;

OS:

CentOS Linux release 7.4.1708 (Core)

Buruh pelabuhan:
<br i="12"/>
  Server Version:  1.13.1<br i="13"/>
 API version:     1.26 (minimum version 1.12)<br i="14"/>
 Package version: <unknown i="15"><br i="16"/>
 Go version:      go1.8.3<br i="17"/>
 Git commit:      774336d/1.13.1<br i="18"/>
 Built:           Wed Mar  7 17:06:16 2018<br i="19"/>
 OS/Arch:         linux/amd64<br i="20"/>
 Experimental:    false</unknown>

K8S:
kubeadm.x86_64                     1.10.1-0<br i="24"/>
kubectl.x86_64                     1.10.1-0<br i="25"/>
kubelet.x86_64                     1.10.1-0<br i="26"/>
kubernetes-cni.x86_64              0.6.0-0                          

Cgroup antara buruh pelabuhan dan kubelet

docker info | grep -i cgroup<br i="30"/>
  WARNING: You're not using the default seccomp profile<br i="31"/>
Cgroup Driver: systemd

cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf | grep -i cgroup<br i="35"/> Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"

Ini adalah cgroup yang sama dengan systemd, jadi tidak perlu menyesuaikan cgroup dari kubelet secara manual. Dan saya mulai menjalankan kubelet tetapi gagal karena pesan kesalahan seperti yang disebutkan

[root@K8S-Master /]# kubelet logs
I0424 10:41:29.240854   19245 feature_gate.go:226] feature gates: &{{} map[]}
W0424 10:41:29.247770   19245 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
W0424 10:41:29.253069   19245 hostport_manager.go:68] The binary conntrack is not installed, this can cause failures in network connection cleanup.
I0424 10:41:29.253111   19245 server.go:376] Version: v1.10.1
I0424 10:41:29.253175   19245 feature_gate.go:226] feature gates: &{{} map[]}
I0424 10:41:29.253290   19245 plugins.go:89] No cloud provider specified.
W0424 10:41:29.253327   19245 server.go:517] standalone mode, no API client
W0424 10:41:29.283851   19245 server.go:433] No api server defined - no events will be sent to API server.
I0424 10:41:29.283867   19245 server.go:613] --cgroups-per-qos enabled, but --cgroup-root was not specified.  defaulting to /
I0424 10:41:29.284091   19245 container_manager_linux.go:242] container manager verified user specified cgroup-root exists: /
I0424 10:41:29.284101   19245 container_manager_linux.go:247] Creating Container Manager object based on Node Config: {RuntimeCgroupsName: SystemCgroupsName: KubeletCgroupsName: ContainerRuntime:docker CgroupsPerQOS:true CgroupRoot:/ CgroupDriver:cgroupfs KubeletRootDir:/var/lib/kubelet ProtectKernelDefaults:false NodeAllocatableConfig:{KubeReservedCgroupName: SystemReservedCgroupName: EnforceNodeAllocatable:map[pods:{}] KubeReserved:map[] SystemReserved:map[] HardEvictionThresholds:[{Signal:memory.available Operator:LessThan Value:{Quantity:100Mi Percentage:0} GracePeriod:0s MinReclaim:<nil i="39">} {Signal:nodefs.available Operator:LessThan Value:{Quantity:<nil i="40"> Percentage:0.1} GracePeriod:0s MinReclaim:<nil i="41">} {Signal:nodefs.inodesFree Operator:LessThan Value:{Quantity:<nil i="42"> Percentage:0.05} GracePeriod:0s MinReclaim:<nil i="43">} {Signal:imagefs.available Operator:LessThan Value:{Quantity:<nil i="44"> Percentage:0.15} GracePeriod:0s MinReclaim:<nil i="45">}]} ExperimentalQOSReserved:map[] ExperimentalCPUManagerPolicy:none ExperimentalCPUManagerReconcilePeriod:10s ExperimentalPodPidsLimit:-1 EnforceCPULimits:true}
I0424 10:41:29.284195   19245 container_manager_linux.go:266] Creating device plugin manager: true
I0424 10:41:29.284242   19245 state_mem.go:36] [cpumanager] initializing new in-memory state store
I0424 10:41:29.284292   19245 state_mem.go:87] [cpumanager] updated default cpuset: ""
I0424 10:41:29.284326   19245 state_mem.go:95] [cpumanager] updated cpuset assignments: "map[]"
W0424 10:41:29.286890   19245 kubelet_network.go:139] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth"
I0424 10:41:29.286912   19245 kubelet.go:556] Hairpin mode set to "hairpin-veth"
I0424 10:41:29.288233   19245 client.go:75] Connecting to docker on unix:///var/run/docker.sock
I0424 10:41:29.288268   19245 client.go:104] Start docker client with request timeout=2m0s
W0424 10:41:29.289762   19245 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
W0424 10:41:29.292669   19245 hostport_manager.go:68] The binary conntrack is not installed, this can cause failures in network connection cleanup.
I0424 10:41:29.293904   19245 docker_service.go:244] Docker cri networking managed by kubernetes.io/no-op
I0424 10:41:29.302849   19245 docker_service.go:249] Docker Info: &amp;{ID:UJ6K:K2AW:HKQY:5MRL:KROX:FTJV:3TKY:GHGI:L7GV:UQFP:AU2Q:AKC6 Containers:0 ContainersRunning:0 ContainersPaused:0 ContainersStopped:0 Images:0 Driver:overlay2 DriverStatus:[[Backing Filesystem xfs] [Supports d_type true] [Native Overlay Diff true]] SystemStatus:[] Plugins:{Volume:[local] Network:[bridge host macvlan null overlay] Authorization:[] Log:[]} MemoryLimit:true SwapLimit:true KernelMemory:true CPUCfsPeriod:true CPUCfsQuota:true CPUShares:true CPUSet:true IPv4Forwarding:true BridgeNfIptables:true BridgeNfIP6tables:true Debug:false NFd:16 OomKillDisable:true NGoroutines:26 SystemTime:2018-04-24T10:41:29.295491971+08:00 LoggingDriver:journald CgroupDriver:systemd NEventsListener:0 KernelVersion:3.10.0-693.5.2.el7.x86_64 OperatingSystem:CentOS Linux 7 (Core) OSType:linux Architecture:x86_64 IndexServerAddress:https://index.docker.io/v1/ RegistryConfig:0xc4203dcbd0 NCPU:4 MemTotal:8371650560 GenericResources:[] DockerRootDir:/var/lib/docker HTTPProxy: HTTPSProxy: NoProxy: Name:K8S-Master Labels:[] ExperimentalBuild:false ServerVersion:1.13.1 ClusterStore: ClusterAdvertise: Runtimes:map[docker-runc:{Path:/usr/libexec/docker/docker-runc-current Args:[]} runc:{Path:docker-runc Args:[]}] DefaultRuntime:docker-runc Swarm:{NodeID: NodeAddr: LocalNodeState:inactive ControlAvailable:false Error: RemoteManagers:[] Nodes:0 Managers:0 Cluster:0xc4201317c0} LiveRestoreEnabled:false Isolation: InitBinary:docker-init ContainerdCommit:{ID: Expected:aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1} RuncCommit:{ID:N/A Expected:9df8b306d01f59d3a8029be411de015b7304dd8f} InitCommit:{ID:N/A Expected:949e6facb77383876aeff8a6944dde66b3089574} SecurityOptions:[name=seccomp,profile=/etc/docker/seccomp.json name=selinux]}
F0424 10:41:29.302989   19245 server.go:233] failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: <font i="46">"cgroupfs"</font> is different from docker cgroup driver: "systemd"</nil></nil></nil></nil></nil></nil></nil>

Info utama yang saya lihat dari log adalah CgroupDriver masih cgroupfs, saya rasa itulah alasan yang menyebabkan masalah ketidakcocokan cgroup, tetapi tidak tahu cara menyesuaikan nilai default ini? dapatkah Anda membantu menjelaskannya, terima kasih!

@wshandao Harap berhenti menggunakan kubelet logs , yang bukan merupakan cara yang tepat untuk melihat log.

Cara yang benar untuk melihat log adalah journalctl -f -u kubelet .

Terima kasih @dixudx , kesalahan saya dan ini sebenarnya bukan masalah untuk menahan instalasi saya

Saya setuju dengan permintaan untuk menutup yang satu ini.
dokumentasi sudah mencakup bahwa pengguna perlu memverifikasi driver cgroups yang cocok.

ini tidak tergantung pada kubeadm dan lebih merupakan masalah kubelet vs buruh pelabuhan.

laporan serupa:
https://github.com/kubernetes/kubernetes/issues/59794
https://github.com/openshift/origin/issues/18776
https://github.com/kubernetes/kubernetes/issues/43805

@tokopedia

FWIW ini default di RPM tapi tidak di .debs. Apakah ada distribusi saat ini di dukungan utama yang tidak default ke systemd sekarang?

saya telah menguji ini pada 3 tulang kosong Ubuntu 16.04.2, 16.04.0, 17.04 yang berbeda dan tampaknya driver buruh pelabuhan adalah cgroupfs , yang cocok dengan nilai argumen default dari kublet.

tidak seperti laporan pengguna di posting asli di mana pekerja galangan menggunakan systemd pada 16.04.3 , jadi ini bisa menjadi konfigurasi buruh pelabuhan yang berubah di antara versi buruh pelabuhan. sulit untuk diceritakan.

mengingat pengujian saya, saya tidak melihat kebutuhan untuk menambahkan Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd" di debs karena itu akan salah setidaknya untuk versi Ubuntu ini.

apa yang mungkin harus dilakukan kublet untuk UX yang ramah adalah selalu mencocokkan driver buruh pelabuhan secara otomatis.

@ neoly setuju.

Namun saya pikir kita harus membuka dokumen pemecahan masalah JIC.
Menutup yang ini dan saya akan memulai dokumen saya.

Saya mengalami masalah yang sama di Ubuntu 16.04, Kube versi v1.10.4. Docker versi 1.13.1
Docker dimulai dengan native.cgroupdriver = systemd. Konfigurasi ini saya buat di /etc/docker/daemon.json

{
"exec-opts": ["native.cgroupdriver=systemd"]
}

Saya telah mengubah konfigurasi di /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
Menambahkan baris baru: Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Dan tambahkan parameter $KUBELET_CGROUP_ARGS di ExecStart

Kemudian lakukan reload daemon systemctl dan layanan kubelet restart.
Kubelet memulai dengan benar.

@tokopedia

kami sedang memperbaiki dokumen pemecahan masalah kami, tetapi juga di 1.11 dan kemudian driver cgroup untuk buruh pelabuhan harus secara otomatis dicocokkan oleh kubeadm.

Saya pikir itu bug. Saya memeriksa versi buruh pelabuhan dan file kubeadm, tentu saja skrip kubeadm melakukan pemeriksaan itu juga. Namun saya mendapatkan pesan err mismatch. Jika seseorang pernah membaca dengan seksama Anda dapat melihat beberapa di atas memiliki masalah SETELAH mengatur parameter dengan benar.

ini masih terjadi, tidak ada yang berhasil!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat