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

GKE部署Docker应用时如何配置HTTPS负载均衡及域名SSL证书

现有TCP LoadBalancer实现HTTPS访问的方案

可以实现,共有两种可选路径:

  • 路径1:SSL卸载放在应用侧实现,无需调整现有负载均衡配置。直接将自定义域名解析到现有TCP LB的公网IP,在Web应用容器内配置对应域名的SSL证书即可。缺点是SSL加解密会占用容器算力,证书更新需要同步到所有应用副本。
  • 路径2:在TCP LB和应用之间新增Nginx/Ingress层做SSL卸载,无需替换现有TCP LB,缺点是运维复杂度更高。

GKE应用接入GCP原生HTTPS LoadBalancer分步操作

你之前使用type: LoadBalancer类型的Service默认创建的是4层TCP负载均衡,要接入7层HTTPS负载均衡推荐直接使用GKE原生Ingress资源实现,操作步骤如下:

  1. 前置准备
  • 提前准备好需绑定的自定义域名,SSL证书可选择上传自有证书,也可使用GCP托管的免费证书(需完成域名所有权验证)
  • 确认GKE集群已启用HttpLoadBalancing附加组件,默认标准集群均已开启该配置。
  1. 调整应用Service配置
    将原有的LoadBalancer类型Service改为ClusterIP类型,后续Ingress会直接对接ClusterIP,无需保留公网TCP LB,配置示例:
apiVersion: v1
kind: Service
metadata:
  name: your-app-service
spec:
  type: ClusterIP
  selector:
    app: your-app
  ports:
  - port: 80
    targetPort: <容器内服务监听端口>

执行kubectl apply -f <配置文件名>提交配置即可。

  1. 创建SSL证书资源(使用GCP托管证书场景)
    创建ManagedCertificate资源完成证书自动签发,配置示例:
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: your-app-cert
spec:
  domains:
    - <你的自定义域名,例如example.com>

提交配置后等待GCP完成域名所有权验证和证书签发,通常耗时10-30分钟。

  1. 创建Ingress资源关联HTTPS负载均衡
    创建Ingress配置,关联之前创建的Service和证书资源,配置示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: your-app-ingress
  annotations:
    networking.gke.io/managed-certificates: your-app-cert
    kubernetes.io/ingress.global-static-ip-name: <提前预留的静态公网IP名称,可选配置>
spec:
  defaultBackend:
    service:
      name: your-app-service
      port:
        number: 80

提交配置后GKE会自动创建全局HTTPS负载均衡,关联对应后端服务和SSL证书,通常耗时5-10分钟生效。如果需要强制HTTP请求自动跳转到HTTPS,可在annotations中添加kubernetes.io/ingress.allow-http: "false"即可。

  1. 验证配置
    待Ingress状态中显示分配的公网IP后,将自定义域名解析到该IP,访问https://<你的域名>即可验证HTTPS访问是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:06:06