亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

學習應用商城 Helm

2024-10-15 09:46:04
18
0

第一章:Helm 簡介

 

1.1 為什么需要 Helm ?

  •  Kubernetes 上的應用對象,都是由特定的資源描述組成,包括 Deployment、Service 等,都保存在各自的文件中或者集中寫在一個配置文件,然后通過 kubectl apply -f 部署。
  • 如果應用只由一個或幾個這樣的服務組成,上面的部署方式就足夠了。
  •  但是對于一個復雜的應用,會有很多類似上面的資源描述文件,如:微服務架構應用,組成應用的服務可能多達幾十、上百個,如果有更新或回滾應用的需求,可能要修改和維護所涉及到大量的資源文件,而這種組織和管理應用的方式就顯得力不從心了。并且由于缺少對發布過的應用進行版本管理和控制,使得 Kubernetes 上的應用維護和更新面臨諸多的挑戰,主要面臨以下的問題:
    • ① 如何將這些服務作為一個整體管理?
    • ② 這些資源文件如何高效復用?
    • ③ 應用級別的版本如何管理?

 

1.2 Helm 介紹

  •  是 Kubernetes 的包管理工具,就像 Linux 下的包管理器,如:yum、apt 等,可以很方便的將之前打包好的 yaml 文件部署到 Kubernetes 上。

1.3 Helm 的三大概念

  • Chart 代表著 Helm 包。它包含在 Kubernetes 集群內部運行應用程序,工具或服務所需的所有資源定義。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等價物。
  • Repository(倉庫) 是用來存放和共享 charts 的地方。它就像 Perl 的 或是 Fedora 的 ,只不過它是供 Kubernetes 包所使用的。
  • Release 是運行在 Kubernetes 集群中的 chart 的實例。一個 chart 通常可以在同一個集群中安裝多次。每一次安裝都會創建一個新的 release 。以 MySQL chart為例,如果你想在你的集群中運行兩個數據庫,你可以安裝該 chart 兩次。每一個數據庫都會擁有它自己的 release 和 release name 。

  • Helm 安裝 charts 到 Kubernetes 集群中,每次安裝都會創建一個新的 release。你可以在 Helm 的 chart repositories 中尋找新的 chart。
  • 可以類比 Docker 來理解,Chart 就類似于 Docker 中的鏡像(Docker 中的鏡像就是一系列文件的集合,Chart 也是一系列文件的集合),Repository(倉庫)就類似于 Docker Hub,Release 就類似于 Docker 中的容器(可以根據鏡像 run 多個容器)。

 

第二章:Helm 安裝

2.1 Helm 安裝的提前準備

  • 想成功和正確地使用 Helm ,需要以下前置條件:
    • ① 一個 Kubernetes 集群。
    • ② 確定你安裝版本的安全配置。
    • ③ 安裝和配置 Helm 。
  • 安裝或者使用現有的 Kubernetes 集群:
    • 使用 Helm ,需要一個 Kubernetes 集群。對于 Helm 的最新版本,我們建議使用 Kubernetes 的最新穩定版, 在大多數情況下,它是 倒數第二個次版本
    • 應該有一個本地的 kubectl

 

2.2 Helm 安裝

  • 下載 helm :
wget //get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
  • 解壓 Helm :
tar -zxvf helm-v3.6.3-linux-amd64.tar.gz
  • 移動到指定目錄:
mv linux-amd64/helm /usr/local/bin/helm
  • helm 命令補全:
helm completion bash | sudo tee /etc/bash_completion.d/helm > /dev/null
source /usr/share/bash-completion/bash_completion

 

2.3 Helm 常用命令

 

 

2.4 Helm 的 chart 倉庫

  • 微軟倉庫://mirror.azure.cn/kubernetes/charts,推薦。
  • 阿里云倉庫://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts。

2.4.1 添加 chart 倉庫

helm repo add 倉庫名 倉庫URL地址

 

 

第三章:Helm 的基本使用

3.1 使用 chart 部署一個應用

3.1.1 查找 chart

# 在Artifact Hub //artifacthub.io/ 或自己的hub實例中搜索chart
helm search hub xxx

# 在本地 helm 客戶端中的倉庫中搜索chart
helm search repo xxx

helm search repo mysql

 

3.1.2 查看 chart 信息

 

# 檢查chart(目錄、文件或URL)并顯示所有的內容(values.yaml, Chart.yaml, README)
helm show all [CHART]

# 檢查chart(目錄、文件或URL)并顯示Chart.yaml文件的內容
helm show chart [CHART]

# 檢查chart(目錄、文件或URL)并顯示values.yaml文件的內容
helm show values [CHART]


# 檢查chart(目錄、文件或URL)并顯示README文件內容
helm show readme [CHART] [flags]

 

3.1.3 安裝 chart ,形成 release

helm install [NAME] [CHART]

注意:
● 每執行一次 install 命令,就會形成一個 release 。
● mysql 是有狀態的應用,如果要想執行成功,必須設置持久化存儲,并設置默認的動態供應。

 

 

3.1.4 查看 release 列表

helm list

狀態可能是  unknown, deployed, uninstalled, superseded, failed, uninstalling, pending-install, pending-upgrade 或 pending-rollback 。

 

 

3.1.5 查看 release  狀態

helm status RELEASE_NAME
狀態包括:
● 最后部署時間
● 發布版本所在的k8s命名空間
● 發布狀態(可以是: unknown, deployed, uninstalled, superseded, failed, uninstalling, pending-install, pending-upgrade 或 pending-rollback)
● 發布版本修訂
● 發布版本描述(可以是完成信息或錯誤信息,需要用--show-desc啟用)
● 列舉版本包含的資源,按類型排序
● 最后一次測試套件運行的詳細信息(如果使用)
● chart提供的額外的注釋

 

3.2 安裝前自定義chart配置選項

3.2.1 概述

  • 自定義選項是因為并不是所有的 chart 都能按照默認配置運行成功,可能會需要一些環境依賴,例如 PV 。
  • 所以我們需要自定義 chart 配置選項,安裝過程中有兩種方法可以傳遞配置數據:
    • --values(或-f):指定帶有覆蓋的 YAML 文件。這里可以多次指定,最右邊的文件優先。
    • --set:在命令行上指定替代。如果兩種都用,那么--set的優先級高。

 

3.3 構建一個 Chart

3.3.1 Chart 的文件結構

  • chart 是一個組織在文件目錄中的集合。目錄名稱就是 chart 名稱(沒有版本信息),因此描述 wordpress 的 chart 可以存儲在  wordpress/ 目錄中。
wordpress/
├── charts # 包含chart依賴的其他chart
├── Chart.yaml # 用于描述這個 Chart 的基本信息,包括名字、描述信息以及版本等。
├── templates # 模板目錄, 當和 values 結合時,可生成有效的Kubernetes manifest文件
│   ├── deployment.yaml
│   ├── _helpers.tpl # 放置可以通過 chart 復用的模板輔助對象
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt # 用于介紹 Chart 幫助信息, helm install 部署后展示給用戶。例如:如何使用這個 Chart、列出缺省的設置等。
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml # chart 默認的配置值

 

3.3.2 安裝自定義 chart

helm install [NAME] [CHART]

 

3.3.3 對自定義 chart 進行打包

helm package [CHART_PATH]

 

3.3.4 升級

helm upgrade --set xxx=xxx [RELEASE] [CHART]

 

3.3.5 回滾

helm rollback <RELEASE> [REVISION]

3.3.5 卸載

helm uninstall RELEASE_NAME

 

0條評論
作者已關閉評論
m****m
5文章數
0粉絲數
m****m
5 文章 | 0 粉絲
m****m
5文章數
0粉絲數
m****m
5 文章 | 0 粉絲
原創

學習應用商城 Helm

2024-10-15 09:46:04
18
0

第一章:Helm 簡介

 

1.1 為什么需要 Helm ?

  •  Kubernetes 上的應用對象,都是由特定的資源描述組成,包括 Deployment、Service 等,都保存在各自的文件中或者集中寫在一個配置文件,然后通過 kubectl apply -f 部署。
  • 如果應用只由一個或幾個這樣的服務組成,上面的部署方式就足夠了。
  •  但是對于一個復雜的應用,會有很多類似上面的資源描述文件,如:微服務架構應用,組成應用的服務可能多達幾十、上百個,如果有更新或回滾應用的需求,可能要修改和維護所涉及到大量的資源文件,而這種組織和管理應用的方式就顯得力不從心了。并且由于缺少對發布過的應用進行版本管理和控制,使得 Kubernetes 上的應用維護和更新面臨諸多的挑戰,主要面臨以下的問題:
    • ① 如何將這些服務作為一個整體管理?
    • ② 這些資源文件如何高效復用?
    • ③ 應用級別的版本如何管理?

 

1.2 Helm 介紹

  •  是 Kubernetes 的包管理工具,就像 Linux 下的包管理器,如:yum、apt 等,可以很方便的將之前打包好的 yaml 文件部署到 Kubernetes 上。

1.3 Helm 的三大概念

  • Chart 代表著 Helm 包。它包含在 Kubernetes 集群內部運行應用程序,工具或服務所需的所有資源定義。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等價物。
  • Repository(倉庫) 是用來存放和共享 charts 的地方。它就像 Perl 的 或是 Fedora 的 ,只不過它是供 Kubernetes 包所使用的。
  • Release 是運行在 Kubernetes 集群中的 chart 的實例。一個 chart 通常可以在同一個集群中安裝多次。每一次安裝都會創建一個新的 release 。以 MySQL chart為例,如果你想在你的集群中運行兩個數據庫,你可以安裝該 chart 兩次。每一個數據庫都會擁有它自己的 release 和 release name 。

  • Helm 安裝 charts 到 Kubernetes 集群中,每次安裝都會創建一個新的 release。你可以在 Helm 的 chart repositories 中尋找新的 chart。
  • 可以類比 Docker 來理解,Chart 就類似于 Docker 中的鏡像(Docker 中的鏡像就是一系列文件的集合,Chart 也是一系列文件的集合),Repository(倉庫)就類似于 Docker Hub,Release 就類似于 Docker 中的容器(可以根據鏡像 run 多個容器)。

 

第二章:Helm 安裝

2.1 Helm 安裝的提前準備

  • 想成功和正確地使用 Helm ,需要以下前置條件:
    • ① 一個 Kubernetes 集群。
    • ② 確定你安裝版本的安全配置。
    • ③ 安裝和配置 Helm 。
  • 安裝或者使用現有的 Kubernetes 集群:
    • 使用 Helm ,需要一個 Kubernetes 集群。對于 Helm 的最新版本,我們建議使用 Kubernetes 的最新穩定版, 在大多數情況下,它是 倒數第二個次版本
    • 應該有一個本地的 kubectl

 

2.2 Helm 安裝

  • 下載 helm :
wget //get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
  • 解壓 Helm :
tar -zxvf helm-v3.6.3-linux-amd64.tar.gz
  • 移動到指定目錄:
mv linux-amd64/helm /usr/local/bin/helm
  • helm 命令補全:
helm completion bash | sudo tee /etc/bash_completion.d/helm > /dev/null
source /usr/share/bash-completion/bash_completion

 

2.3 Helm 常用命令

 

 

2.4 Helm 的 chart 倉庫

  • 微軟倉庫://mirror.azure.cn/kubernetes/charts,推薦。
  • 阿里云倉庫://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts。

2.4.1 添加 chart 倉庫

helm repo add 倉庫名 倉庫URL地址

 

 

第三章:Helm 的基本使用

3.1 使用 chart 部署一個應用

3.1.1 查找 chart

# 在Artifact Hub //artifacthub.io/ 或自己的hub實例中搜索chart
helm search hub xxx

# 在本地 helm 客戶端中的倉庫中搜索chart
helm search repo xxx

helm search repo mysql

 

3.1.2 查看 chart 信息

 

# 檢查chart(目錄、文件或URL)并顯示所有的內容(values.yaml, Chart.yaml, README)
helm show all [CHART]

# 檢查chart(目錄、文件或URL)并顯示Chart.yaml文件的內容
helm show chart [CHART]

# 檢查chart(目錄、文件或URL)并顯示values.yaml文件的內容
helm show values [CHART]


# 檢查chart(目錄、文件或URL)并顯示README文件內容
helm show readme [CHART] [flags]

 

3.1.3 安裝 chart ,形成 release

helm install [NAME] [CHART]

注意:
● 每執行一次 install 命令,就會形成一個 release 。
● mysql 是有狀態的應用,如果要想執行成功,必須設置持久化存儲,并設置默認的動態供應。

 

 

3.1.4 查看 release 列表

helm list

狀態可能是  unknown, deployed, uninstalled, superseded, failed, uninstalling, pending-install, pending-upgrade 或 pending-rollback 。

 

 

3.1.5 查看 release  狀態

helm status RELEASE_NAME
狀態包括:
● 最后部署時間
● 發布版本所在的k8s命名空間
● 發布狀態(可以是: unknown, deployed, uninstalled, superseded, failed, uninstalling, pending-install, pending-upgrade 或 pending-rollback)
● 發布版本修訂
● 發布版本描述(可以是完成信息或錯誤信息,需要用--show-desc啟用)
● 列舉版本包含的資源,按類型排序
● 最后一次測試套件運行的詳細信息(如果使用)
● chart提供的額外的注釋

 

3.2 安裝前自定義chart配置選項

3.2.1 概述

  • 自定義選項是因為并不是所有的 chart 都能按照默認配置運行成功,可能會需要一些環境依賴,例如 PV 。
  • 所以我們需要自定義 chart 配置選項,安裝過程中有兩種方法可以傳遞配置數據:
    • --values(或-f):指定帶有覆蓋的 YAML 文件。這里可以多次指定,最右邊的文件優先。
    • --set:在命令行上指定替代。如果兩種都用,那么--set的優先級高。

 

3.3 構建一個 Chart

3.3.1 Chart 的文件結構

  • chart 是一個組織在文件目錄中的集合。目錄名稱就是 chart 名稱(沒有版本信息),因此描述 wordpress 的 chart 可以存儲在  wordpress/ 目錄中。
wordpress/
├── charts # 包含chart依賴的其他chart
├── Chart.yaml # 用于描述這個 Chart 的基本信息,包括名字、描述信息以及版本等。
├── templates # 模板目錄, 當和 values 結合時,可生成有效的Kubernetes manifest文件
│   ├── deployment.yaml
│   ├── _helpers.tpl # 放置可以通過 chart 復用的模板輔助對象
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt # 用于介紹 Chart 幫助信息, helm install 部署后展示給用戶。例如:如何使用這個 Chart、列出缺省的設置等。
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml # chart 默認的配置值

 

3.3.2 安裝自定義 chart

helm install [NAME] [CHART]

 

3.3.3 對自定義 chart 進行打包

helm package [CHART_PATH]

 

3.3.4 升級

helm upgrade --set xxx=xxx [RELEASE] [CHART]

 

3.3.5 回滾

helm rollback <RELEASE> [REVISION]

3.3.5 卸載

helm uninstall RELEASE_NAME

 

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0