設定叢集的網域

當您建立叢集時,依預設會以 <cluster_name>-<globally_unique_account_HASH>-0000.<region>.containers.appdomain.cloud 格式登錄叢集的 Ingress 子網域。 此外,您可以透過 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 ALBVPC NLB 文件中的註解說明。

在主控台中存取網域

請前往您叢集的「網域」頁面,以建立和管理網域。

  1. 在主控台中,導覽至 叢集標籤
  2. 按一下要建立或變更網域的群集。
  3. 按一下 進入
  4. 按一下網域標籤。 從這裡,您可以管理與叢集相關聯的網域。

在控制台中建立網域

使用 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® 群集不支援預設網域組態。

註冊詳細資料

  • 新增一或多個 IP 位址 (適用於標準或 VPC 叢集) 或 主機名稱 (適用於 VPC 叢集) 以登錄至網域。 您可以更新已登錄哪些 IP 位址或主機名稱。
  • 秘密命名空間:指定為網域建立 TLS secret 的命名空間。 若未指定命名空間,該機密將建立於「default」命名空間中。

在控制台中管理您的網域

您可以完成下列動作來管理您的網域。

刪除網域
如果您從叢集中刪除網域,則無法回復網域。 如果您稍後需要網域,則必須重新佈建它。 如果刪除向受管理提供者登錄的網域,則無法重複使用該網域名稱。 請注意,您無法刪除叢集的預設網域。 如果您要刪除目前登錄為預設值的網域,則必須先指派不同的預設網域。
更新網域的 IP 位址或主機名稱
當您更新 IP 位址或主機名稱時,必須包括目前向網域登錄的任何 IP 或主機名稱。 網域會以指定的確切值進行更新,因此會改寫任何現行 IP 位址或主機名稱 (如果未包含的話)。 例如,如果 52.137.182.166 目前已登錄至您的網域,且您想要新增 52.137.182.270,則必須同時指定這兩個 IP 位址。
變更叢集的預設網域
您可以將預設網域變更為叢集中存在的任何網域。 這項變更可能需要長達五分鐘才能套用。 在此期間,您的網域可能會遇到關閉時間。

使用受管理 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
必要。 您要建立該網域的叢集名稱或識別碼。
--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
必要。 您要建立該網域的叢集名稱或識別碼。
--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 參考資料

最多可能需要五分鐘才能更新預設網域。 在此期間,您的網域可能會遇到關閉時間。

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