Ingress
El acceso a los servicios web se hará a través de un proxy inverso o Ingress
. Aunque para Swarm utilicé Traefik, en Kubernetes el más común es Nginx Ingress Controller, así que me he decantado por este.
Desplegaré dos Ingress separados, uno para los servicios publicados en la red interna llamada intranet
y otro para internet llamada extranet
. Helm permite desplegar múltiples veces el mismo servicio, así que esto no será problema.
Certificados
Ambos Ingress publicarán sus servicios bajo HTTPS, así que para ello requieren un certificado. En mi caso utilizaré un certificado de tipo wildcard
para la intranet y otro válido para la extranet.
Los certificados se almacenan en secrets en un namespace para ello.
kubectl create namespace tls-system
kubectl create secret tls intranet --key wildcard.intranet.key --cert wildcard.intranet.crt -n=tls-system
kubectl create secret tls extranet --key wildcard.extranet.key --cert wildcard.extranet.crt -n=tls-system