制作 docker-desktop 集群的副本或使用它作为模板制作新集群

Making a copy of docker-desktop cluster or making a new cluster using it as template

Docker Windows 和 macOS 的桌面随 docker-desktop 集群一起提供。我正在尝试弄清楚如何复制它,或者基于它作为模板创建一个新集群。我喜欢为我正在处理的每个项目建立集群,这样 PVC、PV 和秘密之类的东西就会被隔离,我可以用 kubectl config use-context project1 在它们之间切换。我一直在查看文档和 Google 搜索结果,但尚未确定如何执行此操作或是否可行。有什么建议吗?

如果您想定期将一组资源部署到新集群,您可以创建一个源代码控制存储库,其中包含您需要的 YAML 文件。然后,当您拥有一个新集群时,您可以 kubectl apply -f 您的 bootstrap 工件目录。使用 kind,例如:

kind create cluster --name dev2
kubectl apply -f ./bootstrap/
...
kind delete cluster --name dev2

如果您需要以某种方式配置或参数化此设置,将其打包为 Helm 图表会很有意义。

这种方法还意味着避免使用命令式 kubectl createkubectl runkubectl expose 类型的命令。创建您需要的 YAML 文件,将它们签入,然后使用 kubectl apply 安装它们。

有用地导出集群可能有点棘手,这不是通常要做的事情。例如,如果您有一个 Pod,它是由 Deployment 创建的还是直接通过 YAML 文件创建的?这个 PersistentVolume 是手工创建的,还是配置者创建的,它的设置是否特定于特定的 Kubernetes 环境?使用可重现的源代码控制树可以避免这些问题。