关于kubernetes:Kubernetes-traefik-tls证书到期替换

25次阅读

共计 1492 个字符,预计需要花费 4 分钟才能阅读完成。

背景:

ssl 证书都是一年签发的。到了六月份了一年一度的证书替换的日子到了 …….。过来的办法始终都是先 delete secret,而后持续创立一个新的。这次就突发奇想的,还有其余办法吗 …… 百度了一下还真的搜寻到了:
https://blog.csdn.net/cyxinda/article/details/107854881
我的证书是在腾讯云下面购买的 TrustAsia 域名型 (DV) 通配符 (1 年) 的 ssl 证书。

思考到老本毕竟申请的 dv 的泛域名证书。对于 dv ov 证书的区别:

                                             此图片来源于网络

对于 secret tls 的创立形式

对于 secret 能够参照 https://kubernetes.io/zh/docs/concepts/configuration/secret/。kubernetes 官网文档。这里就间接创立一下 tls secret 了
在腾讯云平台 ssl 治理页面 https://console.cloud.tencent.com/ssl

找到相干证书并点击下载将证书下载到本地。
将证书上传到服务器,并解压 zip 文件。解压后的文件列表如下

我是间接进入 Nginx 文件夹,文件列表如下:

当然了 其余平台申请的证书可能不是这样的(记得阿里云的不是这样的来,能够 openssl 转一下吧?)

 kubectl create secret tls all-xxx-com --key=2_xxx.com.key --cert=1_xxx.com_bundle.crt -n master

traefik 中利用应用证书能够参照:traefik2 装置实现 http https,2019-12-27-traefik. 上面进入正题切换批改到期证书 …
注:以下参考了 https://blog.csdn.net/cyxinda/article/details/107854881

几种更换 kubernetes 中 tls 证书的形式:

1. 删除再重建

这应该是最常见的 … 反正我过来是常常用

kubectl delete secret all-xxx.com -n master
kubectl create secret tls all-xxx-com --key=2_xxx.com.key --cert=1_xxx.com_bundle.crt -n master

2. 通过 –dry-run 参数预览,而后 apply

kubectl create secret tls all-xxx-com --key=2_xxx.com.key --cert=1_xxx.com_bundle.crt -n master --dry-run -o yaml |kubectl apply -f -

算是温习了一下 –dry-run 的命令。也比拟优雅。通过 apply 更新 secret。

3. 我可不可以 edit 批改一下 secret 中秘钥的内容

kubectl edit secret all-xxxcom -n master


base64 1_xxx.com_bundle.crt 失去的内容将 secret tls.crt 中内容替换
base64 2_xxx.com.key 失去的内容将 secret 中的 tls.key 的内容替换

4. 更优雅的形式:


集体来说偏向于第二种形式还是 ……

总结一下:

  1. 删除重建是最笨的形式,当然了不会其余形式也能够用这种形式。在删除新建 secret 的空窗期,是存在危险的​
  2. kubernetes api 能够通过 json 或者 yaml 文件对元数据进行更新或者交互
  3. –dry-run 的参数还是很有用的
  4. secret 还是基于 namespace。同一个 secret 在好多命名空间都有同样的存在,有没有较为不便的治理形式呢?

正文完
 0