Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 使用minikube将apiserver配置为使用加密配置_Kubernetes_Minikube - Fatal编程技术网

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>