Helm3安裝及使用

Helm簡介

 
咱們能夠將Helm看做Kubernetes下的Maven/NPM. Python下的pip,Linux上的yum, Helm是Deis(https://deis.com/)
開發的一個用於kubernetes的包管理器,每一個包稱爲一個Chart,一個Chart是一個目錄(通常狀況下會將目錄進行打包壓縮,造成name version.tgz格式的單一文件,方便傳輸和存儲)
對於應用發佈者而言,能夠經過Helm打包應用, 管理應用依賴關係,管理應用版本併發布應用到軟件倉庫。
對於使用者而言,使用Helm後不用須要瞭解Kubernetes的Yaml語法並編寫應用部署文件,能夠經過Helm下載並在kubernetes上安裝須要的應用,
除此之外,Helm還提供了kubernetes上的軟件部署,刪除,升級, 回滾應用的強大功能
node

 

  • helm v2 版本
    包含兩個組件,分別是 helm 客戶端 和 Tiller 服務器,
    helm 是一個命令行工具,用於本地開發及管理chart,chart倉庫管理等
    Tiller 負責接收 Helm 的請求,與 k8s 的 apiserver 交互
  • helm v3 版本
    移除了Tiller helm直接和K8s交互
    SA經過 kuberconfig 配置認證linux

    • 設計原理
      它是一個線程的方式運行
      1. Helm-cotroller 運行在master節點並list/walch HelmChart CRD對象
      2. CRD onChange時執行Job更新
      3. Job Container使用rancherklilpper-helm爲entrypoint
      4. Killper-helm內 thelm cli,能夠安裝/升級/刪除對應的chart

環境前提:
已經安裝k8s
熟練使用kubectl及yaml配置文件
nginx

安裝Helm3

# 去Git下載 Helm 二進制文件(Git地址
# 下載不了的使用我網盤下好的 (helm-v3.2.0-rc.1-linux-amd64.tar.gz 提取碼:ij5m git

tar -zxvf helm-v3.2.0-rc.1-linux-amd64.tar.gz
# 複製 helm 二進制 到bin目錄下
cp linux-amd64/helm /usr/local/bin/
 
設置環境變量KUBECONFIG來指定存有ApiServre的地址與token的配置文件地址,默認爲~/.kube/configgithub

export KUBECONFIG=/root/.kube/configapi

Helm3安裝及使用
 

Helm3配置

# 配置helm3倉庫
helm repo add repo_name1 https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
# 配置helm3倉庫(忽略:此處就想試試可否加多個倉庫)
helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 更新
helm repo update
helm repo list服務器

Helm3安裝及使用
 

Helm3 使用

# 生成chart文件 此處會生成一個 nginx的目錄 以下:
helm create nginx
tree nginx/
.
nginx/
├── charts   #依賴其餘包的charts文件
├── Chart.yaml   # 該chart的描述文件,包括ico地址,版本信息等
├── templates   #存放k8s模板文件目錄
│   ├── deployment.yaml   #建立k8s資源的yaml 模板
│   ├── _helpers.tpl   #下劃線開頭的文件,能夠被其餘模板引用.
│   ├── hpa.yaml   # 配置服務資源CPU 內存
│   ├── ingress.yaml   # ingress 配合service域名訪問的配置
│   ├── NOTES.txt   #說明文件,helm install以後展現給用戶看的內容
│   ├── service.yaml   #kubernetes Serivce yaml 模板
└── values.yaml   #給模板文件使用的變量併發


# 修改values.yam 裏的service的type爲 NodePort
# 安裝chart任務 (注意後面有個點)
helm install -f values.yaml nginx1 . app

# 查詢release
helm ls
helm list
# 刪除release
helm delete nginx1
 
Helm3安裝及使用ide

Helm3安裝及使用
 

驗證服務

經過K8S命令查看下 服務是否成功啓動
訪問 k8s_node_IP:31281

Helm3安裝及使用

Helm3安裝及使用

相關文章
相關標籤/搜索