抱歉,这个问题有点抽象,但是我目前正在参加GCP。
我的首要目标-我想设置自动创建带有多个Pod的kubernetes集群。
到目前为止,我所拥有的-最近几天,我在GCP和Kubernetes文档以及一些示例中进行了研究。我有两个工作位:
我用yaml和jinja文件创建了一个集群配置,我 可以使用Deployment Manager进行设置。
gcloud deployment-manager deployments create my-config --config my-config.yaml
我创建了另一个配置yaml文件,该文件使用存储在GCP容器注册表中的docker映像启动上述群集上的一些Pod(再次正常工作)
kubectl apply -f image-config.yaml --record
我的问题是是否可以将上述内容以某种方式组合到单个配置文件中,并使用单个命令启动所有内容? 或者,如果您可以指出一些合适的例子的话。
答案 0 :(得分:1)
Agones项目使用Terraform和Helm的组合来完成此任务,如Install with Terraform documentation中所述。有一个命令可以构建GKE集群,也可以将应用程序安装到集群中(例如运行一些Pod)。
如果您不想使用Helm并为Pod构建完整的安装程序,也可以考虑使用Kubernetes Provider在群集部署后使用一些简单的应用程序(请查看{{ 3}}中的配置)。
答案 1 :(得分:0)
是的,这完全有可能。您应该将两个配置文件合并到一个多文档的YAML文件中,第一个文件包含要在第二个文档及其后执行的命令序列。
---
- gcloud deployment-manager deployments create my-config --config $doc2:my-config.yaml
- kubectl apply -f $doc3:image-config.yaml --record
---
<insert contents of my-config.yaml here>
---
<insert contents of image-config.yaml here>
一个小程序可以加载文档,解析第一个文档中的顺序,提取要写入的临时文件的名称,将适当的文档转储到该文件中,执行命令(删除$docN:
),删除临时文件。我的猜测是应该可以在大约15行代码中实现。