helm部署和使用

18人阅读 评论(0) 收藏 举报

Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。 Helm有如下几个基本概念:
- Chart: 是Helm管理的安装包,里面包含需要部署的安装包资源。可以把Chart比作CentOS yum使用的rpm文件。每个Chart包含下面两部分:
- 包的基本描述文件Chart.yaml
放在templates目录中的一个或多个Kubernetes manifest文件模板
- Release:是chart的部署实例,一个chart在一个Kubernetes集群上可以有多个release,即这个chart可以被安装多次
- Repository:chart的仓库,用于发布和存储chart

helm的安装方式:
首先,运行命令

$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
$ chmod 755 get_helm.sh
$ ./get_helm.sh 
$ helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.8.2 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
$ #注意上面一条命令的版本号需要和“helm version”命令下看到的client版本号一致

执行后即可完成安装,若需要更换版本,可以从https://github.com/kubernetes/helm/releases中下载对应版本的二进制文件,替换到/usr/local/bin/helm文件,然后将 helm init后面的版本号更换,即可安装对应版本的server端

问题排查:

当运行 helm ls 产生报错

[root@zk1 ~]# helm ls
Error: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp [::1]:8080: connect: connection refused

该报错是由于helm未将KUBERNETES_MASTER环境变量从kubectl config中带入tiller的容器中,可以通过编辑deployment的环境变量强行写入

命令:

 kubectl edit deploy tiller-deploy -n kube-system

在container-env中加入master即可

      containers:
      - env:
        - name: TILLER_NAMESPACE
          value: kube-system
        - name: TILLER_HISTORY_MAX
          value: "0"
        - name: KUBERNETES_MASTER
          value: 172.16.7.45:8080

helm使用:
由于初步学习,涉及不深,介绍以下常用命令
- helm ls -a 查看全部的release
- helm status my-release 查看状态
- helm upgrade my-release -f mysql/values.yaml –set resources.requests.memory=1024Mi my-release 更行版本
- helm rollback mysql 1 //1为版本号,可以添加 –debug打印调试信息 回滚版本

部署有的其他方式:
- 指定chart: helm install stable/mariadb
- 指定打包的chart: helm install ./nginx-1.2.3.tgz
- 指定打包目录: helm install ./nginx
- 指定chart包URL: helm install https://example.com/charts/nginx-1.2.3.tgz

安装效果:

[root@zk1 mysql-operator]# helm install ./mysql-operator/
NAME:   stultified-olm
LAST DEPLOYED: Tue Apr 17 04:33:34 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1beta1/Deployment
NAME            AGE
mysql-operator  0s

==> v1/ServiceAccount
mysql-operator  0s
mysql-agent     0s

==> v1beta1/CustomResourceDefinition
mysqlbackupschedules.mysql.oracle.com  0s
mysqlclusters.mysql.oracle.com         0s
mysqlbackups.mysql.oracle.com          0s
mysqlrestores.mysql.oracle.com         0s


NOTES:
Thanks for installing the MySQL Operator.

Check if the operator is running with

kubectl get po -n mysql-operator

查看评论

Helm简介

Helm简介 这几天花了不少时间在helm的学习之上,目前还不能熟练运行,很多东西都停留在记忆层面。整理这篇文章为加深印象,也便于后续实践的过程中参考和查询——记性不好。 1、简介 ...
  • chenleiking
  • chenleiking
  • 2018-03-13 13:02:11
  • 45

Kubernetes之使用Helm部署区块链

【编者的话】“三点钟区块链”无疑成为了大家春节期间焦虑的根源,而“区块链”注定是2018年被持续讨论、关注的行业性热点话题。今天主要来谈一谈如何使用Helm在Kubernetes部署区块链。 ...
  • langhailove_2008
  • langhailove_2008
  • 2018-03-06 22:25:56
  • 143

简化Kubernetes应用部署工具-Helm简介

微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-...
  • M2l0ZgSsVc7r69eFdTj
  • M2l0ZgSsVc7r69eFdTj
  • 2017-10-06 00:00:00
  • 485

[容器]helm安装配置使用

客户端安装:helm(船舵) wget https://storage.googleapis.com/kubernetes-helm/helm-v2.2.3-linux-amd64.tar.gz ...
  • iiiiher
  • iiiiher
  • 2017-04-05 13:23:16
  • 783

helm的使用

helm作为k8s的包管理工具,让我们很方便的在k8s上安装部署软件 helm实际上分为几个部分: 1).helm(client) helm可以把安装chart请求发送给tiller 2).til...
  • yevvzi
  • yevvzi
  • 2017-10-14 19:33:12
  • 1928

Helm使用

Helm 基本概念Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用,它包含几个基本概念 Chart:一个 Helm 包,其中包含了运...
  • wenwenxiong
  • wenwenxiong
  • 2018-01-15 17:42:09
  • 683

利用Helm简化Kubernetes应用部署

点击查看全文 Helm 是由 Deis 发起的一个开源工具,有助于简化部署和管理 Kubernetes 应用。 Helm 基本概念 Helm 可以理解为 Kubern...
  • DONGYUXIA15810857916
  • DONGYUXIA15810857916
  • 2017-08-07 14:13:06
  • 691

使用Helm在k8s集群上部署以太坊私有链

一、概述 二、部署流程 三、问题记录 四、部署检查 五、参考 一、概述 使用k8s官方的包管理工具helm部署以太坊私有链并启动三类节点和一个前端服务: bootnode...
  • hello2mao
  • hello2mao
  • 2018-03-30 00:38:39
  • 49

kubernetes-helm部署及本地repo搭建

0. Helm架构 1. Helm Client安装 helm client主要作用如下: 用来部署Tiller server 用来管理Chart repository 用来管理...
  • liukuan73
  • liukuan73
  • 2018-02-13 11:11:46
  • 2586

emacs helm 使用总结

helm使用总结 简单介绍一下 helm是emacs的一个第三方elisp库, 是emacs anything的一个fork,对anything的代码进行了整理和模块化, 主要的功能是方便...
  • hedu135790
  • hedu135790
  • 2013-11-20 23:25:57
  • 12873
    个人资料
    持之以恒
    等级:
    访问量: 2628
    积分: 166
    排名: 106万+
    文章分类
    文章存档