Sobes.tech
Junior — Middle

Como é organizada a separação de pods no Kubernetes considerando os domínios ao configurar o Nginx?

sobes.tech IA

Resposta da IA

No Kubernetes, para organizar a separação de pods por domínios ao configurar o Nginx, geralmente utilizam-se:

  • Namespaces — separação lógica de recursos no cluster. Cada namespace pode conter seus próprios pods e serviços.

  • Ingress com regras baseadas em domínios (host), que direcionam o tráfego para os serviços corretos em certos namespaces.

Exemplo de configuração de Ingress com Nginx para diferentes domínios:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  namespace: default
spec:
  rules:
  - host: app1.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app1-service
            port:
              number: 80
  - host: app2.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app2-service
            port:
              number: 80

Aqui, o controlador de Ingress do Nginx direciona as requisições para diferentes serviços dependendo do domínio. Cada serviço está associado a pods no namespace correspondente ou com etiquetas específicas.

Assim, a separação de pods por domínios é alcançada através de:

  • Uso de namespaces para isolamento
  • Configuração de Ingress com regras baseadas em host
  • Marcação de pods e serviços para roteamento preciso

Isto permite gerir de forma flexível o acesso e o roteamento do tráfego no Kubernetes usando Nginx.