viv*_*d4v 6 kubernetes minikube
不是真正的编程问题,但很想知道 Kubernetes 或 Minikube 如何管理秘密并在多个节点/pod 上使用它?
假设我创建一个秘密来拉取图像,kubectl如下所示 -
$ kubectl create secret docker-registry regsecret --docker-server=https://index.docker.io/v1/ --docker-username=$USERNM --docker-password=$PASSWD --docker-email=vivekyad4v@gmail.com
Run Code Online (Sandbox Code Playgroud)
后端会发生哪些进程,k8s 或 Minikube 将如何在多个节点/pod 上使用这些进程?
小智 7
Kubernetes 中的所有数据都由API Server对数据存储执行 CRUD 操作的组件管理(当前唯一的选项是etcd)。
当您向 提交secretwithkubectl时,API Server它会将资源和数据存储在etcd. 建议在 API Server 中为机密启用加密(通过设置正确的标志),以便数据在静态时加密,否则任何有权访问的人都etcd可以以secrets纯文本形式读取您的数据。
当secret需要挂载在 a 中Pod或在您的示例中从私有注册表中提取 Docker 映像时,API Server节点本地从 中请求它kubelet并保存在其中,tmpfs因此它永远不会接触任何未加密的硬盘。
在这里,另一个安全建议开始发挥作用,称为节点授权(再次通过设置正确的标志并将证书分发给 API Server 和 Kubelets 来设置)。启用节点授权后,您可以确保kubelet只能请求secrets要在该特定节点上运行的资源(包括),因此被黑节点只会公开该单个节点上的资源,而不是所有资源。
Secrets存储在 kubernetes 集群唯一的数据存储中:etcd.
与所有其他资源一样,它们是在可执行文件(在每个节点中运行)需要时kubelet通过查询 k8s 来检索的API server
| 归档时间: |
|
| 查看次数: |
2551 次 |
| 最近记录: |