Kubernetes(CRI-O)无法 ping 通任何主机

Kubernetes(CRI-O)无法 ping 通任何主机

无法从 kubenetes pod ping 任何主机。

所需功能:在 2 个 kubernetes pod 之间进行 ping 操作 预期结果:在 2 个 pod 之间成功 ping 操作。

当前输出:pod/kube-server-rtt-3 创建 pod/kube-client-rtt-3 创建 pod/kube-server-rtt-3 条件满足 pod/kube-client-rtt-3 条件满足 命令终止,退出代码为 1 Kubernetes RTT benchmark-3 完成

@kube:~/Documents$ cat kubeIperf3_RTT_3.txt PING 10.85.0.123 (10.85.0.123) 56(84) 字节数据。

--- 10.85.0.123 ping 统计 --- 已发送 5 个数据包,已接收 0 个数据包,100% 数据包丢失,耗时 4103 毫秒

使用的docker镜像: https://hub.docker.com/repository/docker/arnedh/dockerbench/general

剧本 :

kubectl 运行 kube-server-rtt-$i --image=$image --restart=Never --overrides='{"spec": {"tolerations": [{"key": "node-role.kubernetes.io/control-plane", "operator": "Exists", "effect": "NoSchedule"}], "containers": [{"name": "kube-server-rtt-'$i'", "image": "'$image'", "command": ["/bin/sh", "-c", "sleep infinity"], "securityContext": {"capabilities": {"add": ["NET_RAW"]}}}]}}' kubectl 运行 kube-client-rtt-$i --image=$image --restart=Never --overrides='{"spec": {"tolerations": [{"key": "node-role.kubernetes.io/control-plane", "operator": "Exists", "effect": “NoSchedule”}],“容器”:[{“name”:“kube-client-rtt-'$i'”,“image”:“'$image'”,“命令”:[“/ bin / sh”,“-c”,“sleep infinity”],“securityContext”:{“capabilities”:{“add”:[“NET_RAW”]}}}]}}'

等待 pod 准备就绪 kubectl wait --for=condition=ready pod/kube-server-rtt-$i --timeout=600s kubectl wait --for=condition=ready pod/kube-client-rtt-$i --timeout=600s

获取所需的服务器IP地址 serverIP=8.8.8.8 #$(kubectl get pod kube-server-rtt-$i -o=jsonpath='{.status.podIP}')

执行 RTT 测试 kubectl exec kube-client-rtt-$i --ping -c 5 $serverIP > kubeIperf3_RTT_$i.txt echo "Kubernetes RTT benchmark-$i done"

删除 pod kubectl delete pod kube-server-rtt-$i kubectl delete pod kube-client-rtt-$i

提前致谢!

(默认命名空间,对 ping 功能没有限制)

相关内容