kubernetes v1.15.0 master无法访问pod ip地址。我已经能够使它工作到1.14,但是这次它不再工作了。我一直在使用kubeadm在ec2中使用和设置k8s集群。
请在下面找到日志;有任何评论。
[ec2-user@ip-172-31-18-31 ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-172-31-16-120.ap-south-1.compute.internal Ready <none> 97m v1.15.0
ip-172-31-18-31.ap-south-1.compute.internal Ready master 116m v1.15.0
[ec2-user@ip-172-31-18-31 ~]$ kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
hello-deploy-7fd5fc7ff-dh9pw 1/1 Running 0 6m32s 10.44.0.3 ip-172-31-16-120.ap-south-1.compute.internal <none> <none>
hello-deploy-7fd5fc7ff-vrxbd 1/1 Running 0 6m32s 10.44.0.4 ip-172-31-16-120.ap-south-1.compute.internal <none> <none>
hello-pod1 1/1 Running 0 22m 10.44.0.1 ip-172-31-16-120.ap-south-1.compute.internal <none> <none>
[ec2-user@ip-172-31-18-31 ~]$ hostname
ip-172-31-18-31.ap-south-1.compute.internal
[ec2-user@ip-172-31-18-31 ~]$ curl http://10.44.0.4
答案 0 :(得分:0)
只需为您的Pod创建服务即可在群集内访问它,服务类型应为ClusterIP。
尽管每个Pod都有一个唯一的IP地址,但是如果没有服务,这些IP不会暴露在群集外部。服务允许您的应用程序接收流量。通过在ServiceSpec中指定类型,可以以不同的方式公开服务。
ClusterIP (默认)-在群集的内部IP上公开服务。这种类型的服务只能从集群内部访问
鸡蛋:
apiVersion: v1
kind: Service
metadata:
name: test-service
spec:
selector:
app: test
记住将服务选择器与pod的选择器进行匹配。