我正在尝试使用三台虚拟机(Master-10.x.x.4、Node1-10.x.x.150、Node2-10.x.x.160)创建Kubernetes集群。
我成功地创建了客户端应用程序,遵循以下链接:http://kubernetes.io/v1.0/examples/guestbook/。我仅对frontend-service.yaml进行了一个更改:使用NodePort。我可以使用节点IP和端口号(10.x.x.150:30724或10.x.x.160:30724)访问前端服务。因此,一切都按预期工作,但是我无法使用ClusterIP地址(在我的情况下为10.x.x.79)访问前端服务。
我对NodePort的理解是,可以通过群集IP和群集的每个节点上的端口访问服务。如何通过ClusterIP访问服务,以便我不必访问每个节点?我错过了什么吗?
服务和Pod详细信息
$sudo kubectl describe service frontend
Name: frontend
Namespace: default
Labels: name=frontend
Selector: name=frontend
Type: NodePort
IP: 10.x.x.79
Port: <unnamed> 80/TCP
NodePort: <unnamed> 30724/TCP
Endpoints: 172.x.x.13:80,172.x.x.14:80,172.x.x.11:80
Session Affinity: None
No events.
$sudo kubectl describe pod frontend-2b5us
Name: frontend-2b5us
Namespace: default
Image(s): gcr.io/google_samples/gb-frontend:v3
Node: 10.x.x.150/10.x.x.150
Labels: name=frontend
Status: Running
Reason:
Message:
IP: 172.x.x.11
Replication Controllers: frontend (3/3 replicas created)
Containers:
php-redis:
Image: gcr.io/google_samples/gb-frontend:v3
State: Running
Started: Fri, 30 Oct 2015 04:00:40 -0500
Ready: True
Restart Count: 0
我尝试搜索,但没有找到与我的问题完全相同的解决方案,但我发现了一个类似于GCE的问题。