栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

安装helm,helm2与helm3的安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安装helm,helm2与helm3的安装

这里写目录标题
  • 1.安装helm客户端
      • 方法一:通过下载脚本安装
      • 方法二:下载相应版本解压并移至目录
  • 2.安装tiller服务端
  • 3. 验证安装
  • 4.我在安装时遇到的问题

1.安装helm客户端 方法一:通过下载脚本安装

以下两个通过“一键安装下载”的是helm3版本,helm2与helm3有着很大的不同下载时要特别留意

这个可以自动拉取最新的helm版本并在本地安装,这个脚本内良好的文档会让你知道你脚本都做了什么
[root@master ~]# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
[root@master ~]# chmod 700 get_helm.sh
[root@master ~]# ./get_helm.sh

如果想直接运行安装:

[root@master ~]# curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

以上两种方法任选其一

方法二:下载相应版本解压并移至目录

这个是安装的helm2 版本包括下面安装tiller都是helm2
首先将自己要安装的版本下载下来并解压,在将helm这个文件移至/usr/bin/helm目录下

[root@master ~]# wget https://get.helm.sh/helm-v2.9.0-linux-amd64.tar.gz
[root@master ~]# tar zxvf helm-v2.9.0-linux-amd64.tar.gz
[root@master ~]# cd linux-amd64
[root@master ~]# cp -a  helm /usr/bin/helm

升华一下:
设置命令自动补全

[root@master ~]# echo 'source <(helm completion bash)'>> /etc/profile
[root@master ~]# . /etc/profile #重载环境变量

到这里helm客户端已经完成了

2.安装tiller服务端

首先要给tiller授权 因为 Helm 的服务端 Tiller 是一个部署在 Kubernetes 中 Kube-System Namespace 下 的 Deployment,它会去连接 Kube-Api 在 Kubernetes 里创建和删除应用。

而从 Kubernetes 1.6 版本开始,API Server 启用了 RBAC 授权。目前的 Tiller 部署时默认没有定义授权的 ServiceAccount,这会导致访问 API Server 时被拒绝。所以我们需要明确为 Tiller 部署添加授权。

创建 Kubernetes 的服务帐号和绑定角色

给tiller授权,这里采用yaml文件来授权

[root@k8s-master ]# vim helm.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: tiller			#这里的name需要在下面helm  init中指定
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
[root@k8s-master helm]# kubectl apply -f helm.yaml 
serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created

方法一:
将相应的tiller镜像上传到各个节点,版本要与helm的客户端相同

授权完成后只需一步即可到位,只需执行

[root@master ~]# helm init --service-account tiller
这里我们指定使用上一步创建的服务账号

方法二:
上面的方法一是使用本地镜像进行构建的,下面是通过在网上直接下载tiller服务端进行安装,不过要保证服务器能上网

Tiller 是以 Deployment 方式部署在 Kubernetes 集群中的,只需使用以下指令便可简单的完成安装。

[root@node1 ~]# helm  init

但由于 Helm 默认会去 storage.googleapis.com 拉取镜像,如果你当前执行的机器不能访问该域名的话可以使用以下命令来安装
将下载源修改为国内网站并下载tiller

[root@node1 ~]#helm init --upgrade --service-account tiller  --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.0 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
这里要注意下载的tiller服务端要与helm客户端版本相同
3. 验证安装

运行helm version查看客户端与服务端是否在线

[root@k8s-master helm]# helm  version
Client: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

查看deploy是否以准备

[root@k8s-master helm]# kubectl get deploy -n kube-system
NAME            READY   UP-TO-DATE   AVAILABLE   AGE
coredns         2/2     2            2           17d
tiller-deploy   1/1     1            1           73m

查看pod是否已运行

[root@k8s-master helm]# kubectl get pod -n kube-system
........
tiller-deploy-7d75d56c7d-psqvq       1/1     Running   0          61m

4.我在安装时遇到的问题

问题1:提示命令不对,是因为这个是helm3版本,init命令为helm2的命令,helm3已经弃用,可使用helm env查看环境配置信息
Helm 3 中,Tiller 被移除了

[root@k8s-master bin]# helm init
Error: unknown command "init" for "helm"

Did you mean this?
	lint

Run 'helm --help' for usage.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号