kubernetes - Nginx、cert-manager、安装的秘密文件更新问题
kubernetes - Nginx, cert-manager, mounted secret file renewal issue
cert-manager的证书文件挂载到nginx卷上,正在使用
例如
nginx deploy.yaml -
volumes:
- name: secret-volume
secret:
secretName: my.test.app.com
- name: configmap-volume
configMap:
name: nginxconfigmap
containers:
- name: nginxhttps
image: bprashanth/nginxhttps:1.0
ports:
- containerPort: 443
- containerPort: 80
volumeMounts:
- mountPath: /etc/nginx/ssl
name: secret-volume
- mountPath: /etc/nginx/conf.d
name: configmap-volume
和我的 nginx.conf 文件在
ssl_certificate /etc/nginx/ssl/tls.crt;
ssl_certificate_key /etc/nginx/ssl/tls.key;
而且效果很好。
另外证书顺利通过cert-manager补发
但是由于重新颁发的证书文件在nginx容器中没有更新,所以用浏览器访问时说证书已经过期
强制重启pod没有问题,但我想自动化。
请问有没有什么办法不用强制重启pod就可以自动更新证书
不确定证书是否适用于使用 Nginx 或处理集群全部流量的主要 Nginx ingress
的特定应用程序。
如果它是主要的 Nginx 处理集群的全部流量,您可以创建 ingress 并添加 cert-manager 在那里集成。
Cert-manager 将管理证书并将其保存在秘密中,入口将使用该秘密 运行 时间。每当证书更新时,秘密内容将更新游戏,而入口将使用相同的秘密名称。
在上面的场景中,不需要重启 Pod。
如果您想阅读和检查整个示例,请参阅:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes
在上面的例子中,Nginx 将运行没有卷中的任何证书,而它将使用存储在秘密中的证书。
对于 YAML 示例,如果 issuer 和 ingress 请检查:
cert-manager的证书文件挂载到nginx卷上,正在使用
例如
nginx deploy.yaml -
volumes:
- name: secret-volume
secret:
secretName: my.test.app.com
- name: configmap-volume
configMap:
name: nginxconfigmap
containers:
- name: nginxhttps
image: bprashanth/nginxhttps:1.0
ports:
- containerPort: 443
- containerPort: 80
volumeMounts:
- mountPath: /etc/nginx/ssl
name: secret-volume
- mountPath: /etc/nginx/conf.d
name: configmap-volume
和我的 nginx.conf 文件在
ssl_certificate /etc/nginx/ssl/tls.crt;
ssl_certificate_key /etc/nginx/ssl/tls.key;
而且效果很好。 另外证书顺利通过cert-manager补发
但是由于重新颁发的证书文件在nginx容器中没有更新,所以用浏览器访问时说证书已经过期
强制重启pod没有问题,但我想自动化。
请问有没有什么办法不用强制重启pod就可以自动更新证书
不确定证书是否适用于使用 Nginx 或处理集群全部流量的主要 Nginx ingress
的特定应用程序。
如果它是主要的 Nginx 处理集群的全部流量,您可以创建 ingress 并添加 cert-manager 在那里集成。
Cert-manager 将管理证书并将其保存在秘密中,入口将使用该秘密 运行 时间。每当证书更新时,秘密内容将更新游戏,而入口将使用相同的秘密名称。
在上面的场景中,不需要重启 Pod。
如果您想阅读和检查整个示例,请参阅:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes
在上面的例子中,Nginx 将运行没有卷中的任何证书,而它将使用存储在秘密中的证书。
对于 YAML 示例,如果 issuer 和 ingress 请检查: