使用 minikube 配置 apiserver 以使用加密配置
Configure apiserver to use encryption config using minikube
我正在尝试配置 kube-apiserver
以便它使用加密来配置我的 minikube 集群中的机密。
为此,我遵循了 documentation on kubernetes.io 但卡在了第 3 步
在 kube-apiserver
上设置 --encryption-provider-config
标志以指向配置文件的位置。
我在 minikube start
上发现了选项 --extra-config
并尝试使用
开始我的设置
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
可能是尝试这些事情的错误工具?
根据使用的驱动程序,一些目录已安装到您的 minikube VM 上。
检查此 link - https://kubernetes.io/docs/setup/minikube/#mounted-host-folders
另外 ~/.minikube/files 也安装到 VM 的 /files 中。因此,您可以将文件保存在那里并将该路径用于 API 服务器配置
我自己在 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
我在 windows 中遇到了关于文件路径位置的类似问题
因为 C:\Users\%USERNAME%\ 默认安装在 minikube VM 中
所以我将文件复制到桌面文件夹(C 盘 下的任何文件夹)
minikube --extra-config=apiserver.encryption-provider-config=/c/Users/%USERNAME%/.../<file-name>
希望这对在 windows 平台上遇到此问题的人们有所帮助。
我正在尝试配置 kube-apiserver
以便它使用加密来配置我的 minikube 集群中的机密。
为此,我遵循了 documentation on kubernetes.io 但卡在了第 3 步
在 kube-apiserver
上设置 --encryption-provider-config
标志以指向配置文件的位置。
我在 minikube start
上发现了选项 --extra-config
并尝试使用
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
可能是尝试这些事情的错误工具?
根据使用的驱动程序,一些目录已安装到您的 minikube VM 上。 检查此 link - https://kubernetes.io/docs/setup/minikube/#mounted-host-folders
另外 ~/.minikube/files 也安装到 VM 的 /files 中。因此,您可以将文件保存在那里并将该路径用于 API 服务器配置
我自己在 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
我在 windows 中遇到了关于文件路径位置的类似问题 因为 C:\Users\%USERNAME%\ 默认安装在 minikube VM 中 所以我将文件复制到桌面文件夹(C 盘 下的任何文件夹)
minikube --extra-config=apiserver.encryption-provider-config=/c/Users/%USERNAME%/.../<file-name>
希望这对在 windows 平台上遇到此问题的人们有所帮助。