不用helm的原因
这篇文章 介绍得比较详细
helm2 像个巨婴。我个人无法喜欢。
我比较喜欢kustomize这种无侵入,轻量级的生成模式。
(后记:用了Helm3 一段时候后,发现helm3 基本能满足需求,而且helm 3 取消了服务端)
基本概念
base:含有一个kustomization.yaml文件的目录,可以被其他的kustomization.yaml来引用 resource:文件路径,指向一个声明了kubernetes API对象的YAML文件
patch: 文件路径,指向一个声明了kubernetes API patch的YAML文件
variant: 含有同一组bases的不同kustomization
准备工作
- 升级kubectl到1.14版本
- 下载安装kustomize,并添加到$path
基本目录结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
├── base
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── kustomization.yaml
│ └── patch.yaml
├── prod
│ ├── kustomization.yaml
│ └── patch.yaml
└── staging
├── kustomization.yaml
└── patch.yaml
实际运用
参考链接:
- https://zhuanlan.zhihu.com/p/38424955
- https://aisensiy.github.io/2018/11/27/helm-and-kustomize/
- https://yq.aliyun.com/articles/699126?spm=a2c4e.11163080.searchblog.38.273b2ec1q8XHEg
- https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/
Reasons for Not Using helm
This article explains it in detail.
helm2 is like a giant baby. I personally can’t like it.
I prefer kustomize’s non-invasive, lightweight generation mode.
(Postscript: After using Helm3 for a while, I found that helm3 basically meets the requirements, and helm 3 removed the server side)
Basic Concepts
base: A directory containing a kustomization.yaml file that can be referenced by other kustomization.yaml files. resource: File path, pointing to a YAML file that declares a kubernetes API object.
patch: File path, pointing to a YAML file that declares a kubernetes API patch.
variant: Different kustomizations containing the same set of bases.
Preparation
- Upgrade kubectl to version 1.14
- Download and install kustomize, and add it to $path
Basic Directory Structure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
├── base
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── kustomization.yaml
│ └── patch.yaml
├── prod
│ ├── kustomization.yaml
│ └── patch.yaml
└── staging
├── kustomization.yaml
└── patch.yaml
Practical Application
Reference Links:
- https://zhuanlan.zhihu.com/p/38424955
- https://aisensiy.github.io/2018/11/27/helm-and-kustomize/
- https://yq.aliyun.com/articles/699126?spm=a2c4e.11163080.searchblog.38.273b2ec1q8XHEg
- https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/
helmを使用しない理由
この記事で詳しく説明されています。
helm2は巨大な赤ちゃんのようです。個人的には好きになれません。
kustomizeの非侵入的で軽量な生成モードを好みます。
(後記:Helm3をしばらく使用した後、helm3が基本的に要件を満たしていることがわかり、helm 3はサーバー側を削除しました)
基本概念
base:他のkustomization.yamlファイルによって参照できるkustomization.yamlファイルを含むディレクトリ。 resource:kubernetes APIオブジェクトを宣言するYAMLファイルを指すファイルパス。
patch:kubernetes APIパッチを宣言するYAMLファイルを指すファイルパス。
variant:同じベースのセットを含む異なるkustomization。
準備
- kubectlをバージョン1.14にアップグレード
- ダウンロードしてkustomizeをインストールし、$pathに追加
基本ディレクトリ構造
1
2
3
4
5
6
7
8
9
10
11
12
13
14
├── base
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── kustomization.yaml
│ └── patch.yaml
├── prod
│ ├── kustomization.yaml
│ └── patch.yaml
└── staging
├── kustomization.yaml
└── patch.yaml
実際の運用
参考リンク:
- https://zhuanlan.zhihu.com/p/38424955
- https://aisensiy.github.io/2018/11/27/helm-and-kustomize/
- https://yq.aliyun.com/articles/699126?spm=a2c4e.11163080.searchblog.38.273b2ec1q8XHEg
- https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/
Причины не использовать helm
Эта статья объясняет это подробно.
helm2 похож на гигантского младенца. Лично я не могу его полюбить.
Я предпочитаю неинвазивный, легковесный режим генерации kustomize.
(Постскриптум: После использования Helm3 некоторое время я обнаружил, что helm3 в основном удовлетворяет требованиям, и helm 3 удалил серверную сторону)
Основные концепции
base: Каталог, содержащий файл kustomization.yaml, который может быть ссылкой из других файлов kustomization.yaml. resource: Путь к файлу, указывающий на YAML-файл, который объявляет объект API kubernetes.
patch: Путь к файлу, указывающий на YAML-файл, который объявляет патч API kubernetes.
variant: Различные kustomizations, содержащие один и тот же набор баз.
Подготовка
- Обновить kubectl до версии 1.14
- Скачать и установить kustomize, и добавить в $path
Базовая структура каталога
1
2
3
4
5
6
7
8
9
10
11
12
13
14
├── base
│ ├── deployment.yaml
│ ├── kustomization.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── kustomization.yaml
│ └── patch.yaml
├── prod
│ ├── kustomization.yaml
│ └── patch.yaml
└── staging
├── kustomization.yaml
└── patch.yaml
Практическое применение
Ссылки:
- https://zhuanlan.zhihu.com/p/38424955
- https://aisensiy.github.io/2018/11/27/helm-and-kustomize/
- https://yq.aliyun.com/articles/699126?spm=a2c4e.11163080.searchblog.38.273b2ec1q8XHEg
- https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/