cert-manager pour provisionner un ensemble de certificats TLS pour chaque cluster de bases de données. En plus du certificat du serveur de base de données, l'opérateur crée des certificats pour les composants du plan de contrôle afin de sécuriser les connexions internes.
Bien que cert-manager automatise le renouvellement des certificats en fonction des champs duration et renewBefore d'un objet Certificate, vous devrez peut-être déclencher manuellement une rotation des certificats dans les cas suivants :
- Une clé privée est compromise.
- Un certificat CA est soumis à une rotation. Selon la documentation
cert-manager, lorsqu'un certificat CA associé à un émetteur est remplacé, les certificats d'entité finale ne sont pas automatiquement réémis. - Le renouvellement automatique de
cert-manageréchoue. Bien que cela soit rare, si la réémission automatique ne se déclenche pas en raison de conditions spécifiques décrites dans les questions fréquentes sur cert-manager, vous devez déclencher une rotation manuelle.
Avant de commencer
- Assurez-vous que
kubectlest configuré pour accéder à votre cluster Kubernetes. - Assurez-vous que
cert-managerest en cours d'exécution sur votre cluster Kubernetes.
Rotation manuelle des certificats
Pour déclencher manuellement la rotation des certificats, supprimez le secret associé à l'objet cert-manager Certificate. Le contrôleur cert-manager réconcilie l'objet et réémet le certificat, ce qui crée un secret. Les charges de travail associées à l'opérateur AlloyDB Omni rechargent automatiquement leurs configurations TLS pour utiliser le nouveau certificat.
Identifiez la
cert-managerCertificatedont vous souhaitez effectuer la rotation. Ces objets se trouvent dans votre espace de nomsDBClusteret dans l'espace de noms où l'opérateur AlloyDB Omni est installé. Les noms des certificats CA sont précédés du préfixedbs-al-ca, tandis que les certificats de feuille sont précédés du préfixedbs-al-cert. Dans les étapes restantes, utilisez le nom du secret associé à partir de la sortie.kubectl get certificate CERTIFICATE_NAME -n NAMESPACE -o wideAvant de déclencher la rotation, sauvegardez le secret du certificat :
kubectl get secret SECRET_NAME -n NAMESPACE -o yaml > SECRET_NAME-NAMESPACE.yaml.bakSupprimez le secret du certificat :
kubectl delete secret SECRET_NAME -n NAMESPACEAttendez que
cert-managerrecrée le secret du certificat :kubectl get secret SECRET_NAME -n NAMESPACE -w
Vérifier la rotation des certificats
Après avoir fait manuellement pivoter les certificats, vérifiez que les nouveaux certificats sont utilisés :
Vérifiez le secret du certificat. La valeur
creationTimestampdoit refléter l'heure après la rotation manuelle du certificat :kubectl get secret SECRET_NAME -n NAMESPACE -o yamlExaminez l'état du
Certificate. Vérifiez que les datesnotBeforeetnotAfterindiquées dans la section "État" sont correctes :kubectl describe certificate CERTIFICATE_NAME -n NAMESPACE