cert-manager para aprovisionar un conjunto de certificados TLS para cada clúster de base de datos. Además del certificado del servidor de la base de datos, el operador crea certificados para los componentes del plano de control para proteger las conexiones internas.
Si bien cert-manager automatiza las renovaciones de certificados según los campos duration y renewBefore de un objeto Certificate, es posible que debas activar manualmente una rotación de certificados en las siguientes situaciones:
- Se vulneró una clave privada.
- Se rota un certificado de la AC. Según la documentación de
cert-manager, cuando se rota un certificado de CA asociado con un emisor, los certificados de hoja no se vuelven a emitir automáticamente. cert-managerfalla la nueva emisión automática. Aunque es poco frecuente, si la nueva emisión automática no se activa debido a las condiciones específicas que se describen en las preguntas frecuentes de cert-manager, debes activar una rotación manual.
Antes de comenzar
- Asegúrate de que
kubectlesté configurado para acceder a tu clúster de Kubernetes. - Asegúrate de que
cert-managerse ejecute en tu clúster de Kubernetes.
Rotación manual de certificados
Para activar manualmente la rotación de certificados, borra el secreto asociado con el objeto cert-manager Certificate. El controlador cert-manager reconcilia el objeto y vuelve a emitir el certificado, lo que crea un secreto nuevo. Las cargas de trabajo asociadas con el operador de AlloyDB Omni vuelven a cargar automáticamente sus configuraciones de TLS para usar el nuevo certificado.
Identifica el
cert-managerCertificateque deseas rotar. Estos objetos se encuentran en tu espacio de nombresDBClustery en el espacio de nombres en el que está instalado el operador de AlloyDB Omni. Los nombres de los certificados de CA tienen el prefijodbs-al-ca, mientras que los certificados de hoja tienen el prefijodbs-al-cert. En los pasos restantes, usa el nombre del secreto asociado del resultado.kubectl get certificate CERTIFICATE_NAME -n NAMESPACE -o wideAntes de activar la rotación, haz una copia de seguridad del secreto del certificado:
kubectl get secret SECRET_NAME -n NAMESPACE -o yaml > SECRET_NAME-NAMESPACE.yaml.bakBorra el secreto del certificado:
kubectl delete secret SECRET_NAME -n NAMESPACEEspera a que
cert-managervuelva a crear el secreto del certificado:kubectl get secret SECRET_NAME -n NAMESPACE -w
Verifica la rotación del certificado
Después de rotar los certificados de forma manual, verifica que se estén usando los certificados nuevos:
Verifica el secreto del certificado. El valor de
creationTimestampdebe reflejar el momento posterior a la rotación manual del certificado:kubectl get secret SECRET_NAME -n NAMESPACE -o yamlExamina el estado de
Certificate. Verifica que las fechas denotBeforeynotAfteren la sección de estado sean correctas:kubectl describe certificate CERTIFICATE_NAME -n NAMESPACE