使用Minikube将apiserver配置为使用加密配置

时间:2019-04-05 06:37:18

标签: kubernetes minikube

我正在尝试配置kube-apiserver,以便它使用加密来配置minikube集群中的机密。

为此,我遵循了documentation on kubernetes.io,但被卡在了第3步所说的

--encryption-provider-config上设置kube-apiserver标志以指向配置文件的位置。

我在--extra-config上发现了选项minikube start,并尝试使用

开始设置

minikube start --extra-config=apiserver.encryption-provider-config=encryptionConf.yaml

但是自然地它不起作用,因为encryptionConf.yaml位于我的本地文件系统中,而不位于minikube生成的pod中。 minikube log给我的错误是

error: error opening encryption provider configuration file "encryptionConf.yaml": open encryptionConf.yaml: no such file or directory

将加密配置文件放入kube-apiserver的最佳实践是什么?还是minikube可能是尝试这些事情的错误工具?

3 个答案:

答案 0 :(得分:0)

基于使用的驱动程序,某些目录已安装在您的minikube VM上。 检查此链接-https://kubernetes.io/docs/setup/minikube/#mounted-host-folders

〜/ .minikube / files也通过/ files挂载到VM中。因此,您可以将文件保存在那里,并使用该路径进行API服务器配置

答案 1 :(得分:0)

我自己在this GitHub issue中找到了解决方案,他们在传递配置文件时遇到类似的问题。对我有帮助的评论是一个稍微有点棘手的解决方案,它利用了将minikube VM中的目录/var/lib/localkube/certs/安装到apiserver中的事实。

所以我的最终解决方案是运行

minikube mount .:/var/lib/minikube/certs/hack

在当前目录中的encryptionConf.yaml所在的位置,然后像这样启动minikube

minikube start --extra-config=apiserver.encryption-provider-config=/var/lib/minikube/certs/hack/encryptionConf.yaml

答案 2 :(得分:0)

我在Windows中关于文件路径位置有类似的问题 因为默认情况下在minikube VM中挂载了C:\ Users \%USERNAME%\ 所以我将文件复制到了Desktop文件夹( C驱动器下的任何文件夹)

minikube --extra-config=apiserver.encryption-provider-config=/c/Users/%USERNAME%/.../<file-name>  

希望这对在Windows平台上遇到此问题的人很有帮助。