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

在GKE中部署Cert Manager报错,求部署及Ingress SSL证书创建方案

在GKE中部署Cert Manager并为Ingress配置SSL证书

一、部署Cert Manager到GKE

1. 前置条件

  • 拥有GKE集群管理员权限,且kubectl已配置连接目标集群
  • 已安装Helm(官方推荐Helm部署方式)

2. 添加Cert Manager Helm仓库

helm repo add jetstack https://charts.jetstack.io
helm repo update

3. 创建专用命名空间

kubectl create namespace cert-manager

4. 安装Cert Manager(包含CRDs)

helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --version v1.13.0 \
  --set installCRDs=true

注:可替换为最新稳定版本号,需确认官方兼容GKE的版本

5. 验证部署状态

kubectl get pods -n cert-manager

确认所有Pod处于Running状态即为部署成功

二、配置证书颁发者(Let's Encrypt)

1. 创建集群级颁发者(ClusterIssuer)

创建cluster-issuer.yaml文件:

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: your-alert-email@example.com  # 替换为你的邮箱,用于接收证书过期提醒
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
    - http01:
        ingress:
          class: gce  # 匹配GKE默认Ingress类

应用配置:

kubectl apply -f cluster-issuer.yaml

2. 确认颁发者就绪

kubectl get clusterissuer letsencrypt-prod

状态显示Ready即为配置正常

三、为Ingress配置SSL证书

1. 创建带证书请求的Ingress资源

创建ingress-ssl.yaml文件:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app-ingress
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod  # 关联已创建的ClusterIssuer
spec:
  tls:
  - hosts:
    - your-domain.com  # 替换为你的业务域名
    secretName: app-tls-secret  # 证书将存储在此Secret中
  rules:
  - host: your-domain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: your-backend-service  # 替换为你的后端服务名称
            port:
              number: 80

应用配置:

kubectl apply -f ingress-ssl.yaml

2. 验证证书颁发状态

kubectl get certificates

状态变为Ready即表示证书已成功颁发,Ingress将自动启用HTTPS

四、常见问题排查

  • Pod启动失败:查看日志定位问题 kubectl logs -n cert-manager <pod-name>
  • 证书长期Pending:检查ClusterIssuer是否Ready,确认域名A/AAAA记录已指向GKE Ingress的负载均衡IP
  • 流量无法访问:确认GKE集群防火墙已开放80(HTTP验证)和443(HTTPS)端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:58:14