8.5. Configurer le proxy egress pour l'opérateur cert-manager pour Red Hat OpenShift
Si un proxy egress à l'échelle du cluster est configuré dans OpenShift Container Platform, Operator Lifecycle Manager (OLM) configure automatiquement les opérateurs qu'il gère avec le proxy à l'échelle du cluster. OLM met automatiquement à jour tous les déploiements de l'opérateur avec les variables d'environnement HTTP_PROXY
, HTTPS_PROXY
, NO_PROXY
.
Vous pouvez injecter tous les certificats CA requis pour les connexions HTTPS par proxy dans l'opérateur cert-manager pour Red Hat OpenShift.
8.5.1. Injecter un certificat CA personnalisé pour l'opérateur cert-manager de Red Hat OpenShift Copier lienLien copié sur presse-papiers!
Si votre cluster OpenShift Container Platform a activé le proxy à l'échelle du cluster, vous pouvez injecter tous les certificats CA qui sont requis pour les connexions HTTPS par proxy dans l'opérateur cert-manager pour Red Hat OpenShift.
Conditions préalables
-
Vous avez accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin
. - Vous avez activé le proxy pour OpenShift Container Platform.
Procédure
Créez une carte de configuration dans l'espace de noms
cert-manager
en exécutant la commande suivante :oc create configmap trusted-ca -n cert-manager
$ oc create configmap trusted-ca -n cert-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Injectez le bundle CA qui est approuvé par OpenShift Container Platform dans la carte de configuration en exécutant la commande suivante :
oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-manager
$ oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mettez à jour le déploiement de l'opérateur cert-manager pour Red Hat OpenShift afin d'utiliser la carte de configuration en exécutant la commande suivante :
oc -n cert-manager-operator patch subscription cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'
$ oc -n cert-manager-operator patch subscription cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Vérifiez que les déploiements sont terminés en exécutant la commande suivante :
oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator && \ oc rollout status deployment/cert-manager -n cert-manager && \ oc rollout status deployment/cert-manager-webhook -n cert-manager && \ oc rollout status deployment/cert-manager-cainjector -n cert-manager
$ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator && \ oc rollout status deployment/cert-manager -n cert-manager && \ oc rollout status deployment/cert-manager-webhook -n cert-manager && \ oc rollout status deployment/cert-manager-cainjector -n cert-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
deployment "cert-manager-operator-controller-manager" successfully rolled out deployment "cert-manager" successfully rolled out deployment "cert-manager-webhook" successfully rolled out deployment "cert-manager-cainjector" successfully rolled out
deployment "cert-manager-operator-controller-manager" successfully rolled out deployment "cert-manager" successfully rolled out deployment "cert-manager-webhook" successfully rolled out deployment "cert-manager-cainjector" successfully rolled out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que le paquet CA a été monté en tant que volume en exécutant la commande suivante :
oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.'containers[0].volumeMounts'}
$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.'containers[0].volumeMounts'}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
[{"mountPath":"/etc/pki/tls/certs/cert-manager-tls-ca-bundle.crt","name":"trusted-ca","subPath":"ca-bundle.crt"}]
[{"mountPath":"/etc/pki/tls/certs/cert-manager-tls-ca-bundle.crt","name":"trusted-ca","subPath":"ca-bundle.crt"}]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que la source du bundle CA est la carte de configuration
trusted-ca
en exécutant la commande suivante :oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.volumes}
$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.volumes}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
[{"configMap":{"defaultMode":420,"name":"trusted-ca"},"name":"trusted-ca"}]
[{"configMap":{"defaultMode":420,"name":"trusted-ca"},"name":"trusted-ca"}]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow