目标
我有一个特定的工作流来在Google上建立一个新的Kubernetes集群。我想用Terraform实现这个过程的自动化。这些步骤是:
想法
第一步可能如下所示:
resource "google_container_cluster" "primary" {
name = "cluster-name"
location = "europe-west3-b"
initial_node_count = 3
master_auth {
username = ""
password = ""
client_certificate_config {
issue_client_certificate = false
}
}
node_config {
oauth_scopes = [
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring",
]
metadata = {
disable-legacy-endpoints = "true"
}
}
}
但我不知道如何接近第2-4步。
发布于 2020-03-28 18:50:48
虽然Terraform为运行Kubernetes之类的东西构建和提供云基础设施是有意义的,但是在部署后使用它来配置所述的基础设施并不一定有意义。我认为大多数基础设施设计都会考虑将部署到预置集群上的应用程序作为对所述集群的配置。这里的语义肯定有点细微差别,但我坚持认为,像Ansible这样的工具更适合在提供之后将应用程序部署到集群中。
所以我的建议是定义几个不可接受的角色。也许:
create_cluster
deploy_helm
install_nginx_ingress
install_cert_manager
在每个角色中,定义需要按照银河模式使用的任务和变量。最后,定义一个剧本,Ansible将其用于include
或import
这些角色。这将允许您提供基础设施,并将所有必需的应用程序部署在一个命令中:
ansible-playbook playbook.yml
https://stackoverflow.com/questions/60903063
复制相似问题