kubernetes 如何重新启动GCP Ingress项目以使用更新的密钥

4ioopgfo  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(2)|浏览(152)

我已经更新了我的Kubernetes Ingress服务的SSL证书,但我不知道如何重新启动示例以使用更新的cert secret,而无需手动删除和重新启动Ingress示例。这并不理想,因为使用该特定证书的入口数量(都位于同一个TLD上)。如何强制它使用更新的密钥?

jucafojl

jucafojl1#

您不需要删除Ingress对象就可以使用更新的TLS Secret。
GKE Ingress控制器(https://github.com/kubernetes/ingress-gce)自动拾取更新后的Secret资源并进行更新。(如果没有,在回购上打开一个问题)。
示例如下:

$ kubectl describe ingress foobar
Name:             foobar
Labels:           <none>
Namespace:        default
Address:          123.234.123.234
Ingress Class:    <none>
Default backend:  <default>
TLS:
  my-secret terminates
(...)
Events:
  Type    Reason  Age                   From                     Message
  ----    ------  ----                  ----                     -------
  Normal  Sync    6m29s                 loadbalancer-controller  TargetProxy "<redacted>" certs updated
  Normal  Sync    6m25s (x78 over 12h)  loadbalancer-controller  Scheduled for sync

字符串

  • 这里,来自秘密“my-secret”的证书在6 m29 s之前已经被成功地重新加载。
    如果你在10-20分钟内没有看到变化,我建议简单地编辑Ingress对象(例如,添加标签或注解),以便Ingress控制器再次拾取对象并评估目标状态与当前状态,然后继续进行更改(更新TLS秘密)。
mutmk8jj

mutmk8jj2#

原来它没有更新的原因是证书没有正确链接;我上传了没有实际结束证书的ca-bundle,我猜Google拒绝更新LB证书,如果它们不是一个有效的链。很奇怪,但是,好吧,当然。

相关问题