K8s--ヘルム(ヘルムチャートの構成、使用、展開、構築)

1つ、ヘルムの紹介

Helmは、Linuxシステムのyumと同様に、主にチャートの管理に使用されるKubernetesアプリケーションのパッケージ管理ツールです。
Helm Chartは、Kubernetesネイティブアプリケーションをパッケージ化するために使用される一連のYAMLファイルです。アプリケーションをデプロイするときに、アプリケーションの一部のメタデータをカスタマイズして、アプリケーションの配布を容易にすることができます。
アプリケーションパブリッシャーの場合、Helmはアプリケーションのパッケージ化、アプリケーションの依存関係の管理、アプリケーションバージョンの管理、およびソフトウェアウェアハウスへのアプリケーションの公開を行うことができます。
ユーザーの場合、Helmを使用した後、複雑なアプリケーションデプロイメントファイルを作成する必要はありません。アプリケーションは、Kubernetesで簡単な方法で検索、インストール、アップグレード、ロールバック、アンインストールできます。

2、ヘルムのインストールと初期構成

1.インストール

下载软件包:helm-v3.1.1-linux-amd64.tar.gz
mkdir helm        %创建单独目录
cd helm
tar zxf helm-v3.1.1-linux-amd64.tar.gz   %解压
cd linux-amd64/     %切换到该目录下
cp helm /usr/local/bin/   %复制到相关目录下
echo "source <(helm completion bash)" >> ~/.bashrc   %设置命令补齐
source ~/.bashrc    %使之生效
设置补齐命令后重新进入终端即可

上記の設定を完了したら、ヘルム検索を使用して、公式のヘルムハブチャートライブラリを検索できます。
ここに画像の説明を挿入

2.サードパーティのチャートライブラリを追加します

helm repo add stable http://mirror.azure.cn/kubernetes/charts/    
helm repo add aliyun  https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts 

ヘルム検索リポジトリを使用して、追加したウェアハウスからチャートの名前を見つけることができます。
ここに画像の説明を挿入
ここに画像の説明を挿入

3.Helmがnginxアプリケーションをデプロイします

1.港湾倉庫関連の構成

1.在harbor仓库中新建项目(公开):bitnami

2.拉取镜像
docker pull bitnami/nginx:1.19.7-debian-10-r1

3.上传镜像到Harbor仓库
docker push reg.westos.org/bitnami/nginx:1.19.7-debian-10-r1

2. nginxチャートパッケージをプルして、関連する構成を行います

helm pull bitnami/nginx --version 8.7.0   %下载nginx的Chart包
tar zxf nginx-8.7.0.tgz    %解压
cd nginx   %切到nginx目录

ここに画像の説明を挿入
ここに画像の説明を挿入

vim values.yaml   %更改配置文件

ここに画像の説明を挿入
ここに画像の説明を挿入

3. Webサーバーをインストールします(nginxデプロイメントの効果をテストするため)

helm install webserver .
helm status webserver   %查看详细信息

ここに画像の説明を挿入

kubectl get all   %查看service/webserver-nginx分配到的IP
curl 查看到的ip   %测试是否可以看到Nginx的测试页面,如果可以看到则说明部署成功

ここに画像の説明を挿入

4.アップグレードとロールバック

vim values.yaml:
修改副本数
replicaCount: 3
helm upgrade webserver .  %升级

ここに画像の説明を挿入
ここに画像の説明を挿入

helm history webserver     %查看历史版本号

ここに画像の説明を挿入

helm rollback webserver 版本号   %回滚

ここに画像の説明を挿入

helm uninstall webserver    %卸载

ここに画像の説明を挿入

第四に、ヘルムチャートを作成します

1.ヘルムチャートを作成する

cd helm/
helm create mychart   %创建Chart
cd mychart   
tree .  %查看mychart目录结构
.
├── charts
├── Chart.yaml   %应用描述相关文件
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml   %应用部署相关文件

3 directories, 10 files

vim values.yaml:
repository: myapp    %指定镜像
tag: "v1"       %指定tag(镜像版本)

ここに画像の説明を挿入

helm lint .    %检查依赖和模板配置是否正确

ここに画像の説明を挿入

helm package mychart/      %打包(需要切出mychart目录)

ここに画像の説明を挿入

helm repo add mychart https://reg.westos.org/chartrepo/charts   %添加第三方仓库(这个charts项目需要提前在harbor仓库中创建

cp /etc/docker/certs.d/reg.westos.org/ca.crt /etc/pki/ca-trust/source/anchors/  %复制证书
update-ca-trust  %更新证书信任

ここに画像の説明を挿入

2.パッケージ化された海図パッケージを港の倉庫にアップロードします

helm plugin install https://github.com/chartmuseum/helm-push    %安装push插件(离线安装,速度太慢,不推荐)

离线安装:
helm env	  %获取插件目录
mkdir ~/.local/share/helm/plugins/push
tar zxf helm-push_0.8.1_linux_amd64.tar.gz -C ~/.local/share/helm/plugins/push
helm push --help

ここに画像の説明を挿入
ここに画像の説明を挿入

helm push mychart-0.1.0.tgz mychart -u admin -p westos --insecure     %上传到harbor仓库
helm repo update     %更新完之后可以在harbor仓库中看到刚才上传的chart包

ここに画像の説明を挿入

5、mychartアプリケーションをk8sクラスターにデプロイします

1.展開

helm install webserver mychart/mychart   %部署mychart应用到集群

ここに画像の説明を挿入
ここに画像の説明を挿入

2. Chartパッケージの新しいバージョンを作成し、アップロードします

vim mychart/Chart.yaml:
appVersion: v2    %更换版本
version: 0.2.0

vim mychart/values.yaml:
 tag: "v2"

ここに画像の説明を挿入

helm package mychart   %重新打包
helm push mychart-0.2.0.tgz mychart -u admin -p westos --insecure     %上传
helm repo update     %更新仓库

ここに画像の説明を挿入
ここに画像の説明を挿入

3.更新、ロールバック、およびアンインストール

helm upgrade webserver mychart/mychart      %更新版本

ここに画像の説明を挿入
ここに画像の説明を挿入

helm rollback webserver 1      %回滚

ここに画像の説明を挿入
ここに画像の説明を挿入

helm uninstall webserver       %卸载

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/nk298120/article/details/115247660