配置域名

向平台添加域名资源,并为集群下的所有项目或特定项目下的资源分配域名。创建域名时,支持绑定证书。

NOTE

平台上创建的域名需解析到集群的负载均衡地址后,才能通过域名访问。因此,您需要确保平台上添加的域名已成功注册,并且域名解析指向集群的负载均衡地址。

在平台上成功创建并分配的域名可以用于 Container Platform 的以下功能:

  • 创建入站规则网络管理 > 入站规则 > 创建入站规则

  • 创建原生应用应用管理 > 原生应用 > 创建原生应用 > 添加入站规则

  • 为负载均衡添加监听端口网络管理 > 负载均衡详情 > 添加监听端口

域名绑定证书后,应用开发人员在配置负载均衡和入站规则时,只需选择该域名,即可使用该域名自带的证书支持 https。

域名自定义资源(CR)示例

# test-domain.yaml
apiVersion: crd.alauda.io/v2
kind: Domain
metadata:
  name: '${random-unique-name}'
  annotations:
    cpaas.io/secret-ref: developer.test.cn-xfd8x
  labels:
    cluster.cpaas.io/name: global
    project.cpaas.io/name: demo
spec:
  name: developer.test.cn
  kind: full
  1. 如果启用证书,必须提前创建 LTS 类型的 Secret,secret-ref 是 Secret 名称。

通过 Web 控制台创建域名

  1. 进入 管理员

  2. 在左侧导航栏点击 网络管理 > 域名

  3. 点击 创建域名

  4. 根据以下说明配置相关参数。

    参数说明
    类型
    • Domain:完整域名,例如 developer.test.cn
    • Wildcard Domain:带有通配符(*)的泛域名,例如 *.test.cn,包含域名 test.cn 下的所有子域名。
    域名根据选择的域名类型,输入完整域名或域名后缀。
    分配集群如果分配了集群,还需选择与该集群关联的项目,如集群下的所有项目。
    证书包含用于创建域名绑定证书的公钥(tls.crt)和私钥(tls.key)。证书分配的项目应与绑定的域名相同。
    注意
    • 不支持二进制文件导入。
    • 绑定的证书需满足格式正确、在有效期内且为域名签发等条件。
    • 创建绑定证书后,绑定证书的名称格式为:域名-随机字符。
    • 创建绑定证书后,可在证书列表查看,但绑定证书的更新和删除仅支持在域名详情页操作。
    • 创建绑定证书后,支持更新证书内容,但不支持替换为其他证书。
  5. 点击 创建

通过 CLI 创建域名

kubectl apply -f test-domain.yaml

多集群共享同一域名

您可以通过在 global 集群中创建多个 Domain 资源,使用相同的 spec.name 值但不同的 cluster.cpaas.io/name 标签,实现同一域名在多个集群间共享。

通过 Web 控制台配置

  1. 按照通过 Web 控制台创建域名的步骤操作。

  2. 创建两个具有相同域名(例如 app.example.com)的域名资源。

  3. 对每个域名,选择不同的分配集群(例如 cluster-a 和 cluster-b)。

通过 CLI 配置

在 global 集群中创建两个 Domain 自定义资源,spec.name 相同,但 cluster.cpaas.io/name 标签不同:

NOTE

两个 Domain 资源的域名(spec.name)必须相同,但资源的 metadata.name 应唯一。两个资源均创建于 global 集群。

Cluster A 的域名:

apiVersion: crd.alauda.io/v2
kind: Domain
metadata:
  name: '${random-unique-name}'
  labels:
    cluster.cpaas.io/name: cluster-a
    project.cpaas.io/name: project-a
spec:
  name: app.example.com  # 相同域名
  kind: full

Cluster B 的域名:

apiVersion: crd.alauda.io/v2
kind: Domain
metadata:
  name: '${random-unique-name}'
  labels:
    cluster.cpaas.io/name: cluster-b
    project.cpaas.io/name: project-a
spec:
  name: app.example.com  # 与 Cluster A 相同的域名
  kind: full

后续操作

  • 域名注册:如果创建的域名尚未注册,请先完成域名注册。

  • 域名解析:如果域名未指向平台集群的负载均衡地址,请进行域名解析。

相关资源