4.17. カスタム証明書の設定
OpenShift Container Platform API のパブリックホスト名と Web コンソール の カスタム提供証明書 は、クラスターインストール時にデプロイでき、インベントリーファイルで設定できます。
openshift_master_cluster_public_hostname
パラメーター値として設定する、publicMasterURL
に関連付けられたホスト名のカスタム証明書を設定します。masterURL
に関連付けられるホスト名 (openshift_master_cluster_hostname
) のカスタム提供証明書を使用することにより、インフラストラクチャーコンポーネントが内部の masterURL
ホストを使用してマスター API への接続を試行するために TLS エラーが生じます。
証明書とキーファイルのパスは、openshift_master_named_certificates
クラスター変数を使用して設定できます。
openshift_master_named_certificates=[{"certfile": "/path/to/custom1.crt", "keyfile": "/path/to/custom1.key", "cafile": "/path/to/custom-ca1.crt"}]
ファイルパスは、Ansible が実行されるシステムに対してローカルである必要があります。証明書はマスターホストにコピーされ、/etc/origin/master/named_certificates/ ディレクトリー内にデプロイされます。
Ansible は、証明書の Common Name
と Subject Alternative Names
を検出します。検出された名前は、openshift_master_named_certificates
の設定時に "names"
キーを指定して上書きできます。
openshift_master_named_certificates=[{"certfile": "/path/to/custom1.crt", "keyfile": "/path/to/custom1.key", "names": ["public-master-host.com"], "cafile": "/path/to/custom-ca1.crt"}]
openshift_master_named_certificates
を使用して設定される証明書はマスターにキャッシュされます。 つまり、別の証明書セットで Ansible を実行するたびに、以前にデプロイされたすべての証明書がマスターホストとマスターの設定ファイル内に残ることになります。
openshift_master_named_certificates
を提供される値 (または値なし) で上書きする必要がある場合、openshift_master_overwrite_named_certificates
クラスター変数を指定します。
openshift_master_overwrite_named_certificates=true
さらに詳細の例が必要な場合には、次のクラスター変数をインベントリーファイルに追加することを検討してください。
openshift_master_cluster_method=native openshift_master_cluster_hostname=lb-internal.openshift.com openshift_master_cluster_public_hostname=custom.openshift.com
以降の Ansible 実行で証明書を上書きするには、以下のパラメーター値を設定します。
openshift_master_named_certificates=[{"certfile": "/root/STAR.openshift.com.crt", "keyfile": "/root/STAR.openshift.com.key", "names": ["custom.openshift.com"], "cafile": "/root/ca-file.crt"}] openshift_master_overwrite_named_certificates=true
The cafile
証明書は、証明書のインストール時または再デプロイメント時にマスターの ca-bundle.crt
ファイルにインポートされます。ca-bundle.crt
ファイルは、OpenShift Container Platform で実行されるすべての Pod にマウントされます。複数の OpenShift Container Platform コンポーネントはデフォルトでは、masterPublicURL
エンドポイントにアクセスする時に名前付き証明書を自動的に信頼します。certificates パラメーターから cafile
オプションを省略すると、Web コンソールと他のコンポーネントの複数の機能は削減されます。