一次解决Kubernetes集群内无法访问服务的问题过程
前言
在Kubernetes集群中创建了一个名为php-apache的Deployment和Service,但是在集群内的另外一个Pod中却无法通过该服务名来访问到服务。
本文描述了解决这一问题的过程,以供参考。
解决过程
先检查要访问的服务是否正常
# Check deployment
kubectl get deployment php-apache -o wide
# Check service
kubectl get svc php-apache -o wide
# Check pod
kubectl get pods | grep php-apache
本例中Service的Cluster IP为10.105.77.184,端口为80。
在busybox中测试
启动busybox:
kubectl delete pod busybox
kubectl run -it busybox --image=busybox -- /bin/sh
在busybox pod内,尝试通过服务名访问失败:
wget -q -O- http://php-apache
wget -q -O- http://php-apa