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

如何通过GKE Ingress YAML将GCP证书管理器的证书映射到L7负载均衡器?

解决方案:通过GKE Ingress关联GCP证书管理器的证书

要将GCP证书管理器(而非GKE经典证书板块)中的证书映射到GKE Ingress创建的L7负载均衡器,不能使用原有的networking.gke.io/managed-certificates注解(该注解仅适配GKE原生的经典证书体系),需要借助FrontendConfig CRD实现关联,具体步骤如下:

1. 确认集群兼容性

  • GKE集群版本需≥1.18(FrontendConfig从该版本开始支持)
  • 确保集群已启用HTTP Load Balancing插件(默认已启用,可通过gcloud container clusters describe [CLUSTER_NAME] --zone [ZONE]查看addonsConfig.httpLoadBalancing.enabled状态)

2. 创建FrontendConfig资源

该资源用于定义负载均衡器的前端配置,核心是关联GCP证书管理器的证书。替换示例中的项目ID、证书名称:

apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
  name: custom-frontend-config
spec:
  sslCertificates:
    - certificateName: projects/[你的项目ID]/locations/global/certificates/[证书管理器中的证书名称]

若证书与集群同属一个项目,也可直接使用证书短名称,但推荐完整资源路径避免歧义。

3. 编写Ingress YAML并关联FrontendConfig

在Ingress配置中通过注解引用上述FrontendConfig,务必移除networking.gke.io/managed-certificates注解,示例如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: your-ingress
  annotations:
    networking.gke.io/frontend-config: custom-frontend-config
spec:
  rules:
    - host: your-domain.example.com
      http:
        paths:
          - path: /*
            pathType: ImplementationSpecific
            backend:
              service:
                name: your-backend-service
                port:
                  number: 80

关键注意事项

  • 确保GCP证书管理器中的证书状态为ACTIVE,否则负载均衡器无法完成关联
  • 确认Ingress使用GKE默认的gce Ingress类(无需额外指定,默认生效)
  • 权限配置:需为GKE Ingress控制器的服务账号授予roles/certificatemanager.certificateUser角色,允许其访问证书管理器的证书。可通过以下命令完成授权:
gcloud projects add-iam-policy-binding [你的项目ID] \
  --member="serviceAccount:[集群项目编号]-compute@developer.gserviceaccount.com" \
  --role="roles/certificatemanager.certificateUser"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 07:17:43