k8s 部署 custom-metrics-apiserver 时使用 secret 保存 ca 证书遇到的问题
部署 k8s-prometheus-adapter 的 custom-metrics-apiserver 时,pod 总是启动失败,对应的错误日志:
unable to install resource metrics API: unable to load server certificate: open /var/run/serving-cert/serving.crt: no such file or directory
用 kubectl edit secret cm-adapter-serving-certs -n monitoring
查看 secret 中的配置数据
data:
tls.crt: ******
tls.key: ******
kind: Secret
发现配置名称是 tls.crt 与 tls.key ,而 custom-metrics-apiserver pod 用到的是 serving.crt 与 serving.key 。
当时创建 secret 的命令用的是 tls 参数。
kubectl -n monitoring create secret tls cm-adapter-serving-certs --cert=./serving.crt --key=./serving.key
改为 generic 参数创建 secret 。
kubectl -n monitoring create secret generic cm-adapter-serving-certs --from-file=./serving.crt --from-file=./serving.key
secret 的配置名称变成 serving.crt 与 serving.key 。
data:
serving.crt: ******
serving.key: ******
kind: Secret
custom-metrics-apiserver pod 就成功启动了,问题就解决了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步