Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 未能更新节点租约,错误:无法对租约执行操作。coordination.k8s.io“;杨",;_Kubernetes_Kubelet - Fatal编程技术网

Kubernetes 未能更新节点租约,错误:无法对租约执行操作。coordination.k8s.io“;杨",;

Kubernetes 未能更新节点租约,错误:无法对租约执行操作。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

我使用两个基于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
后,一切正常,
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