Kubernetes 未能更新节点租约,错误:无法对租约执行操作。coordination.k8s.io“;杨",;
我使用两个基于VMware worstation pro 15.5的虚拟机来学习和练习k8s 操作系统:Ubuntu 18.04.3Kubernetes 未能更新节点租约,错误:无法对租约执行操作。coordination.k8s.io“;杨",;,kubernetes,kubelet,Kubernetes,Kubelet,我使用两个基于VMware worstation pro 15.5的虚拟机来学习和练习k8s 操作系统:Ubuntu 18.04.3 码头工人:18.09.7 kubectl kubeadm kubelet v1.17.3 法兰绒:v0.11.0-amd64 在主节点上执行kubeadm init--kubernetes version=v1.17.3--apisever advision address 192.168.0.100--pod network cidr=10.244.0.0/16
码头工人:18.09.7
kubectl kubeadm kubelet v1.17.3 法兰绒:v0.11.0-amd64 在主节点上执行
kubeadm init--kubernetes version=v1.17.3--apisever advision address 192.168.0.100--pod network cidr=10.244.0.0/16
后,一切正常,kubectl get nodes
显示主节点已准备就绪
但是在我在从属节点上使用kubeadm join
后,主节点的kube系统pod减少,只有存在coredns kube flannel kube代理
systemctl status kubelet
显示
更新节点租约失败,错误:无法对leaves.coordination.k8s.io“yang”执行操作;对象已修改,请将更改应用到最新版本,然后重试
正在尝试删除pod kube-……
另外kubectl获取节点
show-only have-master节点。以下是脚本
第一个是建立docker kubeadm kubelet kubectl
#!/bin/bash
apt-get -y autoremove docker docker-engine docker.io docker-ce
apt-get update -y
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
apt-get vim net-tools
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get update -y
# docker源加速
mkdir -p /etc/docker
echo '{"registry-mirrors":["https://vds6zmad.mirror.aliyuncs.com"]}' > /etc/docker/daemon.json
# 安装docker
apt-get install docker.io -y
# 启动和自启动
systemctl start docker
systemctl enable docker
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
#配置kubernetes阿里源
tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
# 设置停止自动更新
apt-mark hold kubelet kubeadm kubectl
# kubelet开机自启动
systemctl enable kubelet && systemctl start kubelet
当我只启动master时,命令kubectl get pods——所有名称空间都显示这些
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6955765f44-gxq7p 1/1 Running 6 43h
kube-system coredns-6955765f44-xmcbq 1/1 Running 6 43h
kube-system etcd-yang 1/1 Running 61 14h
kube-system kube-apiserver-yang 1/1 Running 48 14h
kube-system kube-controller-manager-yang 1/1 Running 6 14h
kube-system kube-flannel-ds-amd64-v58g6 1/1 Running 5 43h
kube-system kube-proxy-2vcwg 1/1 Running 5 43h
kube-system kube-scheduler-yang 1/1 Running 6 14h
命令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 2020-02-28 13:19:08 CST; 9min ago
Docs: https://kubernetes.io/docs/home/
Main PID: 686 (kubelet)
Tasks: 0 (limit: 4634)
CGroup: /system.slice/kubelet.service
└─686 /usr/bin/kubelet --cgroup-driver=systemd --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/v
2月 28 13:19:27 yang kubelet[686]: W0228 13:19:27.709246 686 pod_container_deletor.go:75] Container "900ab1df52d8bbc9b3b0fc035df30ae242d2c8943486dc21183a6ccc5bd22c9b" not found in pod's containers
2月 28 13:19:27 yang kubelet[686]: W0228 13:19:27.710478 686 cni.go:331] CNI failed to retrieve network namespace path: cannot find network namespace for the terminated container "900ab1df52d8bbc9b3b0fc035df30ae242d2c8943486dc21183a6ccc5bd22c9b"
2月 28 13:19:28 yang kubelet[686]: E0228 13:19:28.512094 686 cni.go:364] Error adding kube-system_coredns-6955765f44-xmcbq/1f179bccaa042b92bd0f9ed97c0bf6f129bc986c574ca32c5435827eecee4f29 to network flannel/cbr0: open /run/flannel/subnet.env: no suc
2月 28 13:19:29 yang kubelet[686]: E0228 13:19:29.002294 686 remote_runtime.go:105] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to set up sandbox container "1f179bccaa042b92bd0f9ed97c0bf6f129bc986c574ca32c54358
2月 28 13:19:29 yang kubelet[686]: E0228 13:19:29.002345 686 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "coredns-6955765f44-xmcbq_kube-system(7e9ca770-f27c-4143-a025-cd6316a1a7e4)" failed: rpc error: code = Unknown desc = failed to set up s
2月 28 13:19:29 yang kubelet[686]: E0228 13:19:29.002357 686 kuberuntime_manager.go:729] createPodSandbox for pod "coredns-6955765f44-xmcbq_kube-system(7e9ca770-f27c-4143-a025-cd6316a1a7e4)" failed: rpc error: code = Unknown desc = failed to set up
2月 28 13:19:29 yang kubelet[686]: E0228 13:19:29.002404 686 pod_workers.go:191] Error syncing pod 7e9ca770-f27c-4143-a025-cd6316a1a7e4 ("coredns-6955765f44-xmcbq_kube-system(7e9ca770-f27c-4143-a025-cd6316a1a7e4)"), skipping: failed to "CreatePodSan
2月 28 13:19:29 yang kubelet[686]: W0228 13:19:29.802166 686 docker_sandbox.go:394] failed to read pod IP from plugin/docker: networkPlugin cni failed on the status hook for pod "coredns-6955765f44-xmcbq_kube-system": CNI failed to retrieve network
2月 28 13:19:29 yang kubelet[686]: W0228 13:19:29.810632 686 pod_container_deletor.go:75] Container "1f179bccaa042b92bd0f9ed97c0bf6f129bc986c574ca32c5435827eecee4f29" not found in pod's containers
2月 28 13:19:29 yang kubelet[686]: W0228 13:19:29.823318 686 cni.go:331] CNI failed to retrieve network namespace path: cannot find network namespace for the terminated container "1f179bccaa042b92bd0f9ed97c0bf6f129bc986c574ca32c5435827eecee4f29"
但是当我启动从节点时,POD会减少
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6955765f44-gxq7p 1/1 Running 3 43h
kube-system coredns-6955765f44-xmcbq 1/1 Running 3 43h
kube-system kube-flannel-ds-amd64-v58g6 1/1 Running 3 43h
kube-system kube-proxy-2vcwg 1/1 Running 3 43h
今天,我使用相同的脚本成功地建立了一个k8s集群。在执行此操作之前,请确保两个虚拟机可以相互ssh,并且主节点已设置静态IP。我不知道确切原因。我遇到了相同的问题。以下是我的解决方法:
检查主节点和工作节点的名称,如果它们相同,请修改/etc/hostname和/etc/hosts
库比德复位
kubeadm init--节点名称//指定节点名称以避免重复名称
我在两个虚拟机上设置了k8s,第二个虚拟机是从另一个虚拟机克隆的。。。所以它们有相同的主机名,在执行kubeadm join时发生冲突…您是否尝试将主节点和从节点放在同一个VM中?是的,我使用vmware工作站。顺便说一下,我以前在两台笔记本电脑上设置过k8s,使用相同的脚本,版本为1.17.2,成功。但这次,我使用的VM失败了。虚拟机似乎有我没有正确设置的地方。您是否复制并粘贴了该命令?因为apiseRver播发地址192.168.0.100
在apiseRver上丢失了一个字母,并且会导致错误…还有,您要使用什么脚本来部署它,我们需要所有信息来帮助您排除故障。我在问题中添加了一些信息。也许这有助于解决问题。谢谢,所以您最好不要使用现有照片中的虚拟机克隆。
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6955765f44-gxq7p 1/1 Running 3 43h
kube-system coredns-6955765f44-xmcbq 1/1 Running 3 43h
kube-system kube-flannel-ds-amd64-v58g6 1/1 Running 3 43h
kube-system kube-proxy-2vcwg 1/1 Running 3 43h