You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GKE中创建DNS授权类型的Google托管证书(支持通配符)

在GKE上创建DNS授权类型的托管证书(支持通配符域名)

默认GKE的ManagedCertificate使用负载均衡授权,若要创建支持通配符域名的证书,必须配置DNS授权类型,具体步骤如下:

1. 前提准备

确保你的域名已托管在Google Cloud DNS中,且域名的DNS服务器已指向Cloud DNS提供的权威服务器。

2. 修改ManagedCertificate配置

在资源配置中添加dnsAuthorization字段,关联你的Cloud DNS托管区域,示例配置如下(包含通配符域名):

apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: wildcard-managed-cert
spec:
  domains:
    - "*.example.com"  # 通配符域名
    - example.com      # 根域名(建议包含)
  dnsAuthorization:
    dnsProvider:
      cloudDns:
        project: YOUR_GCP_PROJECT_ID       # 替换为你的GCP项目ID
        managedZoneName: YOUR_DNS_ZONE_NAME # 替换为Cloud DNS中的托管区域名称

3. 配置GKE服务账号权限

GKE集群的服务账号需要具备操作Cloud DNS的权限,才能自动添加ACME验证记录。执行以下命令为服务账号添加权限:

# 替换占位符为你的实际信息
gcloud projects add-iam-policy-binding YOUR_GCP_PROJECT_ID \
  --member=serviceAccount:YOUR_GKE_SERVICE_ACCOUNT@YOUR_GCP_PROJECT_ID.iam.gserviceaccount.com \
  --role=roles/dns.admin

若需要更精细的权限,可授予dns.changes.create、dns.resourceRecordsets.list、dns.resourceRecordsets.get这三个权限,替代roles/dns.admin。

你可以通过以下命令查询GKE集群使用的服务账号:

gcloud container clusters describe YOUR_CLUSTER_NAME --zone YOUR_CLUSTER_ZONE | grep serviceAccount

4. 应用配置并验证

  • 应用证书配置:
    kubectl apply -f your-cert-config.yaml
    
  • 查看证书状态:
    kubectl describe managedcertificate wildcard-managed-cert
    

当证书状态变为Active时,说明已成功签发,此时Cloud DNS中会自动生成ACME验证的DNS记录。

内容的提问来源于stack exchange,提问作者s_curry_s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:37:09