为kubernetes指标服务器提供密钥对的推荐方法?

时间:2019-07-19 22:06:20

标签: kubernetes

metrics-server和configmap是否存在任何已知问题?我已经尝试了无数种方法来使其正常工作,但无法成功。如果在我的部署清单中,我只是将“ image:k8s.gcr.io/metrics-server-amd64:v0.3.3”替换为“ image:docker.io/alpine”,则它可以读取configmap文件。但是metrics-server会引发以下错误: 尝试引用configmap文件时“无此文件或目录”。这使我怀疑问题出在度量服务器而不是k8s环境中。

我这样做的目的是使服务器的公钥和私钥(–tls-cert-file)可供容器使用。如果不是推荐使用configmap的方式向metrics-server提供其密钥,请让我知道推荐的方式是什么。 (在这种情况下,我仍然会好奇为什么metrics-server无法挂载configmap卷。)

1 个答案:

答案 0 :(得分:1)

我知道了。问题是来自metric-server的误导性错误消息和对容器是否能够看到卷中文件的零见解的结合。实际上,文件在那里,但是错误消息使我认为它们不在。如果您通过“ –tls-cert-file”但未同时提供“ –tls-private-key-file”(我只是为了进行测试),则错误消息为:“无此文件或目录”。而不是提供更多信息,例如“请一起指定两个选项。”度量标准服务器开发人员需要更改此设置,并在文件实际上不存在或无法打开以供读取的情况下保存“无此文件”。 认为没有文件,因此无法从容器中进行验证,因为它只有一个二进制文件而没有任何外壳。在未运行的容器上运行“ docker export”(未运行,因为metrics-server会抛出该错误)显示了一个空卷,因为kubelet在停止容器时已卸载了该卷。 查看kubelet日志,他们显示了该卷的一切正常,我可以在/ var / lib / kublet / pods /…/下看到文件。但是所有迹象都表明出了点问题,因为我不了解容器本身所看到的内容。 一旦我开始传递证书的两个命令行选项,一切就正常了。