吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Helm常用命令(chart安裝、升級、回滾、卸載等操作)

馬哥Linux運維 ? 來源:博客園 ? 作者:大數據老司機 ? 2022-09-13 14:54 ? 次閱讀

一、概述

Helm 針對 Kubernetes 的 Helm 包管理器。Helm 的一般操作:

  • helm search: ?? 搜索 chart
  • helm pull: ??? 下載 chart 到本地目錄查看
  • helm install: ?? 上傳 chart 到 Kubernetes
  • helm list: ???? 列出已發布的 chart
#查看幫助
helm--help

9f368ad4-31d7-11ed-ba43-dac502259ad0.png
官方文檔:https://helm.sh/zh/docs/helm/helm/
Helm 架構和基礎語法講解可以參考這篇文章:2.4W 字 Helm 從入門到專家

二、Helm 倉庫(helm repo)

添加、列出、刪除、更新和索引 chart 倉庫。

1)添加 chart 倉庫

helmrepoaddbitnamihttps://charts.bitnami.com/bitnami

2)列出已添加的倉庫

helmrepolist

3)從 chart 倉庫中更新本地可用 chart 的信息

helmrepoupdatebitnami

4)刪除一個或多個倉庫

helmreporemovebitnami

三、創建 chart(helm create)

使用給定名稱創建新的 chart,該命令創建 chart 目錄和 chart 用到的公共文件目錄。

比如'helm create foo'會創建一個目錄結構看起來像這樣:

$helmcreatefoo
foo/
├──.helmignore#ContainspatternstoignorewhenpackagingHelmcharts.
├──Chart.yaml#Informationaboutyourchart
├──values.yaml#Thedefaultvaluesforyourtemplates
├──charts/#Chartsthatthischartdependson
└──templates/#Thetemplatefiles
└──tests/#Thetestfiles

四、chart 包安裝(helm install)

該命令用于安裝 chart 包。安裝參數必須是 chart 的引用,一個打包后的 chart 路徑未打包的 chart 目錄或者是一個 URL

要重寫 chart 中的值,使用--values參數傳遞一個文件或者使用--set參數在命令行傳遞配置,強制使用字符串要用--set-string。當值本身對于命令行太長或者是動態生成的時候,可以使用--set-file設置獨立的值。

helminstall-fmyvalues.yamlmyredis./redis

helminstall--setname=prodmyredis./redis

helminstall--set-stringlong_int=1234567890myredis./redis

helminstall--set-filemy_script=dothings.shmyredis./redis

五、管理 chart 依賴(helm dependency)

比如 Chart.yaml 聲明了兩個依賴:

#Chart.yaml
dependencies:
-name:nginx
version:"1.2.3"
repository:"https://example.com/charts"
-name:memcached
version:"3.2.1"
repository:"https://another.example.com/charts"
  • name 是 chart 名稱,必須匹配Chart.yaml文件中名稱
  • version 字段應該包含一個語義化的版本或版本范圍。

從 2.2.0 開始,倉庫可以被定義為本地存儲的依賴 chart 的目錄路徑。路徑應該以"file://"前綴開頭,比如:

#Chart.yaml
dependencies:
-name:nginx
version:"1.2.3"
repository:"file://../dependency_chart/nginx"

1)列舉指定 chart 的依賴

#helmdependencylistCHART
helmdependencylistwordpress

2)依賴升級

基于 Chart.yaml 內容升級 charts/

#helmdependencyupdateCHART[flags]
helmdependencyupdatewordpress

六、Helm 列表(helm list)

  • 列舉發布版本,該命令會列舉出指定命名空間的所有發布版本,(如果沒有指定命名空間,會使用當前命名空間)。
  • 默認情況下,只會列舉出部署的或者失敗的發布,像--uninstalled或者--all會修改默認行為。這些參數可以組合使用:--uninstalled --failed
  • 默認情況下,最多返回256項,使用--max限制數量,--max設置為0 不會返回所有結果,而是返回服務器默認值,可能要比 256 更多。同時使用--max--offset參數可以翻頁顯示。
#-A顯示所有
helmlist--max=10--offset=2-A

七、升級版本(helm upgrade)

該命令將發布升級到新版的 chart。升級參數必須是發布和 chart。chart 參數可以是:chart引用('example/mariadb')chart目錄路徑,打包的 chart 或者完整 URL。對于 chart 引用,除非使用'--version'參數指定,否則會使用最新版本。

helmupgrade--setfoo=bar--setfoo=newbarredis./redis

八、發布歷史(helm history)

檢索發布歷史,打印給定版本的歷史修訂。默認會返回最大的256個歷史版本。設置--max配置返回歷史列表的最大長度。

歷史發布集合會被打印成格式化的表格,例如:

$helmhistoryangry-bird
REVISIONUPDATEDSTATUSCHARTAPPVERSIONDESCRIPTION
1MonOct310132016supersededalpine-0.1.01.0Initialinstall
2MonOct310132016supersededalpine-0.1.01.0Upgradedsuccessfully
3MonOct310132016supersededalpine-0.1.01.0Rolledbackto2
4MonOct310132016deployedalpine-0.1.01.0Upgradedsuccessfully

九、回滾版本(helm rollback)

回滾發布到上一個版本,回滾命令的第一個參數是發布的名稱,第二是修訂(版本)號,如果省略此參數,會回滾到上一個版本。

#helmrollback[REVISION][flags]
#先查看歷史版本
helmhistorymyharbor-nharbor
#不指定版本就回退上個版本
helmrollbackmyharbor1-nharbor
helmrollbackmyharbor-nharbor

十、展示 chart(helm show)

#helmshowall[CHART][flags]
#該命令檢查chart(目錄、文件或URL)并顯示所有的內容(values.yaml,Chart.yaml,README)
helmshowallmysql

#helmshowvalues[CHART][flags]
#該命令檢查chart(目錄、文件或URL)并顯示values.yaml文件的內容
helmshowvaluesmysql

十一、拉取 chart(helm pull)

從倉庫下載并(可選)在本地目錄解壓。

#helmpull[chartURL|repo/chartname][...][flags]
#僅下載
helmpullbitnami/redis
#下載并解壓到當前目錄
helmpullbitnami/redis--untar

十二、Helm 打包(helm package)

  • 將 chart 目錄打包到 chart 歸檔中,該命令將 chart 打包成一個 chart 版本包文件。如果給定路徑,就會在該路徑中查找 chart(必須包含 Chart.yaml 文件)然后將目錄打包。
  • 要簽名一個 chart,使用--sign參數,在大多數場景中,也要提供--keyring path/to/secret/keys--key keyname
helmpackagemysql/
#Successfullypackagedchartandsaveditto:/opt/k8s/helm/mysql-9.3.1.tgz

如果想忽略 helm 中的文件,可以在.helmignore進行匹配,該.helmignore 文件支持 Unix shell 全局匹配,相對路徑匹配和否定(以!前綴反向匹配)。每行僅考慮一種模式。示例如下:

#.helmignore
.git
*/temp*
*/*/temp*
temp?

十三、推送 chart 到 harbor(helm cm-push)

將 chart 推送到遠程。

1)在線安裝

helmplugininstallhttps://github.com/chartmuseum/helm-push

2)離線安裝

下載地址:https://github.com/chartmuseum/helm-push/tags

#1、下載安裝包
wgethttps://github.com/chartmuseum/helm-push/releases/tag/v0.10.3

# 2、查看helm的plugin路徑:helm env
helmenv

#3、在該路徑下創建helm-push文件夾,并將安裝包拷貝到該文件夾下解壓即可
mkdir/root/.local/share/helm/plugins/helm-push

wgethttps://github.com/chartmuseum/helm-push/releases/download/v0.10.3/helm-push_0.10.3_linux_amd64.tar.gz

tarzxvf/root/.local/share/helm/plugins/helm-push/helm-push_0.10.3_linux_amd64.tar.gz-C/root/.local/share/helm/plugins/helm-push

查看插件

helmpluginlist

3)helm 增加 harbor repo

#chartrepo,固定參數,bigdata自定義項目
helmrepoaddlocal-harbor--username=admin--password=Harbor12345https://myharbor.com/chartrepo/bigdata/--ca-file/opt/k8s/helm/ca.crt

證書直接在 harbor 上下載
9f5e857a-31d7-11ed-ba43-dac502259ad0.png

4)示例演示

#查看幫助
helmcm-push--help

#推送,接【目錄】
helmcm-pushmysql/local-harbor--ca-file/opt/k8s/helm/ca.crt

#推送,接【壓縮包】
helmcm-pushwordpress-15.1.5.tgzlocal-harbor--ca-file/opt/k8s/helm/ca.crt

#推送,指定版本,--version
helmcm-pushmychart/--version="1.2.3"local-harbor--ca-file/opt/k8s/helm/ca.crt

#強制推送,--force
helmcm-push--forcemychart-0.3.2.tgzlocal-harbor

查看
9f8639d0-31d7-11ed-ba43-dac502259ad0.png

十四、搜索 hub(helm search hub)

在Artifact Hub或自己的 hub 實例中搜索 chart。

Artifact Hub基于 web 頁面的應用,支持 CNCF 項目的查找、安裝和發布包及配置項,包括了公開發布的 Helm chart。它是 CNCF 的沙盒項目。可以訪問https://artifacthub.io/

#不帶參數,列出所有
helmsearchhub

#指定chart
helmsearchhubmysql
9f9ac472-31d7-11ed-ba43-dac502259ad0.png

十五、搜索倉庫(helm search repo)

用 chart 中關鍵字搜索倉庫,搜索會讀取系統上配置的所有倉庫,并查找匹配。搜索這些倉庫會使用存儲在系統中的元數據。它會展示找到最新穩定版本的 chart。如果指定了--devel參數,輸出會包括預發布版本。

#Searchforstablereleaseversionsmatchingthekeyword"nginx"
$helmsearchreponginx

#Searchforreleaseversionsmatchingthekeyword"nginx",includingpre-releaseversions
$helmsearchreponginx--devel

#Searchforthelateststablereleasefornginx-ingresswithamajorversionof1
$helmsearchreponginx-ingress--version^1.0.0

十六、驗證 chart(helm lint)

該命令使用一個 chart 路徑并運行一系列的測試來驗證 chart 的格式是否正確。如果遇到引起 chart 安裝失敗的情況,會觸發[ERROR]信息,如果遇到違反慣例或建議的問題,會觸發[WARNING]。

#helmlintPATH[flags]
helmlint./mysql

9fb89114-31d7-11ed-ba43-dac502259ad0.png
9fb89114-31d7-11ed-ba43-dac502259ad0.png

十七、常用命令總結

helmversion//查看helm版本
helmcreatexxx//創建一個xxxcharts
helmlint./xxx//檢查包的格式或信息是否有問題
helminstallxxx1./xxx//部署安裝xxx,設置名稱為xxx1
helmlist//列出已經部署的charts
helmhistory//發布歷史
helmupgrade//更新版本
helmrollback//回滾版本
helmpackage./xxx//打包charts
helmrepoadd--usernameadmin--passwordpasswordmyharborxxx//增加repo
helmuninstallxxx1//卸載刪除xxx1
helmpull//拉取chart包
helmcm-push//推送chart包
helmrepoupdate//更新倉庫資源
helm search hub //從 Artifact Hub 中查找并列出 helm charts。Artifact Hub中存放了大量不同的倉庫
helm search repo //從你添加(使用 helm repo add)到本地 helm 客戶端中的倉庫中進行查找。該命令基于本地數據進行搜索,無需連接互聯網

Helm 常用命令(chart 安裝、升級、回滾、卸載等操作)就先到這里,有疑問的小伙伴,歡迎給我留言哦!

審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 命令
    +關注

    關注

    5

    文章

    696

    瀏覽量

    22114
  • chart
    +關注

    關注

    0

    文章

    17

    瀏覽量

    1536
  • kubernetes
    +關注

    關注

    0

    文章

    227

    瀏覽量

    8753

原文標題:Helm 進階到骨灰玩家,請收藏!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    掌握Linux常用命令

    一、實驗目的和要求1掌握Linux常用命令2學會如何獲取命令幫助信息3熟練掌握Linux常用命令4掌握GCC命令的使用及其常用參數的含義二、
    發表于 12-16 06:08

    windowsxp常用命令

    windowsxp常用命令   winver---------檢查windows版本 wmimgmt.msc----打開windows管理體系結構(wmi) wupdmgr-------
    發表于 01-10 09:05 ?1292次閱讀

    Ubuntu常用命令大全

    Ubuntu常用命令大全,包括常用管理目錄,系統命令,硬盤相關,內存相關,查看進程命令
    發表于 01-06 11:16 ?0次下載

    DOS常用命令寶典

    DOS常用命令寶典,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-10 18:24 ?0次下載

    04-shell的常用命令匯總與vim

    shell的常用命令匯總
    發表于 12-17 16:04 ?0次下載

    vim常用命令

    vim常用命令
    發表于 01-08 15:59 ?3次下載

    redis常用命令總結

    本文是對redis常用命令總結。
    發表于 02-09 11:25 ?1630次閱讀

    linux常用命令手冊

    linux常用命令手冊免費下載。
    發表于 06-01 14:59 ?68次下載

    Memcache系統常用命令講解

    Memcache系統常用命令講解(無線電源技術商業計劃書)-該文檔為Memcache系統常用命令講解文檔,是一份還算不錯的參考文檔,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發表于 09-28 11:27 ?5次下載
    Memcache系統<b class='flag-5'>常用命令</b>講解

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    發表于 03-03 09:20 ?0次下載

    DOS系統常用命令

    介紹了DOS系統的常用命令
    發表于 03-21 14:59 ?0次下載

    Linux常用命令

    Linux常用命令
    的頭像 發表于 01-12 11:19 ?1197次閱讀

    Linux常用命令手冊分享

    linux常用命令合集
    發表于 04-26 11:46 ?1次下載

    linux常用命令及用法

    Linux是一種開源的操作系統,它以穩定、高效和安全的特點受到廣大用戶的喜愛。掌握Linux的常用命令及其用法對于操作系統的管理和開發都至關重要。本文將詳盡、詳實、細致地介紹Linux常用命令
    的頭像 發表于 11-17 09:47 ?722次閱讀

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發表于 11-05 15:39 ?350次閱讀
    詳解kubectl<b class='flag-5'>常用命令</b>
    电玩百家乐官网的玩法技巧和规则 | 百家乐赌博分析网| 网上百家乐官网骗人的吗| 大发888娱乐场下载 zhldu| 百家乐筹码币方形| 老钱庄百家乐官网的玩法技巧和规则| 博e百| 大发888信誉最新娱乐| 至尊百家乐节目单| 月亮城百家乐官网的玩法技巧和规则 | 香港六合彩网址| 贵族百家乐的玩法技巧和规则| 百家乐波浪法则| 马牌百家乐官网的玩法技巧和规则 | 大发888方管下载| 青鹏百家乐游戏币| 免费百家乐官网过滤工具| 利高| 中国百家乐澳门真人娱乐平台网址 | 百家乐官网电子路单破解| 圣淘沙娱乐| 大发888娱乐城客户端lm0| 免水百家乐的玩法技巧和规则| 皇冠百家乐客户端皇冠| 百家乐官网翻天在线观看| 百家乐官网详情| 百家乐官网佛泰阁| 网上的百家乐官网怎么才能赚钱| 百家乐官网庄闲赢负表| 权威百家乐官网信誉网站| 百家乐官网赌博分析网| 百家乐官网大天堂| 南京百家乐官网菜籽油| 滁州市| 网上百家乐官网追杀| 灵武市| 灌云县| 立即博百家乐官网现金网| 现金百家乐官网代理| 丽星百家乐官网的玩法技巧和规则 | 百家乐官网连跳规律|