首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Terraform -如何创建GKE集群并安装Helm图表?

Terraform -如何创建GKE集群并安装Helm图表?
EN

Stack Overflow用户
提问于 2020-03-28 15:53:11
回答 1查看 842关注 0票数 2

目标

我有一个特定的工作流来在Google上建立一个新的Kubernetes集群。我想用Terraform实现这个过程的自动化。这些步骤是:

  1. 创建集群gcloud beta容器--项目"my-google-project“集群创建”集群名称“-区域”欧洲-西部3-b“
  2. 安装Helm repos helm repo添加稳定的https://kubernetes-charts.storage.googleapis.com/头盔回购添加jetstack https://charts.jetstack.io/ helm回购更新
  3. 安装NGINX account kubectl创建集群绑定集群-管理绑定-集群角色集群-管理-用户$(gcloud config get-value帐户) helm安装nginx-入口稳定/ nginx-ingress
  4. 安装Cert-Manager kubectl应用--验证=false -f https://raw.githubusercontent.com/jetstack/cert-manager/v0.13.0/deploy/manifests/00-crds.yaml kubectl创建命名空间证书-manager helm安装证书管理器jetstack/cert-manager -命名空间证书管理器

想法

第一步可能如下所示:

代码语言:javascript
运行
复制
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步。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-28 18:50:48

虽然Terraform为运行Kubernetes之类的东西构建和提供云基础设施是有意义的,但是在部署后使用它来配置所述的基础设施并不一定有意义。我认为大多数基础设施设计都会考虑将部署到预置集群上的应用程序作为对所述集群的配置。这里的语义肯定有点细微差别,但我坚持认为,像Ansible这样的工具更适合在提供之后将应用程序部署到集群中。

所以我的建议是定义几个不可接受的角色。也许:

代码语言:javascript
运行
复制
create_cluster
deploy_helm
install_nginx_ingress
install_cert_manager

在每个角色中,定义需要按照银河模式使用的任务和变量。最后,定义一个剧本,Ansible将其用于includeimport这些角色。这将允许您提供基础设施,并将所有必需的应用程序部署在一个命令中:

ansible-playbook playbook.yml

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60903063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档