Helm安装和使用
admin
2023-04-04 14:02:56
0

一、 Helm简介

Helm是Kubernetes首选的包管理工具,在K8S中一个应用可能多个YAML清单文件,当应用很多时这些清单文件就会显得很乱。Helm便能很好解决这种问题,Helm charts可以为K8S YAML清单文件提供模板语法,而且可以实现应用的一键部署、更新、回滚、删除等等。
Helm只是客户端,服务端是Tiller,具体架构如下:
Helm安装和使用
相关术语:

Helm 命令行客户端。
Tiller 服务端,部署在K8S集群中,负责监听Helm的请求、与K8S apiserver交互,实现应用的应用部署、更新等一系列操作。
Repository  chart仓库,是一个http/https服务器。
Chart 安装包,由一系列的清单文件组成。
Release chart部署到K8S后的实例。

二、 软件环境

OS版本:Centos7.5
K8S版本:v1.14.0
Docker版本:18.09.5-ce
Helm版本:v2.13.1

三、 安装配置Helm

1. 二进制方式部署

仓库地址:
https://github.com/helm/helm/releases
#根据需要下载对应版本
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz
tar zxf helm-v2.13.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
#helm使用方法
helm help

2. 为Tiller配置授权帐号

#当前Kubernetes集群启用了RBAC,为tiller配置指定授权帐号:

cat < tiller.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
EOF

apply后查看创建结果

[root@k8s-master03]# kubectl get serviceaccount tiller -n kube-system -o wide
NAME     SECRETS   AGE
tiller   1         100s
[root@k8s-master03]# kubectl get clusterrolebinding tiller -o wide
NAME     AGE   ROLE                        USERS   GROUPS   SERVICEACCOUNTS
tiller   37s   ClusterRole/cluster-admin                    kube-system/tiller

3. 安装服务端Tiller

#helm init

[root@k8s-master03]# helm init --service-account tiller -i registry.aliyuncs.com/google_containers/tiller:v2.13.1 --skip-refresh
Creating /root/.helm 
Creating /root/.helm/repository 
Creating /root/.helm/repository/cache 
Creating /root/.helm/repository/local 
Creating /root/.helm/plugins 
Creating /root/.helm/starters 
Creating /root/.helm/cache/archive 
Creating /root/.helm/repository/repositories.yaml 
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
Adding local repo with URL: http://127.0.0.1:8879/charts 
$HELM_HOME has been configured at /root/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

helm初始化默认使用gcr.io源,由于国内正常无法访问,所以这里使了用阿里源。
注意tiller版本要和helm版本相同。
#helm init参数说明

--service-account 指定授权帐号
-i 指定仓库镜像
--skip-refresh 禁止Tiller更新索引,一般用于离线安装
--node-selectors 选择节点标签,将Tiller pod部署在指定节点上
--override 更改Tiller deployment属性值
--output 跳过安装,并输出到json或yaml格式的清单文件中,可以用于kubectl手工安装,该选项类似于kubectl的—dry-run

#查看创建pod

[root@k8s-master03 ~]# kubectl get pods -n kube-system -l name=tiller                    
NAME                            READY   STATUS    RESTARTS   AGE
tiller-deploy-96f5d9ff4-ctswl   1/1     Running   0          45m

四、 使用Helm

#创建本地chart,会在本地生成一个文件夹,里面包含chart所需的所有文件
helm create chart名称 选项 
#helm仓库增删改查
helm repo add
helm repo list
helm repo lremove
helm repo update
#从仓库中查找可用的chart,如果不指定将列出所有的chart
helm search
helm search mysql
#查看chart的详细信息
helm inspect chart名称
#将仓库中的chart下载到本地保存为tar包
helm fetch chart名称
#从chart安装应用
helm install chart名称 选项
#查看当前集群中部署的release
helm list
#查看release的状态
helm status release名称
#查看release历史版本
helm history release名称
#升级release
helm upgrade release名称 chart名称 选项
#回滚release
helm rollback release名称 版本号 选项
#删除release
helm delete release名称 选项

参考:
helm安装
https://helm.sh/docs/using_helm/#installing-helm
https://www.cnrancher.com/docs/rancher/v2.x/cn/installation/ha-install/helm-rancher/tcp-l4/helm-install/
helm命令详解
https://helm.sh/docs/helm/

相关内容

热门资讯

法国颁布归还非法所获文物法律,... 根据法国政府10日发布的公报,法国总统马克龙9日颁布了关于归还非法所获文物的法律。相关法案于7日在法...
德乌将联合生产航程达1500公... 新华社基辅5月11日电 (记者李东旭)正在乌克兰首都基辅访问的德国国防部长鲍里斯·皮斯托里乌斯11日...
特朗普:与伊朗停火协议已“岌岌... 美国总统特朗普11日表示,目前与伊朗的停火协议正处于“岌岌可危”的状态。特朗普还称,将对伊朗取得“彻...
老人喝农药后医护误判死亡?官方... 近日,网传“我县一老人喝农药后医护人员未检查即认为老人已死亡”。对此,我县高度重视,立即成立由卫生健...
张凌赫、刘宇宁或被邀请赴台交流 5月11日,据中国新闻网报道,台北演艺经纪文化交流协会创会理事长王祥基表示,今年将力邀张凌赫、刘宇宁...
台湾演员赴陆偶遇“如花”高喊“... 据台媒TVBS,曾演出《破事精英第二季》的台湾演员萧子一,日前在中国大陆横店影视城巧遇景区知名NPC...
东盟“不选边”走到尽头? 第48届东盟峰会落幕,中东冲突外溢、美国关税施压、内部矛盾凸显,东盟陷入“经济要救生、安全走钢丝”的...
17岁高中生写作业至凌晨,外出... 5月11日,据青海大通县融媒体中心消息:大通县公安局表示,5月8日6时15分,大通县公安局桥头派出所...
天猫“国货严选”纯棉一次性内裤... 淘宝天猫国货严选旗舰店内一次性内裤宣称“纯棉”,“假一赔十”,实际收到商品为“100%聚酯纤维”。近...
字节砍掉30%的AI项目?背后... 来源:市场资讯 (来源:钛媒体APP) 5月9日,一则关于字节跳动AI战略的消息,在社交媒体上迅速发...