无法升级连接:pod不存在

时间:2020-01-07 13:24:04

标签: kubernetes

我想访问我的广告连播时出现错误:

错误:无法升级连接:pod不存在

这是一个包含3个节点的群集,下面有一些详细信息。预先感谢

root@kubm:~/deploy/nginx# kubectl get nodes -o wide

NAME       STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME

kubm       Ready    master   37h   v1.17.0   10.0.2.15     <none>        Ubuntu 16.04.6 LTS   4.4.0-150-generic   docker://19.3.5

kubnode    Ready    <none>   37h   v1.17.0   10.0.2.15     <none>        Ubuntu 16.04.6 LTS   4.4.0-150-generic   docker://19.3.5

kubnode2   Ready    <none>   37h   v1.17.0   10.0.2.15     <none>        Ubuntu 16.04.6 LTS   4.4.0-150-generic   docker://19.3.5

root@kubm:~/deploy/nginx# kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE       NOMINATED NODE   READINESS GATES

nginx-59c9f8dff-v7dvg   1/1     Running   0          16h   10.244.2.3   kubnode2   <none>           <none>

root@kubm:~/deploy/nginx# kubectl exec -it nginx-59c9f8dff-v7dvg -- /bin/bash

**error: unable to upgrade connection: pod does not exist**

3 个答案:

答案 0 :(得分:1)

我第一次使用VagrantVirtualbox运行集群时遇到了相同的问题。

KUBELET_EXTRA_ARGS=--node-ip=x.x.x.x中添加x.x.x.x,其中/etc/default/kubelet是您的VM的IP(例如,这可以是配置脚本的一部分),然后重新启动kubelet(systemctl restart kubelet)可以修复问题。

这是向kubelet添加额外的运行时参数的推荐方法,如/etc/systemd/system/kubelet.service.d/10-kubeadm.conf所示。或者,您也可以编辑kubelet下的/etc/kubernetes/kubelet.conf配置文件

答案 1 :(得分:0)

10.0.2.15 IP地址是virtualbox NAT的默认地址

如果使用VM部署vagrantfile,则eth0适配器将使用10.0.2.15 IP地址,而eth1适配器将被分配另一个IP地址。

K8s使用eth0适配器在Pod之间路由数据包。

答案 2 :(得分:-2)

我使用以下命令进入吊舱。

kubectl exec -i -t <pod-name> -- /bin/bash

注意 -i-t标志在命令上有空格。

如果您有多容器容器,则应使用-c标志传递容器名称,否则默认情况下它将连接到POD中的第一个容器。

ubuntu@cluster-master:~$ kubectl exec -i -t nginx -- /bin/bash
root@nginx:/# whoami
root
root@nginx:/# date
Tue Jan  7 14:12:29 UTC 2020
root@nginx:/#

请参阅命令的帮助部分 kubectl exec --help