我有两个服务,集群K1中的S1和集群K2中的S2.它们有不同的硬件要求.服务S1需要与S2通信.
出于安全原因,我不想公开S2的公共IP.通过网络负载平衡在K2集群的计算实例上使用NodePorts可以灵活地实现,因为每次在K2中添加/删除节点时,我都必须在目标池中添加/删除K2的计算实例.
是否有类似"服务选择器"的东西来自动更新目标池?如果没有,这个用例还有其他更好的方法吗?
我正在尝试使用三个VM(Master-10.xx4,Node1-10.xx150,Node2-10.xx160)创建Kubernetes集群。
我可以通过以下链接成功创建留言簿应用程序:http : //kubernetes.io/v1.0/examples/guestbook/。我对frontend-service.yaml进行的一项更改是:使用NodePort。我可以使用节点IP和端口号(10.xx150:30724或10.xx160:30724)访问前端服务。因此,一切都按预期工作,但是我无法使用ClusterIP地址(在我的情况下为10.xx79)访问前端服务。
我对NodePort的理解是,可以通过群集IP以及群集每个节点上的端口访问该服务。如何通过ClusterIP访问服务,而不必访问每个节点?我在这里想念什么吗?
服务和吊舱详细信息
$ sudo kubectl描述服务前端
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.
Run Code Online (Sandbox Code Playgroud)
$ sudo kubectl描述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 …Run Code Online (Sandbox Code Playgroud)