我正在尝试配置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
可能是尝试这些事情的错误工具?
答案 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平台上遇到此问题的人很有帮助。