3.6. 内部 OAuth サーバー URL のカスタマイズ
クラスターIngress
設定のspec.component Routes
フィールドでカスタムホスト名と TLS 証明書を設定することにより、内部 OAuth サーバーの URL をカスタマイズできます。
内部 OAuth サーバーの URL を更新すると、OpenShift OAuth サーバーと通信して OAuth アクセストークンを取得する必要があるクラスター内のコンポーネントからの信頼が失われる可能性があります。OAuth サーバーを信頼する必要があるコンポーネントは、OAuth エンドポイントを呼び出すときに適切な CA バンドルを含める必要があります。以下に例を示します。
$ oc login -u <username> -p <password> --certificate-authority=<path_to_ca.crt> 1
- 1
- 自己署名証明書の場合、
ca.crt
ファイルにカスタム CA 証明書が含まれている必要があります。含まれていない場合、ログインは成功しません。
Cluster Authentication Operator は、OAuth サーバーのサービング証明書をopenshift-config-managed
namespace のoauth-serving-cert
設定マップに公開します。証明書は、設定マップのdata.ca-bundle.crt
キーにあります。
前提条件
- 管理者権限のあるユーザーでクラスターにログインしている。
openshift-config
namespace に TLS 証明書およびキーを含めたシークレットを作成している。これは、カスタムホスト名の接尾辞のドメインがクラスターのドメイン接尾辞に一致しない場合に必要です。接尾辞が一致する場合には、シークレットはオプションです。ヒントoc create secret tls
コマンドを使用して TLS シークレットを作成できます。
手順
クラスター
Ingress
設定を編集します。$ oc edit ingress.config.openshift.io cluster
カスタムのホスト名を設定し、オプションで提供する証明書とキーを設定します。
apiVersion: config.openshift.io/v1 kind: Ingress metadata: name: cluster spec: componentRoutes: - name: oauth-openshift namespace: openshift-authentication hostname: <custom_hostname> 1 servingCertKeyPairSecret: name: <secret_name> 2
- 変更を適用するためにファイルを保存します。