ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何在GKE上免费获得HTTPS:gke-letsencrypt完整指南,Let‘s Encrypt新手5步走通全流程

如何在GKE上免费获得HTTPS:gke-letsencrypt完整指南,Let‘s Encrypt新手5步走通全流程 如何在GKE上免费获得HTTPSgke-letsencrypt完整指南Lets Encrypt新手5步走通全流程【免费下载链接】gke-letsencryptTutorial for installing cert-manager on GKE get HTTPS certificates from Let’s Encrypt (⚠️NOW OBSOLETE⚠️)项目地址: https://gitcode.com/gh_mirrors/gk/gke-letsencryptgke-letsencrypt 是一个面向 GKEGoogle Kubernetes Engine用户的免费 HTTPS 证书教程它教你在 30 分钟内用 cert-manager Lets Encrypt 为集群中的网站自动签发并续期免费的 TLS/SSL 证书。如果你是新手跟着下面的 5 个步骤走就能让自己的域名在浏览器中挂上安全小锁 。⚠️重要提示GKE 自 2019 年 4 月起已原生支持托管 Lets Encrypt 证书本项目的 cert-manager 方案已标记为OBSOLETE已过时。新建集群建议优先使用 GKE 官方托管证书功能本文更适合学习证书自动签发原理或维护存量环境时参考。前置要求缺一不可要求说明已注册的域名例如 www.example.com一个可用的 GKE 集群用于运行 Web 应用时间约 30 分钟方案原理三个角色如何协作 GKE 本身不提供开箱即用的 HTTPS 方案本教程让三方分工配合Lets Encrypt非营利证书颁发机构CA提供免费的 TLS/SSL 证书cert-manager第三方 Kubernetes 控制器负责自动申请证书并在到期前续期GKE Ingress对外暴露你的 Web 应用并承载证书。 cert-manager 属于 pre-stable预稳定软件非 Google 官方支持生产环境请自行评估风险。第 1 步安装 Helm包管理器Helm 是 Kubernetes 的包管理器用于一键部署组件。先在开发机安装 Helm 客户端再在集群中初始化服务端组件 Tillerkubectl create serviceaccount -n kube-system tiller kubectl create clusterrolebinding tiller-binding \ --clusterrolecluster-admin \ --serviceaccount kube-system:tiller helm init --service-account tiller等待 Tiller Pod 就绪后执行helm repo update更新图表仓库。详细操作见项目内的 Helm 安装教程 中 10-install-helm.md 文档。第 2 步安装 cert-manager一条 Helm 命令即可完成安装部署到kube-system命名空间helm install --name cert-manager --version v0.5.2 \ --namespace kube-system stable/cert-manager第 3 步配置 Lets Encrypt 颁发者Issuercert-manager 支持多种签发方式这里选择 Lets Encrypt。你需要创建一个ClusterIssuer资源来告诉它“向谁申请证书”先把你的邮箱存成变量Lets Encrypt 的服务条款要求用于接收到期提醒export EMAILyouexample.com应用清单文件 yaml/letsencrypt-issuer.yaml其中的email: 会自动替换为你的邮箱。成功后会创建两个 ClusterIssuerletsencrypt-staging测试环境建议先用它验证自动化流程letsencrypt-prod正式环境签发真正可用的免费证书。 新手建议先连 staging 环境跑通确认无误后再切换到 prod避免踩坑。第 4 步部署 Web 应用并配置 Ingress这一步把一个示例应用部署到 GKE 上并绑定你的域名kubectl apply -f yaml/sample-app.yaml # Deployment NodePort Service gcloud compute addresses create helloweb-ip --global # 创建全局静态IP然后执行以下两件事改 DNS把域名 A 记录指向静态 IP 地址通过gcloud compute addresses describe helloweb-ip --global --format value(address)获取改 Ingress 清单下载 yaml/sample-ingress-tls.yaml替换三处内容——www.dogs.com改成你的域名、dogs-com-tls改成合适的 Secret 名称、Ingress 名称改成你的网站名称然后执行kubectl apply -f sample-ingress-tls.yaml。关键的两个注解会让 cert-manager 接管证书流程certmanager.k8s.io/cluster-issuer: letsencrypt-prod certmanager.k8s.io/acme-http01-edit-in-place: true第 5 步等待签发并验证 HTTPS 证书 ✅部署 Ingress 后cert-manager 会自动发起证书申请。整个流程大约需要10-20 分钟Google 负载均衡器配置较慢请耐心等待kubectl get certificate kubectl describe certificate当事件中出现CertObtained、CertIssued字样说明免费证书已成功签发 稍等负载均衡器完成更新用浏览器访问https://你的域名即可看到安全标识。⏳常见现象期间访问可能出现 404 或其他错误这是正常的不要慌关于续期完全省心Lets Encrypt 证书有效期为90 天cert-manager 会在后台持续运行、约每 60 天自动续期。⚠️ 只要还在用这个证书对外提供服务就不要卸载 cert-manager。幕后揭秘证书是如何自动签发的 cert-manager 的 ingress-shim 检测到 Ingress 中的 TLS 请求自动创建 Certificate 资源它修改 Ingress让/.well-known/acme-challenge/*请求指向一个临时验证服务用于证明域名归属Lets Encrypt 访问该地址完成域名所有权验证后签发免费证书证书被存入 Ingress 指定的 Secret可用kubectl get secret查看负载均衡器随之更新为 HTTPS。故障排查清单 现象处理建议访问报错/404等待 10-15 分钟Google LB 更新耗时较长证书一直未签发执行kubectl describe ingress与kubectl describe certificate查看事件日志证书申请失败检查 DNS 是否指向静态 IP、域名是否已实名生效另外本教程未涵盖HTTP 强制跳转 HTTPSGKE Ingress 当时暂不支持、负载均衡器与后端应用之间的 TLS 加密。如果你只是想更简单地获得 HTTPS也可考虑 Cloudflare 等第三方反向代理提供免费套餐。清理环境避免产生额外费用 实验结束后记得清理未使用的静态 IP 是要收费的kubectl delete ingress,deployment helloweb kubectl delete service helloweb-backend gcloud compute addresses delete helloweb-ip --global -q helm del --purge cert-manager # 不再使用时卸载 kubectl delete secret Secret名称 # 别忘了删除TLS证书获取完整教程资料 本项目的每一步都配有独立文档和现成清单文件建议 clone 仓库后按顺序阅读git clone https://link.gitcode.com/i/f9cd784c693f72c52c7e26cc726334c4项目结构一目了然文件内容10-install-helm.mdHelm 安装步骤20-install-cert-manager.mdcert-manager 安装30-setup-letsencrypt.md配置 Lets Encrypt 颁发者40-deploy-an-app.md部署应用与 Ingress50-get-a-certificate.md获取证书与排错详解99-cleanup.md清理指引yaml/letsencrypt-issuer.yamlClusterIssuer 清单yaml/sample-ingress-tls.yaml带 TLS 的 Ingress 示例跟着这 5 步你不仅能在 GKE 上免费获得 HTTPS 证书还能真正理解 cert-manager 自动化签发证书背后的 ACME 流程——这份知识即使未来 GKE 官方托管证书普及也同样受用。【免费下载链接】gke-letsencryptTutorial for installing cert-manager on GKE get HTTPS certificates from Let’s Encrypt (⚠️NOW OBSOLETE⚠️)项目地址: https://gitcode.com/gh_mirrors/gk/gke-letsencrypt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表