kubernetes

0

Eu tenho um cluster de kubernetes em execução no AWS. O trabalhador do Kubes está na sub-rede privada e o mestre está na sub-rede pública.

o cluster está funcionando bem. agora eu estaria fazendo uma implantação com 3 contêineres dentro de um pod e 3 portas seriam expostas como serviço para esses contêineres.

Eu quero acessar este pods da internet. isto é, fora.

não podemos implantar loadbalancer para cada pod, pois há 500 pods como podemos fazer isso

    
por Mohd 03.01.2018 / 13:37

1 resposta

0

Eu sei que discutimos isso com folga, mas eu pensei em responder a pergunta aqui também, para que outros possam estar cientes de uma possível solução.

Pelo que entendi, você está atrás de um controlador de entrada, que pode ser usado para rotear o tráfego de entrada para o serviço / implantação solicitado.

isto é; this.example.com seria o seu domínio.

Você implantou um pod que consiste em vários contêineres.

Teoricamente, você pode ter a seguinte configuração de ingresso;

apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-ingress annotations: kubernetes.io/ingress.class: nginx ingress.kubernetes.io/rewrite-target: / spec: tls: - hosts: - this.example.com secretName: my-tls rules: - host: this.example.com http: paths: - path: /one backend: serviceName: this-deploy servicePort: 80 - path: /two backend: serviceName: this-deploy servicePort: 9000 - path: /three backend: serviceName: this-deploy servicePort: 8080

Neste ingresso, especificamos o mesmo serviço, mas cada um deles tem portas diferentes.

Quando um usuário navega para this.example.com/one O tráfego entra na configuração do Ingress Controller, ele verifica as regras correspondentes e, se houver, direciona o tráfego para o serviço.

O próprio serviço terá um endpoint, para o qual o tráfego é direcionado. Este seria o pod (ou se você tiver muitas réplicas de qualquer um deles).

Esses recursos podem ajudar na configuração de um controlador de entrada.

link link

    
por 03.01.2018 / 15:01