helm v2安装和使用

组成部分

Helm客户端

Charts:Helm程序包

Repository:Charts仓库,集中存储和分发Chart

1、安装Helm客户端

Helm安装指导:https://helm.sh/docs/using_helm/#quickstart-guide

客户端Helm下载地址:https://get.helm.sh/helm-v2.14.2-linux-amd64.tar.gz

$ curl -O https://get.helm.sh/helm-v2.14.2-linux-amd64.tar.gz 
$ tar -zxvf helm-v2.14.2-linux-amd64.tar.gz #将可执行的文件移动到相应目录下	 
$ mv linux-amd64/helm /usr/local/bin 
$ helm version Client: &version.Version{SemVer:"v2.14.2", GitCommit:"a8b13cc5ab6a7dbef0a58f5061bcc7c0c61598e7", GitTreeState:"clean"} Error: could not find tiller

2、安装Tiller Server

$ vim tiller-rbac.yaml          #创建tiller的资源账户

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
   
$ kubectl apply -f tiller-rbac.yaml        #部署tiller资源账户

$ helm init --service-account tiller --skip-refresh   #初始化helm,部署tiller的Pod
[root@master ~]# kubectl get pod -n kube-system -l app=helm     #查看状态
NAME                             READY   STATUS             RESTARTS   AGE
tiller-deploy-767d9b9584-zmk92   1/1     ImagePullBackOff   0          52s

#这里加上--skip-refresh是因为需要加的一个地址在google上,网络无法连接上

安装时其他的一些参数:

–canary-image : 安装canary分支,即项目Master 的分支。

–tiller-image :安装指定版本的镜像,默认同Helm 版本。

–kube-context :安装至指定的Kubernetes 集群。

–tiller-namespace : 安装至指定的名称空间,默认为kube- system。

ImagePullBackOff :这里下载镜像失败了,这个地址的镜像下载不下来,我们自己到node02上去手动下载

Warning  Failed          38s (x3 over 112s)  kubelet, node02    Error: ErrImagePull
Normal   BackOff         10s (x6 over 110s)  kubelet, node02    Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.14.2"
Warning  Failed          10s (x6 over 110s)  kubelet, node02    Error: ImagePullBackOff

[root@node02 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.2
[root@node02 ~]# 
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.2 gcr.io/kubernetes-helm/tiller:v2.14.2

3、在节点验证helm

[root@master ~]# helm version
Client: &version.Version{SemVer:"v2.14.2", GitCommit:"a8b13cc5ab6a7dbef0a58f5061bcc7c0c61598e7", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.2", GitCommit:"a8b13cc5ab6a7dbef0a58f5061bcc7c0c61598e7", GitTreeState:"clean"}

在主节点添加helm仓库

[root@master ~]# helm repo add stable http://mirror.azure.cn/kubernetes/charts
"stable" has been added to your repositories
[root@master ~]# helm repo list
NAME    URL
stable  http://mirror.azure.cn/kubernetes/charts
local   http://127.0.0.1:8879/charts

helm repo remove <REPO_NAME>   #移除某个repo仓库

注意由于某些原因需要网络可以访问gcr.io和kubernetes-charts.storage.googleapis.com,如果无法访问可以通过helm init --service-account tiller --tiller-image /tiller:v2.13.1 --skip-refresh使用私有镜像仓库中的tiller镜像

[root@master k8s-log]# helm repo update          #更新仓库
[root@master k8s-log]# helm install stable/redis -n redis         安装redis测试
[root@master k8s-log]# helm list
NAME    REVISION        UPDATED                         STATUS          CHART           APP VERSION     NAMESPACE
redis   1               Wed Jul 31 12:54:04 2019        DEPLOYED        redis-9.0.1     5.0.5           default

其他常用操作

helm search                 #列出仓库中所有的软件
helm search redis           #搜索特定的软件
helm inspect stable/redis   #产看软件的详细信息
helm status redis-test      #查看Release的相关状态信息

4、卸载Tiller Server

Tiller 将数据存储于ConfigMap 资源中,因此卸载后重新安装并不会导致数据丢

失,必要时,管理员尽可放心重新安装或升级。卸载Tiller 的方法常用的有两种方式。

[root@master ~]# kubectl get deploy -n kube-system
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
coredns                2/2     2            2           10h
kibana                 1/1     1            1           10h
kubernetes-dashboard   1/1     1            1           10h
tiller-deploy          1/1     1            1           8m6s

1 ) kubectl delete deployment tiller-deploy --namespace kube-system
2 ) helm reset  --force
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Helm是一个用于管理Kubernetes应用程序的工具,它可以帮助开发者更轻松地部署、升级和管理应用程序的版本。Helm v2和v3是Helm的两个主要版本,它们之间有一些重要的区别。 首先,Helm v2使用的是基于服务器端的Tiller组件来管理应用程序的部署。Tiller在v2版本中负责与Kubernetes API进行交互,并跟踪应用程序的状态。然而,Tiller在安全性和性能方面存在一些问题,并且需要额外的配置和权限来正确运行。 为了解决这些问题,Helm v3于2019年发布,并移除了Tiller组件。在v3版本中,Helm完全依赖于Kubernetes API来进行应用程序的部署和管理。这种改变不仅提高了Helm的安全性和性能,还简化了Helm安装和配置过程。 另一个重要的改变是Helm v3中引入了命名空间的概念。在Helm v2中,所有的应用程序都会部署到同一个默认的命名空间中,这可能导致应用程序之间的冲突。而在Helm v3中,每个应用程序都可以分配到不同的命名空间中,从而更好地隔离和管理应用程序。 此外,Helm v3还改进了依赖管理的方式。在Helm v2中,依赖被视为Helm Chart中的一个子图表,这导致了一些容易出错和难以维护的情况。在Helm v3中,依赖被视为外部的Chart,这使得依赖的安装和更新更加简单和可靠。 综上所述,Helm v3相较于v2来说,在安全性、性能、安装、配置、应用程序隔离和依赖管理等方面都有了一些重大的改进。因此,如果要选择使用Helm进行Kubernetes应用程序管理,推荐使用Helm v3以获得更好的体验和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值