我已经更新了我的Kubernetes Ingress服务的SSL证书,但我不知道如何重新启动示例以使用更新的cert secret,而无需手动删除和重新启动Ingress示例。这并不理想,因为使用该特定证书的入口数量(都位于同一个TLD上)。如何强制它使用更新的密钥?
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
字符串
mutmk8jj2#
原来它没有更新的原因是证书没有正确链接;我上传了没有实际结束证书的ca-bundle,我猜Google拒绝更新LB证书,如果它们不是一个有效的链。很奇怪,但是,好吧,当然。
2条答案
按热度按时间jucafojl1#
您不需要删除Ingress对象就可以使用更新的TLS Secret。
GKE Ingress控制器(https://github.com/kubernetes/ingress-gce)自动拾取更新后的Secret资源并进行更新。(如果没有,在回购上打开一个问题)。
示例如下:
字符串
如果你在10-20分钟内没有看到变化,我建议简单地编辑Ingress对象(例如,添加标签或注解),以便Ingress控制器再次拾取对象并评估目标状态与当前状态,然后继续进行更改(更新TLS秘密)。
mutmk8jj2#
原来它没有更新的原因是证书没有正确链接;我上传了没有实际结束证书的ca-bundle,我猜Google拒绝更新LB证书,如果它们不是一个有效的链。很奇怪,但是,好吧,当然。