k8s包管理器helm_K8S 实战(十九)| K8S 包管理 Helm
前言
類似于 Linux 的 YUM、APT,Helm 是 K8S 的包管理工具。
Helm, 一個二進制工具,用來安裝、升級、卸載 K8S 中的應用程序。
Helm Chart,一個 tgz 包,類似安卓的 APK。
K8S 應用打包成 Chart,通過 Helm 安裝到 K8S 集群中。
更新歷史
- 20200717 - 初稿 - 左程立
- 原文地址 - https://blog.zuolinux.com/2020/07/17/k8s-package-manager-helm.html
Helm 包管理工具
安裝 Helm,解壓到 /usr/loca/bin/ 下
wget?https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz添加國內倉庫
helm?repo?add?apphub?https://apphub.aliyuncs.comhelm?repo?update
helm?repo?list
查找 nginx
helm?search?repo?nginx安裝 nginx-ingress 到 K8S 中
helm?install?nginx?apphub/nginx如果有報錯,有些舊倉庫往會最新版 K8S,這里是 v1.18.2按照,會報錯,可以換個倉庫或者下載下來修改后本地安裝
報錯Error:?unable?to?build?kubernetes?objects?from?release?manifest:?unable?to?recognize?"":?no?matches?for?kind?"Deployment"?in?version?"extensions/v1beta1"
helm?pull?apphub/nginx-ingress?--untar
grep?-irl?"extensions/v1beta1"?nginx-ingress?|?grep?deployment
grep?-irl?"extensions/v1beta1"?nginx-ingress?|?grep?deploy?|?xargs?sed?-i?'s#extensions/v1beta1#apps/v1#g'
helm?install?nginx1?./nginx-ingress/
再安裝一個 nginx-ingress
helm?install?nginx2?apphub/nginx查看已經安裝了哪些
helm?list卸載
helm?uninstall?nginxhelm?uninstall?nginx2
在 K8S 中查看安裝的應用
kubectl?get?podkubectl?get?service
Helm 相關術語
Chart
Helm的應用包,采用tgz格式。類似于 Yum 的 RPM,其包含了一組定義 Kubernetes 資源相關的 YAML 文件,也稱為應用 Chart。
Repoistory
Helm 的應用倉庫,保存了一系列的 Chart 應用包以供用戶下載,并且提供了一個該 Repository 的 Chart 包清單文件以供查詢。
Helm 可以同時管理多個不同的 Repository。
Helm 社區官方提供了 stable 和 incubator 倉庫,用戶也可以自己搭建倉庫。
倉庫可以是公共倉庫,也可以是私有倉庫。
Hub
不同的個人和組織提供的公共倉庫形成了分散和分布的 Helm 倉庫,不利于查找,所以官方提供了Helm Hub,各公共倉庫可以注冊到 Helm Hub 中以方便集中查找,Helm Hub 只是分布的倉庫的集中展示中心。
倉庫注冊到 Helm Hub 時,會將 Chart 清單文件向 Helm Hub 同步一份,這樣可以在 Helm Hub 集中展示倉庫列表和各倉庫中的 Chart 列表。
Chart 包也就是 tgz 文件實際上存儲在各倉庫中。Helm Hub 并不實際存儲 Chart 包。Helm 只是在查詢 Chart 時和 Helm Hub 有交互,其它操作都是和倉庫直接交互的。
Release
在 K8S 集群上運行的 Chart 的一個實例。
在同一個集群上,一個Chart可以安裝很多次。
每次安裝都會創建一個新的 Release。
例如一個 MySQL Chart,如果想在服務器上運行兩個 MySQL 數據庫,就可以把這個 Chart 安裝兩次。每次安裝都會生成一個新的 Release。
結束語
Helm Chart 可幫助 K8S 應用實現打包、共享、一鍵安裝。
Helm Hub 收集了全球的各公共倉庫信息,以便用戶可以集中查找,但 Helm Hub 并沒有實際存儲 Chart 包,只是告訴用戶你可以去哪里下載到 Chart 包。
聯系我
微信公眾號:zuolinux_com
微信掃碼關注總結
以上是生活随笔為你收集整理的k8s包管理器helm_K8S 实战(十九)| K8S 包管理 Helm的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python颜色列表代码seaborn_
- 下一篇: mysql优化要点_你需要掌握的 Mys