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)介绍完成。

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