9.4. cert-manager Operator for Red Hat OpenShift のエグレスプロキシーの設定
クラスター全体のエグレスプロキシーが OpenShift Container Platform で設定されている場合、Operator Lifecycle Manager (OLM) はクラスター全体のプロキシーで管理する Operator を自動的に設定します。OLM は、Operator のすべてのデプロイメントを HTTP_PROXY、HTTPS_PROXY、NO_PROXY 環境変数で自動的に更新します。
HTTPS 接続をプロキシーするために必要な CA 証明書を cert-manager Operator for Red Hat OpenShift に挿入できます。
9.4.1. cert-manager Operator for Red Hat OpenShift のカスタム CA 証明書の挿入 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターでクラスター全体のプロキシーが有効になっている場合は、HTTPS 接続をプロキシーするために必要な CA 証明書を cert-manager Operator for Red Hat OpenShift に挿入できます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - OpenShift Container Platform のクラスター全体のプロキシーを有効にしている。
手順
次のコマンドを実行して、
cert-managernamespace に config map を作成します。oc create configmap trusted-ca -n cert-manager
$ oc create configmap trusted-ca -n cert-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、OpenShift Container Platform によって信頼されている CA バンドルを config map に挿入します。
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-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、cert-manager Operator for Red Hat OpenShift のデプロイメントを更新し、config map を使用します。
oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'$ oc -n cert-manager-operator patch subscription openshift-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
検証
次のコマンドを実行して、デプロイメントのロールアウトが完了したことを確認します。
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-managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
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 outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、CA バンドルがボリュームとしてマウントされたことを確認します。
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 出力例
[{"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 次のコマンドを実行して、CA バンドルのソースが
trusted-caconfig map であることを確認します。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 出力例
[{"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