k8s 中节点连通测试方法
我们自己制作的 docker 镜像中,一般不包含常用的 ping、telnet、nslookup 等指令,测试 node 中容器的网络连通性,可以采用以下的方法
方法一:集群中不特定 node 上创建临时 pod
# 创建一个临时 pod 用于测试
kubectl run dns-test –image=busybox:1.35 –restart=Never –command — sleep 3600
# 进入 pod 执行测试
kubectl exec -it dns-test — ping -c 3 192.168.0.105
# 测试 DNS 解析
kubectl exec -it dns-test — nslookup kubernetes.default
# 测试完成后删除
kubectl delete pod dns-test
方法二:k8s 集群中指定节点测试
kubectl debug node/k8s-node2 -it –image=busybox:1.35 –target=test-network
如果在非主节点上执行 kubctl 遇到无法连接本机 8080 端口,或者其它集群权限问题,可以将主节点kublet 配置文件复制到当前用的.kube 目录中
首先:
mkdir ~/.kube/
(1)复制k8s 的集群管理权限
scp root@k8s-master:/etc/kubernetes/admin.conf ~/.kube/config
(2)或者仅仅复制节点的普通权限
cp /etc/kubernetes/kubelet.conf ~/.kube/config
最后:
chown $(id -u):$(id -g) ~/.kube/config

鲁公网安备37010302001461号
Leave a Reply
You must be logged in to post a comment.