Google Cloud Console GKE中的SSL证书未更新 [英] SSL Certificate not updating in Google Cloud Console GKE
问题描述
我的客户端站点托管在Google云上。该站点在1个实例组中有4个VM实例。它还有一个TCP负载平衡器,其中有1个目标池,后端类型为targetpool-targetinstance,并在后端显示了4个以上的VM实例。负载均衡前端配置包括TCP为协议,Premium为网络层,80-443端口选项取值。screenshot of frontend configuration
4个VM实例中的每个实例都在";in use by";列中显示两个值,一个是实例组名称,另一个是TCP负载平衡器名称。在实例组中,它显示in use byas";Production&Quot;,并单击将哪个应用到生产群集。
然后我从connect选项打开群集shell并运行此命令。
kubectl get secrets/tls-retail -o yaml
在这里我发现此密码与SSL有关,tls.crt字段中的值(从证书解码器解码并检查base64时)显示的过期日期与浏览器弹出窗口中显示的相同
然后我更改了同一机密文件中的tls.crt值,并使用以下代码保存了它,但没有任何影响。
EDITOR=nano kubectl edit secrets tls-retail
通过这个堆栈溢出链接(How to restart a GCP Ingress Item To Use Updated Secret),我发现它需要10-20分钟才能生效,但即使在1-2小时之后也没有任何影响。你能告诉我为什么这个变化没有任何影响吗?或者,如果有人能指导我如何在上述情况下使用Google托管SSL证书,因为我是Google控制台和GKE的新手。
谢谢
推荐答案
转到网络服务&>负载平衡并单击"高级"菜单链接时,可以单击"证书"选项卡以查看已向项目添加了哪些证书。你的新证书在那里吗?您的入口是否将其列为正在使用?
此群集是如何部署的?入口是如何部署的?这是使用";clickops";(使用Web界面)部署的,还是使用部署管理器(GCP产品)或Terraform之类的IAC部署的?当我需要轮换我的证书时,我:
- 通过单击";负载平衡&界面的高级菜单中的";创建SSL证书 ,将新版本的证书添加到项目中
- 在我在步骤1中访问的界面中上载了新的证书文件。我给它起了一个有意义的名称(我们称它为";my-new-cert";)
- 更新了入口的Deployment Manager配置文件,将
properties.metadata.annotations.ingress.gcp.kubernetes.io/pre-shared-cert
设置为my-new-cert
- 使用部署管理器命令重新部署入口。
=编辑为添加== 在GCP控制台中,您还可以转到Kubernetes Engine>;Services&;Inress&>&选项卡,单击有问题的入口,然后单击顶部的Edit链接以更新其YAML(使用您已添加到项目中的新证书的名称)。在GCP控制台中,您还可以转到Kubernetes Engine>;Services&;Inress&>选项卡,单击有问题的入口,然后单击顶部的Edit链接以更新其YAML(使用您已添加到项目中的新证书的名称)。如果您使用了某种类型的IAC来部署此入口,我不推荐使用此方法,因为它基本上等同于一个猴子补丁,如果重新部署IAC,它将被覆盖。但是你可以试试。因为我将IAC用于我的东西,所以我没有测试此方法,但我猜它是可编辑的,这是有原因的。
这篇关于Google Cloud Console GKE中的SSL证书未更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!