在Google kubernetes负载均衡服务上显示端口80和443

我遵循Google 的留言板教程 ,并从中创build了我自己的configuration文件。 所以农场一切工作正常。 现在,我想从我的networking服务器端口公开端口80和443。 我知道如何在控制器configuration文件中执行此操作(请参阅下文),但不能在服务configuration文件中执行。 任何线索怎么做呢?

这是我的控制器configuration文件:

{ "id": "webservers-controller", "kind": "ReplicationController", "apiVersion": "v1beta1", "desiredState": { "replicas": 3, "replicaSelector": {"name": "webservers"}, "podTemplate": { "desiredState": { "manifest": { "version": "v1beta1", "id": "webservers-controller", "containers": [{ "name": "webservers", "image":"gcr.io/myapp/webservers:latest", "ports": [ {"name": "http-server", "containerPort": 80}, {"name": "https-server", "containerPort": 443} ] }] } }, "labels": { "name": "webservers" } } }, "labels": {"name": "webservers"} } 

这是我的服务configuration文件:

 { "id": "webservers", "kind": "Service", "apiVersion": "v1beta1", "port": 80, "containerPort": "http-server", "selector": { "name": "webservers" }, "labels": { "name": "webservers" }, "createExternalLoadBalancer": true } 

这是我设置我的负载平衡器的命令:

创build集群

 gcloud alpha container clusters create webservers --machine-type n1-standard-2 

创build控制器

 gcloud alpha container kubectl create -f webservers-controller.json 

创build服务(负载平衡器)

 gcloud alpha container kubectl create -f webservers-service.json 

打开80端口

 gcloud compute firewall-rules create webservers-node-80 --allow=tcp:80 --target-tags k8s-webservers-node 

打开端口443

 gcloud compute firewall-rules create webservers-node-443 --allow=tcp:443 --target-tags k8s-webservers-node 

显示lb IP

 gcloud compute forwarding-rules list 

创build健康检查

 gcloud compute http-health-checks create webservers-80 gcloud compute target-pools add-health-checks k8s-webservers-default-webservers --http-health-check webservers-80 --region europe-west1 

你有任何线索如何暴露负载平衡器上的443端口? 谢谢

这在v1beta1中是不可能的。 要公开多个端口,你必须使用v1beta3:

https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/v1beta3/types.go#L879

AFAIU将在v0.15发布

PR: https : //github.com/GoogleCloudPlatform/kubernetes/pull/6182