无法从部署在工作节点上的 Pod 执行 ping 操作
Can't to able to ping from pod deployed on worker node
我有一个主节点和一个工作节点
在工作节点上,我只是 运行 2 个命令
a)kubeadm reset
b)kubeadm join ......... ..... ..... ....
那么我是否需要像我在主节点上所做的那样做任何事情?
a)kubeadm init
b)kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
因为我还没有完成 kubeadm init 因为我认为它会成为主节点,
无论如何,我无法使用任何命令,如 kubectl get nodes、kubectl get pods.
我的主节点和工作节点状态都准备好了
我在主节点上部署了一个 pod,我可以 ping www.google.com
但是当我使用
部署一个 pod 时
spec:
nodeSelector :
nodeName : nodeName
所以我使用标签在 Worker 节点上成功部署了 pod
但我无法在 pod 内 ping
主节点的命令输出:-
aquilak8suser@ip-172-31-6-149:/$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-172-31-11-87 Ready <none> 4h35m v1.13.3
ip-172-31-6-149 Ready master 11h v1.13.3
aquilak8suser@ip-172-31-6-149:/$ kubectl get pods -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
calico-kube-controllers-5f454f49dd-75r5w 1/1 Running 0 11h 192.168.179.67 ip-172-31-6-149 <none> <none>
calico-node-298r4 0/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
calico-node-5979v 0/1 Running 0 4h37m 172.31.11.87 ip-172-31-11-87 <none> <none>
coredns-86c58d9df4-6rzt2 1/1 Running 0 11h 192.168.179.65 ip-172-31-6-149 <none> <none>
coredns-86c58d9df4-722tb 1/1 Running 0 11h 192.168.179.66 ip-172-31-6-149 <none> <none>
etcd-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-apiserver-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-controller-manager-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-proxy-496gh 1/1 Running 0 4h37m 172.31.11.87 ip-172-31-11-87 <none> <none>
kube-proxy-7684r 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-scheduler-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
aquilak8suser@ip-172-31-6-149:/$ kubectl logs coredns-86c58d9df4-6rzt2 --tail=200 -n kube-system
.:53
2019-06-06T04:20:31.271Z [INFO] CoreDNS-1.2.6
2019-06-06T04:20:31.271Z [INFO] linux/amd64, go1.11.2, 756749c
CoreDNS-1.2.6
linux/amd64, go1.11.2, 756749c
[INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
root@spring-boot-demo-pricing-66f668cbb4-q5dc2:/# cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local us-east-2.compute.internal
options ndots:5
root@spring-boot-demo-pricing-66f668cbb4-q5dc2:/#
不,您不需要在工作节点中 运行 kubeadm init
或 kubectl apply -f "https://cloud.weave......
。 Check
要从工作节点使用 kubectl 命令,您需要将 /etc/kubernetes/admin.conf 文件传输到工作节点并将其放入 /{username}/.kube/config
scp /etc/kubernetes/admin.conf {workerNoderUser}@{workerNoderIP}:/{username}/.kube/config
传输配置后,您也可以 运行 工作节点中的 kubectl 命令。
- 无法从工作节点的 pod ping 通的原因有很多。首先检查您的工作节点本身是否可以 ping 到 google.com。如果可行,则检查您的集群 dns,它是 kube-dns 或 coredns,检查它们的日志以及它们是否健康。您也可以尝试删除 /etc/resolv.conf 并添加 public dns 服务器,如 google 的 (8.8.8.8)。最后大家可以关注this
我有一个主节点和一个工作节点
在工作节点上,我只是 运行 2 个命令
a)kubeadm reset
b)kubeadm join ......... ..... ..... ....
那么我是否需要像我在主节点上所做的那样做任何事情?
a)kubeadm init
b)kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
因为我还没有完成 kubeadm init 因为我认为它会成为主节点, 无论如何,我无法使用任何命令,如 kubectl get nodes、kubectl get pods.
我的主节点和工作节点状态都准备好了
我在主节点上部署了一个 pod,我可以 ping www.google.com
但是当我使用
部署一个 pod 时spec:
nodeSelector :
nodeName : nodeName
所以我使用标签在 Worker 节点上成功部署了 pod
但我无法在 pod 内 ping
主节点的命令输出:-
aquilak8suser@ip-172-31-6-149:/$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-172-31-11-87 Ready <none> 4h35m v1.13.3
ip-172-31-6-149 Ready master 11h v1.13.3
aquilak8suser@ip-172-31-6-149:/$ kubectl get pods -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
calico-kube-controllers-5f454f49dd-75r5w 1/1 Running 0 11h 192.168.179.67 ip-172-31-6-149 <none> <none>
calico-node-298r4 0/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
calico-node-5979v 0/1 Running 0 4h37m 172.31.11.87 ip-172-31-11-87 <none> <none>
coredns-86c58d9df4-6rzt2 1/1 Running 0 11h 192.168.179.65 ip-172-31-6-149 <none> <none>
coredns-86c58d9df4-722tb 1/1 Running 0 11h 192.168.179.66 ip-172-31-6-149 <none> <none>
etcd-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-apiserver-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-controller-manager-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-proxy-496gh 1/1 Running 0 4h37m 172.31.11.87 ip-172-31-11-87 <none> <none>
kube-proxy-7684r 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
kube-scheduler-ip-172-31-6-149 1/1 Running 0 11h 172.31.6.149 ip-172-31-6-149 <none> <none>
aquilak8suser@ip-172-31-6-149:/$ kubectl logs coredns-86c58d9df4-6rzt2 --tail=200 -n kube-system
.:53
2019-06-06T04:20:31.271Z [INFO] CoreDNS-1.2.6
2019-06-06T04:20:31.271Z [INFO] linux/amd64, go1.11.2, 756749c
CoreDNS-1.2.6
linux/amd64, go1.11.2, 756749c
[INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
root@spring-boot-demo-pricing-66f668cbb4-q5dc2:/# cat /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local us-east-2.compute.internal
options ndots:5
root@spring-boot-demo-pricing-66f668cbb4-q5dc2:/#
不,您不需要在工作节点中 运行
kubeadm init
或kubectl apply -f "https://cloud.weave......
。 Check要从工作节点使用 kubectl 命令,您需要将 /etc/kubernetes/admin.conf 文件传输到工作节点并将其放入 /{username}/.kube/config
scp /etc/kubernetes/admin.conf {workerNoderUser}@{workerNoderIP}:/{username}/.kube/config
传输配置后,您也可以 运行 工作节点中的 kubectl 命令。
- 无法从工作节点的 pod ping 通的原因有很多。首先检查您的工作节点本身是否可以 ping 到 google.com。如果可行,则检查您的集群 dns,它是 kube-dns 或 coredns,检查它们的日志以及它们是否健康。您也可以尝试删除 /etc/resolv.conf 并添加 public dns 服务器,如 google 的 (8.8.8.8)。最后大家可以关注this