Este tutorial te guiará a través de la creación de un secreto SSL (TLS) en un clúster de Kubernetes, utilizando un certificado y una clave privada para proteger tu dominio. Puedes cambiar fácilmente el dominio y el namespace según tus necesidades.
Antes de crear el secreto en Kubernetes, asegúrate de tener los archivos del certificado y la clave privada listos en tu máquina local:
[DOMINIO].key
: Este archivo es la clave privada.combined.crt
: Este archivo es el certificado SSL combinado (certificado y cadena).Utiliza el siguiente comando para crear el secreto SSL en tu clúster de Kubernetes:
kubectl create secret tls [DOMINIO]-tls \
--key ./[DOMINIO].key \
--cert ./combined.crt \
-n [NAMESPACE] --dry-run=client -o yaml | kubectl apply -f -
Reemplaza los valores según corresponda:
[DOMINIO]
: El dominio que deseas proteger (por ejemplo, dafi.cl
).[NAMESPACE]
: El namespace de Kubernetes donde se creará el secreto (por ejemplo, default
o el namespace de tu aplicación).kubectl create secret tls dafi-cl-tls \
--key ./dafi.cl.key \
--cert ./combined.crt \
-n default --dry-run=client -o yaml | kubectl apply -f -
Para asegurarte de que el secreto se haya creado correctamente, ejecuta el siguiente comando:
kubectl get secret [DOMINIO]-tls -n [NAMESPACE]
Esto debería mostrar el secreto TLS que acabas de crear.
Una vez que el secreto está creado, puedes usarlo en tu configuración de Ingress o en cualquier servicio que requiera TLS. A continuación te doy un ejemplo de cómo se utiliza el secreto SSL en un Ingress:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
namespace: [NAMESPACE]
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- hosts:
- [DOMINIO]
secretName: [DOMINIO]-tls
rules:
- host: [DOMINIO]
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: example-service
port:
number: 80
Reemplaza [DOMINIO]
y [NAMESPACE]
con los valores correspondientes para tu servicio.
Una vez que hayas configurado el Ingress o el servicio con el secreto TLS, puedes verificar que el certificado SSL esté funcionando correctamente accediendo a tu dominio a través de HTTPS:
https://[DOMINIO]