Expondo as portas 80 e 443 no serviço de balanceamento de carga do Google kubernetes

3

Eu segui o tutorial do livro de visitas do Google e criei meus próprios arquivos de configuração a partir dele. Então farm tudo está funcionando bem. Agora, gostaria de expor as portas 80 e 443 dos meus pods de servidor da web. Eu sei como fazer isso no arquivo de configuração do controlador (veja abaixo), mas não no arquivo de configuração do serviço. Alguma pista de como fazer isso, por favor?

Este é o meu arquivo de configuração do controlador:

{
  "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"}
}

Este é o meu arquivo de configuração de serviço:

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

Estes são os comandos que faço para configurar meu balanceador de carga:

criar cluster

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

criar controlador

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

criar serviço (balanceador de carga)

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

porta aberta 80

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

porta aberta 443

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

mostra lb IP

gcloud compute forwarding-rules list

criar verificações de saúde

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

Você tem alguma idéia de como expor a porta 443 no balanceador de carga? Obrigado

    
por koleror 07.04.2015 / 11:10

1 resposta

2

Isso não é possível em v1beta1. Para expor várias portas, você deve usar o v1beta3:

link

AFAIU será lançado em v0.15

PR: link

    
por 07.04.2015 / 14:02