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

GKE上LoadBalancer服务快速配置HTTPS访问的最简方式是什么

GKE单Pod Web服务开启HTTPS最简实现方案

基于你已有的GKE环境和自有域名,优先推荐GKE原生托管证书方案,无需手动维护证书,改动量最小:

前置操作

  • 先将你的自有域名的A记录解析到现有LoadBalancer Service的公网IP 34.71......

方案1:GKE托管证书+Ingress(推荐,无需手动续期证书)

全程不需要修改现有Pod、Service配置,只需要新增2个K8s资源即可:

  1. 创建托管证书资源,新建managed-cert.yaml文件,替换为你自己的域名:
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: my-web-cert
spec:
  domains:
    - your-domain.com # 替换为你的实际自有域名

执行命令创建资源:
kubectl apply -f managed-cert.yaml
2. 创建Ingress资源,关联证书和现有Service,新建ingress.yaml文件:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-web-ingress
  annotations:
    networking.gke.io/managed-certificates: my-web-cert
    kubernetes.io/ingress.class: "gce"
spec:
  rules:
  - host: your-domain.com # 替换为你的实际自有域名
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80

执行命令创建资源:
kubectl apply -f ingress.yaml
3. 等待5-15分钟让GKE完成证书签发和资源配置,生效后即可通过https://your-domain.com正常访问服务。

方案2:Pod内直接配置证书(适合已有证书,不想新增Ingress的场景)

如果你已经持有该域名的SSL证书,也可以直接在Pod内部署证书,改动现有资源即可:

  1. 将SSL证书文件配置到Pod内的Web服务中,开启443端口监听
  2. 修改现有my-service配置,新增443端口暴露,参考配置:
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: LoadBalancer
  selector:
    app: nodeweb-server # 替换为你的Pod实际匹配标签
  ports:
    - name: http
      port: 80
      targetPort: 80
    - name: https
      port: 443
      targetPort: 443

应用配置后即可通过https://your-domain.com访问,缺点是需要你手动维护证书的更新和续签。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:54:08