为集群设置域
创建集群时,缺省情况下将以 <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 ALB 或 VPC NLB 文档中的注释说明。
在控制台中访问域
请转到集群的 “域名”页面,以创建和管理域名。
- 在控制台中,浏览至 "集群" 选项卡。
- 点击您要创建或更改域的集群。
- 单击 Ingress。
- 单击域选项卡。 从此处,您可以管理与集群关联的域。
在控制台中创建域名
使用 IBM Cloud 控制台在集群中创建您自己的域,或者添加已存在于提供者帐户中的域。 遵循控制台指示信息以进行以下域配置。
如果使用 IBM Cloud Internet Services 提供商,则必须首先为 IBM Cloud Internet Services 实例 设置服务对服务授权。 将源服务设置为 Kubernetes Service,将目标设置为 Internet services。
分配 Manager 服务级别角色和 Viewer 平台级别角色。
域详细信息
- 域名: 要创建或添加到集群的域的名称。 这可以是提供者帐户中存在的域,也可以是新域。
- 提供者: 选择域的提供者。 要使用 IBM Cloud的内部提供程序创建受管域,请选择 受管。 要使用外部提供者,请从其余提供者类型中进行选择。
- 设置为缺省值: 选择是否要将域设置为集群的缺省值。 默认的入口域用于为您的每个应用程序生成唯一的 URL,也是集群中任何公共ALB的IP地址所引用的域。 您可以随时更改将哪个域设置为缺省值。 设置缺省域将替换当前缺省值。 Satellite 群集或运行 4.18 或更高版本的 Red Hat® OpenShift® on IBM Cloud® 群集不支持默认域配置。
注册详细信息
- 添加一个或多个 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 实例的域标识。 这是一个 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]
更改集群的缺省域
默认的入口域用于为您的每个应用程序生成唯一的 URL,也是集群中任何公共ALB的IP地址所引用的域。 供应集群时,将自动为您创建缺省 Ingress 域,但您可以将缺省域更改为集群中存在的任何域。 要检查集群的缺省域,请运行 ibmcloud oc cluster get 并在输出中找到 Ingress subdomain。
有关更多详细信息和命令选项,请参阅 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