Kubernetes 使用minikube将apiserver配置为使用加密配置
我正在尝试配置Kubernetes 使用minikube将apiserver配置为使用加密配置,kubernetes,minikube,Kubernetes,Minikube,我正在尝试配置kube-apiserver,以便它使用加密在我的minikube集群中配置机密 为此,我遵循了第三步,但在第三步中,我被卡住了 在kube apiserver上设置--encryption provider config标志,以指向配置文件的位置 我在minikube start上发现了选项--extra config,并尝试使用 minikube启动--extra-config=apiserver.encryption-provider-config=encryptionCon
kube-apiserver
,以便它使用加密在我的minikube集群中配置机密
为此,我遵循了第三步,但在第三步中,我被卡住了
在kube apiserver
上设置--encryption provider config
标志,以指向配置文件的位置
我在minikube start
上发现了选项--extra config
,并尝试使用
minikube启动--extra-config=apiserver.encryption-provider-config=encryptionConf.yaml
但是它自然不能工作,因为encryptionConf.yaml
位于我的本地文件系统中,而不是minikube开发的pod中。minikube日志给我的错误是
错误:打开加密提供程序配置文件“encryptionConf.yaml”时出错:打开encryptionConf.yaml:没有这样的文件或目录
将加密配置文件放到
kube apiserver
上的最佳做法是什么?或者minikube
可能是尝试这类事情的错误工具吗?基于所使用的驱动程序,一些目录被装载到minikube虚拟机上。
检查此链接-
另外~/.minikube/files也被装载到VM的/files中。因此,您可以将文件保存在那里,并将该路径用于API服务器配置我自己在其中找到了解决方案,它们在传递配置文件时遇到了类似的问题。对我有帮助的评论是一个略显粗糙的解决方案,它利用了这样一个事实: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
我在windows中遇到了类似的文件路径位置问题 因为C:\Users\%USERNAME%\默认安装在minikube虚拟机中 因此,我将文件复制到桌面文件夹(C驱动器下的任何文件夹)
minikube--extra config=apiserver.encryption provider config=/c/Users/%USERNAME%/…/
希望这对在windows平台上面临此问题的用户有所帮助。谢谢您的提示。我成功地挂载了该文件,并且可以在ssh到minikube虚拟机时验证它是否在那里。但是,我仍然无法从
kube apiserver
pod访问它,因为它没有安装在那里-仍然会给我上面相同的错误。这可能是一个加载的后续操作,但是任何有权访问此encryptionConf.yaml的人基本上都可以解码其中的base 64以揭示您的秘密,对吗?或者,一旦以这种方式启动minikube,是否可以删除conf文件?非常感谢。
minikube --extra-config=apiserver.encryption-provider-config=/c/Users/%USERNAME%/.../<file-name>