クラスター用のドメインのセットアップ
クラスタを作成すると、デフォルトでIngressサブドメインがクラスタ用に <cluster_name>.<globally_unique_account_HASH>-0000.<region>.containers.appdomain.cloud
. さらに、 IBM Cloudの内部ドメイン・プロバイダーに登録された独自のドメイン、または外部プロバイダーに登録されたドメインを作成することにより、カスタム・ドメインでアプリを到達可能にすることができます。
既存のドメインをクラスターに追加することもできます。
この機能はベータ版であり、変更される可能性があります。
IBM Cloud は、独自のドメインを作成するために使用できる、管理対象の内部プロバイダーを提供します。 管理対象ドメイン・プロバイダーでは、外部プロバイダーを使用してアカウントを作成および保守する必要はありません。 また、管理ドメインのヘルスチェック監視を使用することもできます。 内部プロバイダーを使用してドメインを作成する場合は、 exampledomain
などのサブドメイン名を指定します。新しいドメインの名前は exampledomain.<zone>.containers.appdomain.cloud
という形式になります。
また IBM Cloud Internet Servicesのインスタンスを、クラスタドメインの外部プロバイダとして使用することもできます。
service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-name
VPCロードバランサーアノテーションを使って、新しいドメインを作成したり、既存のドメインをVPCロードバランサーに登録することもできます。 詳細については、VPC ALB または VPC NLB ドキュメントのアノテーションの説明を参照してください。
コンソールでのドメインへのアクセス
クラスターの 「ドメイン」 ページにナビゲートして、ドメインを作成および管理します。
- コンソールで、 クラスター・タブにナビゲートします。
- ドメインを作成または変更したいクラスタをクリックします。
- 「Ingress」 をクリックします。
- **「ドメイン」**タブをクリックします。 ここから、クラスターに関連付けられたドメインを管理できます。
コンソールでドメインを作成する
IBM Cloud コンソールを使用して、クラスター内に独自のドメインを作成するか、プロバイダー・アカウントに既に存在するドメインを追加します。 コンソールの指示に従って、以下のドメイン構成を行います。
プロバイダーを使用する場合は IBM Cloud Internet Services プロバイダを使用する場合は、まず IBM Cloud Internet Services インスタンスの サービス間認証を設定する 必要があります。 ソース・サービスを Kubernetes Service
として設定し、ターゲットを Internet services
として設定します。 Manager
サービス・レベル・ロールと Viewer
プラットフォーム・レベル・ロールを割り当てる。
ドメインの詳細
- ドメイン名: 作成するドメインの名前、またはクラスターに追加するドメインの名前。 これは、プロバイダー・アカウントに存在するドメイン、または新規ドメインにすることができます。
- プロバイダー: ドメインのプロバイダーを選択します。 IBM Cloudの内部プロバイダーを使用して管理対象ドメインを作成するには、 「管理対象」 を選択します。 外部プロバイダーを使用するには、残りのプロバイダー・タイプから選択します。
- デフォルトとして設定: ドメインをクラスターのデフォルトとして設定するかどうかを選択します。 デフォルトのIngressドメインは、各アプリに固有の URL を生成するために使用され、クラスタ内のパブリックALBのIPアドレスによって参照されるドメインです。 どのドメインをデフォルトとして設定するかは、いつでも変更できます。 デフォルト・ドメインを設定すると、現在のデフォルトが置き換えられます。 デフォルトのドメイン構成は、 Satellite クラスタ、またはバージョン 4.18 以降を実行している Red Hat® OpenShift® on IBM Cloud® クラスタではサポートされていません。
登録の詳細
- ドメインに登録する 1 つ以上の IP アドレス (クラシック・クラスターまたは VPC クラスターの場合) または ホスト名 (VPC クラスターの場合) を追加します。 どの IP アドレスまたはホスト名を登録するかを更新できます。
- シークレットの名前空間: ドメインの TLS シークレットが作成される名前空間を指定します。 ネームスペースを指定しない場合、シークレットは
default
ネームスペースに作成されます。
コンソールでドメインを管理する
以下のアクションを実行して、ドメインを管理できます。
- ドメインを削除する
- クラスターからドメインを削除すると、そのドメインはリカバリーできません。 後でそのドメインが必要になった場合は、再プロビジョンする必要があります。 管理対象プロバイダーに登録されているドメインを削除すると、そのドメイン・ネームを再使用できなくなります。 クラスターのデフォルト・ドメインは削除できないことに注意してください。 現在デフォルトとして登録されているドメインを削除する場合は、最初に別のデフォルト・ドメインを割り当てる必要があります。
- ドメインのIPアドレスまたはホスト名を更新する
- IP アドレスまたはホスト名を更新する場合は、ドメインに現在登録されているすべての IP またはホスト名を含める必要があります。 ドメインは指定されたとおりの値で更新されるため、現行の IP アドレスまたはホスト名が含まれていない場合は上書きされます。 例えば、
52.137.182.166
が現在ドメインに登録されており、52.137.182.270
を追加する場合は、両方の IP アドレスを指定する必要があります。 - クラスタのデフォルト・ドメインを変更する
- デフォルト・ドメインは、クラスター内に存在する任意のドメインに変更できます。 この変更が適用されるまでに最大で 5 分かかる場合があります。 その間、ドメインでダウン時間が発生する可能性があります。
管理対象 IBM Cloud 内部プロバイダーを使用したドメインのセットアップ
IBM Cloud は、独自のドメインを作成するために使用できる、管理対象の内部プロバイダーを提供します。 ibmcloud oc ingress domain create
コマンドを使用して新規ドメインを作成することも、クラスターに追加する既存のドメインを指定することもできます。 内部プロバイダーを使用してドメインを作成する場合は、 exampledomain
などのサブドメイン名を指定するか、完全修飾ドメイン名を指定することができます。
新しいドメインの名前は、 exampledomain.<zone>.containers.appdomain.cloud
という形式になります。
ibmcloud oc ingress domain create --cluster CLUSTER [--is-default] [--domain DOMAIN] [--hostname HOSTNAME] [--ip IP] [--output OUTPUT] [-q] [--secret-namespace NAMESPACE]
-c, --cluster CLUSTER
- 必須。 ドメインを作成するクラスタの名前またはID。
--is-default
- オプション。 関連するドメインをクラスタのデフォルト・ドメインとして設定するには、このオプションを含めます。
--domain DOMAIN
- 作成するドメイン、またはクラスターに追加するドメイン。 これは、プロバイダー・アカウントに存在するドメイン、または新規ドメインにすることができます。
--hostname HOSTNAME
- オプション。 VPC クラスターの場合。 ドメインに登録するホスト名。
--ip IP
- オプション。 ドメイン用に登録する IP アドレス。
--output OUTPUT
- オプション: コマンド出力を JSON フォーマットで出力します。
--secret-namespace NAMESPACE
- オプション。 ドメイン TLS 秘密が作成される名前空間。 名前空間が指定されていない場合、秘密は
default
名前空間に作成される。
IBM Cloud Internet Services を使用したドメインのセットアップ
IBM Cloud Internet Servicesを使用してドメインを作成する手順に従います。
サービス間許可をセットアップします。
IBM Cloud Internet Services でドメインを作成するには、 IBM Cloud Internet Services インスタンスの サービス間認証を設定する 必要があります。 ソース・サービスを Kubernetes Service
として設定し、ターゲットを
Internet services
として設定します。 Manager
サービス・レベル・ロールと Viewer
プラットフォーム・レベル・ロールを割り当てる。
ドメインを作成する
新規ドメインを作成するか、クラスターに追加する既存のドメインを指定します。 既存のドメインを指定するには、外部プロバイダー・ゾーンに完全なドメイン・ネームを含めます (例: exampledomain.externalzone.com
)。 新規ドメインを作成するには、引き続き外部プロバイダー・ゾーンを含める必要がありますが、 custom.exampledomain.externalzone.com
などのサブドメイン部分をカスタマイズすることができます。
ドメイン・ネームは、それが登録されているゾーン内で固有でなければならないことに注意してください。
IBM 内部プロバイダーに登録されているドメインを削除すると、そのドメイン・ネームは再使用できません。
ibmcloud oc ingress domain create --cluster CLUSTER [--crn CRN] [--is-default] [--domain DOMAIN] [--hostname HOSTNAME] [--ip IP] [--output OUTPUT] [--domain-provider PROVIDER] [-q] [--secret-namespace NAMESPACE] [--zone ZONE]
-c, --cluster CLUSTER
- 必須。 ドメインを作成するクラスタの名前またはID。
--crn CRN
- IBM Cloud Internet Services ドメインの場合は必須です。 IBM Cloud Internet Services インスタンス用の CRN。
--is-default
- オプション。 関連するドメインをクラスタのデフォルト・ドメインとして設定するには、このオプションを含めます。
--domain DOMAIN
- 作成するドメイン、またはクラスターに追加するドメイン。 これは、プロバイダー・アカウントに存在するドメイン、または新規ドメインにすることができます。
--hostname HOSTNAME
- VPC クラスターの場合。 ドメインに登録するホスト名。
--ip IP
- ドメイン用に登録する IP アドレス。
--output OUTPUT
- オプション: コマンド出力を JSON フォーマットで出力します。
--domain-provider PROVIDER
- 必須。 外部 DNS プロバイダー・タイプ。
cis-ext
を指定する。 --secret-namespace NAMESPACE
- オプション。 ドメイン TLS 秘密が作成される名前空間。 名前空間が指定されていない場合、秘密は
default
名前空間に作成される。 --domain-zone ZONE
- オプション。 ご使用の IBM Cloud Internet Services インスタンスのドメイン ID。 これはGUID値である。
ドメインの管理
クラスター内に存在するドメインを管理する方法について説明します。
クラスター内のすべてのドメインのリスト
詳細およびコマンド・オプションについては、 CLI リファレンス を参照してください。
ibmcloud oc ingress domain ls --cluster CLUSTER
単一ドメインの詳細の取得
詳細およびコマンド・オプションについては、 CLI リファレンス を参照してください。
ibmcloud oc ingress domain get --cluster CLUSTER --domain DOMAIN
クラスタからドメインを削除する
クラスターからドメインを削除すると、そのドメインはリカバリーできません。 後でそのドメインが必要になった場合は、再プロビジョンする必要があります。 クラスターのデフォルト・ドメインは削除できないことに注意してください。 現在デフォルトとして登録されているドメインを削除する場合は、まず 別のデフォルト・ドメインを割り当てる 必要があります。
IBM 内部プロバイダーに登録されているドメインを削除すると、そのドメイン・ネームは再使用できません。
詳細およびコマンド・オプションについては、 CLI リファレンス を参照してください。
ibmcloud oc ingress domain rm --cluster CLUSTER --domain DOMAIN
ドメインの IP アドレスまたはホスト名の更新
ドメインの作成後またはクラスターへの追加後に、ドメインの登録済み IP アドレス (クラシック・クラスターまたは VPC クラスターの場合) またはホスト名 (VPC クラスターの場合) を更新できます。 このコマンドは、指定された IP アドレスまたはホスト名を持つクラスター内のすべてのリソースを更新し、アプリ URL を変更します。
詳細情報およびコマンド・オプションについては、 CLI リファレンス を参照してください。
IP アドレスまたはホスト名を追加する場合は、現在ドメインに登録されている IP またはホスト名をすべて含める必要があることに注意してください。 ドメインは指定されたとおりの値で更新されるため、現行の IP アドレスまたはホスト名が含まれていない場合は上書きされます。 例えば、 52.137.182.166
が現在ドメインに登録されており、 52.137.182.270
を追加する場合は、コマンドに --ip 52.137.182.166 --ip 52.137.182.270
を指定する必要があります。
ibmcloud oc ingress domain update --cluster CLUSTER --domain DOMAIN [--hostname HOSTNAME] [--ip IP]
クラスターのデフォルト・ドメインの変更
デフォルトのIngressドメインは、各アプリに固有の URL を生成するために使用され、クラスタ内のパブリックALBのIPアドレスによって参照されるドメインです。 クラスターをプロビジョンすると、デフォルトの Ingress ドメインが自動的に作成されますが、クラスター内に存在する任意のドメインにデフォルトのドメインを変更することができます。 クラスターのデフォルト・ドメインを確認するには、 ibmcloud oc cluster get
を実行し、出力で
Ingress サブドメイン を見つけます。
詳細およびコマンド・オプションについては、 CLI リファレンス を参照してください。
デフォルト・ドメインが更新されるまで、最大5分かかることがあります。 その間、ドメインでダウン時間が発生する可能性があります。
ibmcloud oc ingress domain default replace --cluster CLUSTER --domain DOMAIN
ドメインのシークレットと証明書の管理
Ingress ドメインの TLS 証明書を管理する方法について説明します。
Ingressドメインの証明書の再生成
ドメイン証明書を再生成して DNS プロバイダーに新しいトークンを生成し、それをクラスターに適用します。
詳細およびコマンド・オプションについては、 CLI リファレンス を参照してください。
ibmcloud oc ingress domain secret regenerate --cluster CLUSTER --domain DOMAIN
Ingress ドメイン・シークレットの削除
Ingress ドメインのシークレットを削除し、今後証明書が更新されないようにする。
詳細およびコマンド・オプションについては、 CLI リファレンス を参照してください。
ibmcloud oc ingress domain secret rm --cluster CLUSTER --domain DOMAIN