检查 Kubernetes 集群上 NGINX 中加载的 SSL 证书的值

Check the the value of an SSL cert loaded in NGINX on a Kubernetes cluster

我想知道是否可以查看当前由 NGINX 加载的证书的内容。

用例在 Kubernetes 中,其中使用新的 .key 和 .crt 更改了秘密,我不知道自从更改秘密后 pods 是否经历了重启。

我知道可以使用

查看 Kubernetes 集群上当前安装的秘密
kubectl get secret <secret> -o yaml

我通过查看进程确认了nginx加载的配置文件

ps aux

我也知道可以查看nginx.conf的内容,看到是指证书所在的挂载点

    ssl_certificate         /etc/vol/sslcert.crt;
    ssl_certificate_key     /etc/vol/sslcert.key;

但由于 .crt 和 .key 的名称在秘密中从未改变(只有值),我无法仅凭这一点判断当前加载了哪个证书

有什么方法可以确认内存中实际保存的内容吗?

我的建议是访问服务器并获取 returns 的证书。此答案使用 openssl,应该适用于您的情况:https://serverfault.com/a/661982/380575

使用kubectl代理,可以在本地主机中打开UI 在 Secrets 选项卡中,当您单击与您的证书对应的 secret 时,您可以查看 pod 中实际安装的证书。 (点击眼睛图标)