6.2. ホステッドクラスター用の Kubernetes API サーバーの設定
ホステッドクラスター用に Kubernetes API サーバーをカスタマイズする場合は、次の手順を実行します。
前提条件
- 実行中のホステッドクラスターがある。
-
HostedClusterリソースを変更するためのアクセス権がある。 Kubernetes API サーバーに使用するカスタム DNS ドメインがある。
- カスタム DNS ドメインは適切に設定され、解決可能である。
- DNS ドメインには有効な TLS 証明書が設定されている。
- ドメインへのネットワークアクセスが環境内で適切に設定されている。
- カスタム DNS ドメインは、ホステッドクラスター全体において一意である。
- カスタム証明書を設定した。詳細は「、ホステッドクラスターでのカスタム API サーバー証明書の設定」を参照してください。
手順
プロバイダープラットフォームで、
kubeAPIServerDNSNameURL が Kubernetes API サーバーが公開されている IP アドレスを指すように DNS レコードを設定します。DNS レコードは適切に設定され、クラスターから解決可能である必要があります。DNS レコードの設定に使用するコマンドの例
$ dig + short kubeAPIServerDNSNameHostedCluster仕様で、次の例に示すようにkubeAPIServerDNSNameフィールドを変更します。apiVersion: hypershift.openshift.io/v1beta1 kind: HostedCluster metadata: name: <hosted_cluster_name> namespace: <hosted_cluster_namespace> spec: configuration: apiServer: servingCerts: namedCertificates: - names:1 - api-custom-cert-sample-hosted.sample-hosted.example.com servingCertificate:2 name: sample-hosted-kas-custom-cert kubeAPIServerDNSName: api-custom-cert-sample-hosted.sample-hosted.example.com3 # ...次のコマンドを入力して設定を適用します。
$ oc -f <hosted_cluster_spec>.yaml設定が適用されると、HyperShift Operator はカスタム DNS ドメインを指す新しい
kubeconfigシークレットを生成します。CLI またはコンソールを使用して
kubeconfigシークレットを取得します。CLI を使用してシークレットを取得するには、次のコマンドを入力します。
$ kubectl get secret <hosted_cluster_name>-custom-admin-kubeconfig \ -n <cluster_namespace> \ -o jsonpath='{.data.kubeconfig}' | base64 -dコンソールを使用してシークレットを取得するには、ホステッドクラスターに移動し、Download Kubeconfig をクリックします。
注記コンソールで show login command オプションを使用して、新しい
kubeconfigシークレットを使用することはできません。