请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

kubectl exec -it 无法访问到pod

请教老师,为什么在我使用的node上无法执行kubectl exec -it 无法进入pod中?

[root@VM-8-15-centos docs]# kubectl get pod -n ingress-nginx
NAME                                        READY   STATUS    RESTARTS   AGE
nginx-ingress-controller-84865c44d9-rxr4p   1/1     Running   0          17m

但是执行exec命令时报错:

[root@VM-8-15-centos docs]# kubectl exec -it nginx-ingress-controller-84865c44d9-rxr4p sh -n ingress-nginx
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Error from server: error dialing backend: dial tcp 172.16.0.11:10250: i/o timeout

然后为了研究是哪里出了问题,我检查到底是什么问题。于是,找到6-2nginx-deplyment.yaml 创建的pod实验,执行:

[root@VM-8-15-centos docs]# kubectl get pod -o wide
NAME                        READY   STATUS    RESTARTS   AGE   IP            NODE             NOMINATED NODE   READINESS GATES
my-nginx-6d97ddfff5-cwbl2   1/1     Running   0          99m   10.244.1.11   vm-0-11-centos   <none>           <none>
my-nginx-6d97ddfff5-wgxjp   1/1     Running   0          99m   10.244.2.20   vm-8-15-centos   <none>           <none>

但是执行exec的时候也都是timeout

[root@VM-8-15-centos docs]# kubectl exec -it my-nginx-6d97ddfff5-wgxjp sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Error from server: error dialing backend: dial tcp 10.0.8.15:10250: i/o timeout
[root@VM-8-15-centos docs]# kubectl exec -it my-nginx-6d97ddfff5-cwbl2 sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Error from server: error dialing backend: dial tcp 172.16.0.11:10250: i/o timeout

正在回答 回答被采纳积分+3

2回答

提问者 拧壶冲 2021-12-18 19:47:17

https://img1.sycdn.imooc.com//szimg/61bdca2f090afe3916180922.jpg

都带了namespace的参数

0 回复 有任何疑惑可以回复我~
清风 2021-12-18 09:51:20

要加上 -n Ingress-nginx

0 回复 有任何疑惑可以回复我~
  • 提问者 拧壶冲 #1
    清风老师,你好。
    上面的命名都带了-n Ingress-nginx
    回复 有任何疑惑可以回复我~ 2021-12-18 19:47:47
  • 清风 #2
    你看下系统服务,get all kube-system 是不是flannel 有问题
    回复 有任何疑惑可以回复我~ 2021-12-18 19:49:17
  • 提问者 拧壶冲 回复 清风 #3
    ```
    [root@VM-0-11-centos ~]# kubectl get all -n kube-system
    NAME                                        READY   STATUS    RESTARTS   AGE
    pod/coredns-d8dcc8965-2r9cw                 1/1     Running   0          33h
    pod/coredns-d8dcc8965-cfrct                 1/1     Running   0          33h
    pod/coredns-d8dcc8965-dzsbs                 1/1     Running   0          33h
    pod/kube-flannel-ds-2lbh9                   1/1     Running   4          34d
    pod/kube-flannel-ds-fmg8b                   1/1     Running   3          34d
    pod/kube-flannel-ds-mx7w9                   1/1     Running   3          34d
    pod/kube-proxy-4svcv                        1/1     Running   2          34d
    pod/kube-proxy-d9nlm                        1/1     Running   2          34d
    pod/kube-proxy-dghj9                        1/1     Running   3          34d
    ```
    flannel的container都是支持在master,node1和node2上的。
    不过我在之前部署环境后,看到问有人和我一样的问题,建议delete coredns再重新创建。我将coredns.yaml中的replicas由2改为了3。
    是不是coredns删除后再创建,flannel也要重新再创建一次?
    回复 有任何疑惑可以回复我~ 2021-12-18 21:58:11
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信