Я последовал за учебник по гостевой книге от Google и создал из него свои собственные файлы конфигурации. Так что фарм все нормально работает. Теперь я хотел бы открыть порт 80 и 443 из модулей веб-сервера. Я знаю, как это сделать в файле конфигурации контроллера (см. Ниже), но не в файле конфигурации службы. Есть какие-нибудь подсказки, как это сделать?
Это мой файл конфигурации контроллера:
{
"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"}
}
Это мой файл конфигурации службы:
{
"id": "webservers",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 80,
"containerPort": "http-server",
"selector": { "name": "webservers" },
"labels": { "name": "webservers" },
"createExternalLoadBalancer": true
}
Это команды, которые я делаю для настройки моего балансировщика нагрузки:
gcloud alpha container clusters create webservers --machine-type n1-standard-2
gcloud alpha container kubectl create -f webservers-controller.json
gcloud alpha container kubectl create -f webservers-service.json
gcloud compute firewall-rules create webservers-node-80 --allow=tcp:80 --target-tags k8s-webservers-node
gcloud compute firewall-rules create webservers-node-443 --allow=tcp:443 --target-tags k8s-webservers-node
gcloud compute forwarding-rules list
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