Chart.yaml
apiVersion: v2description: Helm chart for maintaining user namespacesname: user-namespacesversion: 1.1.0values.yaml 放一个默认值来测试下
namespaces:- name: wade-test owner: "wade@demo.com" extraAnnotations: abc: def测试
helm template user-namespaces
文章插图
现在就可以local直接安装了,命令上面已经介绍过 。
我们现在选择打包并且publish 到一个bucket 作为repository来共享给别人使用 。也可以通过github作为repository,有类似solution,不再赘述 。
我这里的例子是gcs bucket 作为私有 helm repository
helm package user-namespaces此命令会生成一个tgz 包: `user-namespaces-1.1.0.tgz`
然后借助一款工具 helm-gcs which is a helm plugin that allows you to manage private helm repositories on Google Cloud Storage aka buckets.
helm gcs init gs://package/charts/infra/helm repo add my-repo gs://package/charts/infra/helm gcs push user-namespaces-1.1.0.tgz my-repo你会看到此bucket下面会有两个文件
% gsutil ls gs://package/charts/infra/gs://package/charts/infra/index.yamlgs://package/charts/infra/user-namespaces-1.1.0.tgz使用 Terraform Helm Provider 安装此Chart 代码示例:
locals { my_namespace = "demo-system" namespace_yaml = <<-EOT namespaces: - name: ${local.my_namespace} owner: wadexu EOT}resource "helm_release" "my_namespace" {name = "my-first-chart"repository = "gs://package/charts/infra"chart = "user-namespaces"version = "1.1.0"values = [local.namespace_yaml]}
after terraform init and apply the resource
文章插图
你的第一个自定义 Helm Chart 通过Terraform 安装成功了 。
Helm list result:
文章插图
`kubectl gs ns` you will see this new namespace just created
% kubectl get nsNAME STATUS AGEwade-demo Active 75s总结通过此文章的学习,您将了解到Helm的基本命令,以及Terrraform 安装 Helm 的方式,以便于后续自动化整个安装应用来Provisioning Kubernetes Clusters的流程 。另外还了解到如何制作自己的第一个Helm Chart 。
经验总结扩展阅读
- mqtt_simple例程 nrf9160做主控连接阿里云——
- 云南少数民族有哪些
- 云顶之弈S7.5怒玉豹女阵容怎么玩
- 云原生之旅 - 4)基础设施即代码 使用 Terraform 创建 Kubernetes
- Git 02: git管理码云代码仓库 + IDEA集成使用git
- 云顶之弈龙境探秘活动玩法是什么
- 电视剧包青天再起风云最后一集什么意思?
- 普洱茶是什么茶
- 青云志萧逸才是第几集被揭穿的?
- 云顶之弈玉龙猴王阵容怎么玩