我想在Google容器引擎上部署多个相同的码头容器。我正在使用kubectl来遵循这里的说明:https://cloud.google.com/container-engine/docs/tutorials/hello-node谷歌容器引擎,直接访问豆荚
说明描述如何运行由负载平衡器管理的冗余服务,因此当我联系平衡器时,它会将我的请求发送到我的冗余Pod中的一个。在这种模式下,它可以正常工作。
但我需要以不同的方式做到这一点。我需要能够直接从客户端联系单个豆荚。所以我试图用--type = NodePort与我“kubectl揭露部署”命令:
mac-124307:hellonode ivm$ kubectl expose deployment hello-world --type=NodePort --port 9000 --target-port 9000
service "hello-world" exposed
mac-124307:hellonode ivm$ kubectl get service
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-world 10.15.253.149 <nodes> 9000:30513/TCP 21m
kubernetes 10.15.240.1 <none> 443/TCP 46m
该命令不抱怨,我可以使用“gcloud计算实例列表”中看到的外部IP地址的个人荚:
mac-124307:hellonode ivm$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
gke-hello-cluster-default-pool-402030b2-j60q us-central1-a n1-standard-1 10.128.0.3 104.197.72.212 RUNNING
gke-hello-cluster-default-pool-402030b2-q86r us-central1-a n1-standard-1 10.128.0.4 35.192.4.43 RUNNING
gke-hello-cluster-default-pool-402030b2-tf7t us-central1-a n1-standard-1 10.128.0.2 146.148.72.137 RUNNING
,但是当我尝试在这些IP地址连接到端口9000,我的连接超时的。
mac-124307:hellonode ivm$ curl http://104.197.72.212:9000/
... <time-out>
我做错了什么?
您是否在Google云端防火墙中打开了端口9000? –
将流量直接路由到pod会破坏k8s中的一些设计原则。你想通过直接到达单个豆荚来实现什么目标? – danielepolencic