Kubernetes實戰(十三)-包管理工具(Helm)

很多人都使用過Ubuntu下的ap-get或者CentOS下的yum, 這兩者都是Linux系統下的包管理工具。採用apt-get/yum,應用開發者可以管理應用包之間的依賴關係,發佈應用;用戶則可以以簡單的方式查找、安裝、升級、卸載應用程序。

我們可以將Helm看作Kubernetes下的apt-get/yum。Helm是Deis (https://deis.com/) 開發的一個用於kubernetes的包管理器。每個包稱爲一個Chart,一個Chart是一個目錄(一般情況下會將目錄進行打包壓縮,形成name-version.tgz格式的單一文件,方便傳輸和存儲)。

對於應用發佈者而言,可以通過Helm打包應用,管理應用依賴關係,管理應用版本併發布應用到軟件倉庫。

對於使用者而言,使用Helm後不用需要了解Kubernetes的Yaml語法並編寫應用部署文件,可以通過Helm下載並在kubernetes上安裝需要的應用。

Helm安裝包官方地址:https://github.com/helm/helm/releases

本文地址(helm-v3.2.4):https://download.csdn.net/download/qq_19734597/12579439

一、Helm部署

Helm 的安裝方式很多,這裏採用二進制的方式安裝。更多安裝方法可以參考 Helm 的官方幫助文檔。

方式一:使用官方提供的腳本一鍵安裝

$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
$ chmod 700 get_helm.sh
$ ./get_helm.sh

方式二:手動下載安裝

#從官網下載最新版本的二進制安裝包到本地:https://github.com/helm/helm/releases
$ wget https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
$ tar -zxvf helm-v3.2.4-linux-amd64.tar.gz
$ mv linux-amd64/helm /usr/local/bin/helm

通過上述兩種方式其中之一安裝完成後,更換國內(阿里)Charts源,命令如下:

  $ helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

添加成功後,使用如下命令可以列出可以安裝的charts :

  $ helm search repo stable
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
stable/acs-engine-autoscaler    2.1.3           2.1.1           Scales worker nodes within agent pools
stable/aerospike                0.1.7           v3.14.1.2       A Helm chart for Aerospike in Kubernetes
stable/anchore-engine           0.1.3           0.1.6           Anchore container analysis and policy evaluatio...
stable/artifactory              7.0.3           5.8.4           Universal Repository Manager supporting all maj...
 ... ...

二、Helm管理

1、查看下載源

  $ helm repo list

2、查詢要安裝的chart

  $ helm search repo tomcat

3、安裝chart

chart安裝有兩種方式,分別是在線安裝和資源文件安裝,以下以安裝tomcat爲例,在線安裝命令如下:

  $ helm install my-tomcat aliyuncs/tomcat

資源文件安裝,命令如下:

$ helm pull aliyuncs/tomcat
$ tar -zxvf tomcat-6.2.3.tgz
$ cd tomcat
$ helm install my-tomcat .

如果要指定命名空間部署,則執行以下命令安裝:

  $ helm install my-tomcat -n oas-dev . 

4、修改chart配置

修改chart配置有三種方式:

1)通過 --set參數 修改chart的values.yaml文件中的默認配置,比如chart的values.yaml 中有下面的配置:

resources:
  limits:
    cpu: 2

通過以下方式就可以將上面的 cpu 值改爲 1,命令如下:

  $ helm install --set resources.limits.cpu=1 cnblogs-web .

這樣我們就成功修改了chart的默認配置。

2)如果應用還沒有部署,則通過修改helm的配置文件的方式,修改chart配置:

首先下載chart配置文件到本地,命令如下:

  $ helm pull aliyuncs/tomcat

然後修改chart的values.yaml文件,命令如下:

$ cd tomcat
$ vim values.yaml

修改完成後保存退出,執行以下命令部署安裝tomcat,命令如下:

  $ helm install my-tomcat -n oas-dev . 

部署完成後,執行以下命令查看當前deployment狀態,命令如下:

  $ kubectl edit deployment my-tomcat -n oas-dev

發現tomcat服務的修改後配置已生效。

3)如果應用已經部署好了,則通過 kubectl edit 命令來修改最直接有效:

通過 kubectl edit deployment my-tomcat -n oas-dev,即可在線編輯名爲 my-tomcat 的deployment,操作方法和vim編輯文本文件一樣。

編輯完後,保存退出會立即生效,如下圖,可見舊pod正在被銷燬,新pod啓動中,等pod創建和啓動成功後再次查看發現配置生效。

4、卸載chart

  $ helm delete my-tomcat -n oas-dev

5、添加chart源

  $ helm repo add aliyuncs https://kubernetes.oss-cn-shenzhen.aliyuncs.com/charts

6、刪除chart源

  $ helm repo remove aliyuncs

7、更新chart源

  $ helm repo update

到此 包管理工具(Helm)介紹完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章