cks

3.15 TLS no Ingress

Detalhamento de como configurar TLS no Ingress para o CKS.

O que é

O Ingress pode terminar TLS usando um Secret do tipo tls no namespace do Ingress. O Secret guarda o certificado e a chave privada; o Ingress referencia esse Secret em spec.tls[].secretName e opcionalmente restringe a quais hosts se aplica.

Documentação oficial

Criar o Secret TLS

No mesmo namespace do Ingress:

kubectl -n <namespace> create secret tls tls-secret --cert=tls.crt --key=tls.key

Se o certificado for de um arquivo que contém cert+chain:

kubectl -n <namespace> create secret tls tls-secret --cert=fullchain.pem --key=privkey.pem

Referenciar no Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  namespace: <namespace>
spec:
  tls:
  - hosts:
    - meu-dominio.example.com
    secretName: tls-secret
  rules:
  - host: meu-dominio.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-svc
            port:
              number: 80

Resumo para o exame

  1. Criar Secret: kubectl -n <ns> create secret tls tls-secret --cert=tls.crt --key=tls.key.
  2. No Ingress: spec.tls[].secretName: tls-secret e spec.tls[].hosts: [...].