因此,我需要更改过期的SSL证书。不幸的是,负责这项任务的人突然去世了。我没有谷歌云,库伯奈特或入口的经验。
如果我转到google云控制台,加载平衡器并单击所示的唯一一个,它将显示名为"k8s-ssl-xyz“的证书,这是我需要更改的过期证书。我试着编辑这个负载平衡器,在前端设置和创建一个新的证书。这起作用了,但几分钟后,它又回到了旧的证书上。
在kubernetes引擎、服务和入口下面,有一个名为“basic-inress4”的服务。yaml文件包含一行内容:
ingress.kubernetes.io/ssl-cert: k8s-ssl-xyz我尝试将"k8s-ssl-xyz“更改为我在前面创建的证书的名称,但过了一段时间,它也被逆转为旧的证书。
gcloud beta compute ssl-certificates list返回:
NAME TYPE CREATION_TIMESTAMP EXPIRE_TIME MANAGED_STATUS
k8s-ssl-xyz 2019-10-01 2019-08-15
newcert MANAGED 2019-09-30 2019-12-29 ACTIVE
x.yz.de: ACTIVE我也试过
gcloud compute target-https-proxies update k8s-tps-xyz --ssl-certificates newcert它还返回了“更新的...”,但也不起作用。
基本上,我在这里迷路了。如果证书本身没有重置,我如何更改该证书?
发布于 2019-10-02 14:14:05
我算出来了。basic-ingress4 4服务在它的yaml中有一个名为'spec->tls->secretName‘的条目。运行命令kubectl get secrets返回一个具有此名称的秘密。kubectl describe secret/secretname回来了,这确实是我想要更改这个秘密的主机的一个tls秘密。
所以通过这样做
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls.key -out /tmp/tls.crt -subj "/CN=foo.bar.com"紧接着是
kubectl create secret tls foo-secret --key /tmp/tls.key --cert /tmp/tls.crt我创建了一个包含新证书的新秘密。将yaml文件中的secretName密钥更改为秘密foo-secret的新名称,最终永久地更改了证书。
/E:如果想使用,删除“secretName”条目并将负载均衡器更改为有效。
https://serverfault.com/questions/986404
复制相似问题