4.5.2. カスタム CA 証明書の挿入
クラスター管理者が設定マップを使用してカスタム CA 証明書をクラスターに追加すると、Cluster Network Operator はユーザーによってプロビジョニングされる証明書およびシステム CA 証明書を単一バンドルにマージします。このマージされたバンドルを Operator Lifecycle Manager (OLM) で実行されている Operator に挿入することができます。これは、man-in-the-middle HTTPS プロキシーがある場合に役立ちます。
前提条件
-
cluster-admin権限を持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 - 設定マップを使用してクラスターに追加されたカスタム CA 証明書。
- 必要な Operator が OLM にインストールされ、実行される。
手順
Operator のサブスクリプションがある namespace に空の設定マップを作成し、以下のラベルを組み込みます。
apiVersion: v1 kind: ConfigMap metadata: name: trusted-ca1 labels: config.openshift.io/inject-trusted-cabundle: "true"2 Subscriptionオブジェクトを更新し、trusted-ca設定マップをカスタム CA を必要とする Pod 内の各コンテナーにボリュームとしてマウントするspec.configセクションを追加します。apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: my-operator spec: package: etcd channel: alpha config:1 selector: matchLabels: <labels_for_pods>2 volumes:3 - name: trusted-ca configMap: name: trusted-ca items: - key: ca-bundle.crt4 path: tls-ca-bundle.pem5 volumeMounts:6 - name: trusted-ca mountPath: /etc/pki/ca-trust/extracted/pem readOnly: true- 1
configセクションがない場合に、これを追加します。- 2
- Operator が所有する Pod に一致するラベルを指定します。
- 3
trusted-caボリュームを作成します。- 4
ca-bundle.crtは設定マップキーとして必要になります。- 5
tls-ca-bundle.pemは設定マップパスとして必要になります。- 6
trusted-caボリュームマウントを作成します。注記Operator のデプロイメントは認証局の検証に失敗し、
x509 certificate signed by unknown authorityエラーが表示される可能性があります。このエラーは、Operator のサブスクリプションの使用時にカスタム CA を挿入した後でも発生する可能性があります。この場合、Operator のサブスクリプションを使用して、trusted-ca のmountPathを/etc/ssl/certsとして設定できます。