3.3.3. サービス CA バンドルの設定マップへの追加

Pod は、service.beta.openshift.io/inject-cabundle=true のアノテーションの付いた ConfigMap オブジェクトをマウントしてサービス CA 証明書にアクセスできます。アノテーションが付けられると、クラスターはサービス CA 証明書を設定マップの service-ca.crt キーに自動的に挿入します。この CA 証明書にアクセスできると、TLS クライアントはサービス提供証明書を使用してサービスへの接続を検証できます。

重要

このアノテーションが設定マップに追加されると、その中に含まれるすべての既存データが削除されます。service-ca.crt を組み込む設定マップとしては、Pod の設定の保存先と同じ設定マップではなく、別の設定マップを使用することが推奨されます。

手順

  1. 設定マップに service.beta.openshift.io/inject-cabundle=true のアノテーションを付けます。

    $ oc annotate configmap <config_map_name> \1
         service.beta.openshift.io/inject-cabundle=true
    1
    <config_map_name> を、アノテーションを付ける設定マップの名前に置き換えます。
    注記

    ボリュームマウントの service-ca.crt キーを明示的に参照することにより、設定マップが CA バンドルと共に挿入されるまで、Pod を起動できなくなります。この動作は、ボリュームの提供証明書の設定について optional フィールドを true に設定して上書きできます。

    たとえば、以下のコマンドを使用して設定マップtest1 にアノテーションを付けます。

    $ oc annotate configmap test1 service.beta.openshift.io/inject-cabundle=true
  2. 設定マップを表示して、サービス CA バンドルが挿入されていることを確認します。

    $ oc get configmap <config_map_name> -o yaml

    CA バンドルは、YAML 出力の service-ca.crt キーの値として表示されます。

    apiVersion: v1
    data:
      service-ca.crt: |
        -----BEGIN CERTIFICATE-----
    ...