• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

原创:kubernetes(k8s)离线安装helm和tiller

k8s 搞java代码 3年前 (2022-05-13) 15次浏览 已收录 0个评论

大纲:
一、为什么要安装
二、helm的安装
三、tiller的安装
四、检验是否安装的正确
五、tiller删除

一、为什么要安装

<code>1、helm的作用:像centos7中的yum命令一样,管理软件包,只不过helm这儿管理的是在k8s上安装的各种容器。
2、tiller的作用:像centos7的软件仓库一样,简单说类似于/etc/yum.repos.d目录下的xxx.repo。
</code>

www#gaodaima.com来源gaodaimacom搞#代%码网搞代码

二、helm的安装

<code>helm的安装非常的简单,首先在github上下载helm的二进制安装包,然后直接将二进制文件移动到相关目录下就可以了。
</code>

下载url:https://github.com/helm/helm/releases

<code class="ruby">[root@cma-cluster-slave5 k8s]<span class="hljs-comment"># tar -zxvf helm-v2.11.0-linux-amd64.tar.gz</span>
[root@cma-cluster-slave5 k8s]<span class="hljs-comment"># cd linux-amd64/</span>
[root@cma-cluster-slave5 linux-amd64]<span class="hljs-comment"># mv helm /usr/bin/</span>
</code>

测试一下:

<code class="ruby">[root@cma-cluster-slave5 linux-amd64]<span class="hljs-comment"># helm</span>
</code>

看见出现一大推提示就是安装成功了

三、tiller的安装

Tiller有多种安装方式,比如本地安装或以pod形式部署到Kubernetes集群中。本文以pod安装为例,安装Tiller的最简单方式是helm init, 该命令会检查helm本地环境设置是否正确,helm init会连接kubectl默认连接的kubernetes集群(可以通过kubectl config view查看),一旦连接集群成功,tiller会被安装到kube-system namespace中。

为了安装服务端tiller,还需要在这台机器上配置好kubectl工具和kubeconfig文件,确保kubectl工具可以在这台机器上访问apiserver且正常使用。 这里的node1节点以及配置好了kubectl。

因为Kubernetes APIServer开启了RBAC访问控制,所以需要创建tiller使用的service account: tiller并分配合适的角色给它。 详细内容可以查看helm文档中的Role-based Access Control。 这里简单起见直接分配cluster-admin这个集群内置的ClusterRole给它。

创建rbac-config.yaml文件:

<code class="cpp">[root@cma-cluster-slave5 linux-amd64]<span class="hljs-meta"># vim rbac-config.yaml</span>
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  <span class="hljs-keyword">namespace</span>: 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
    <span class="hljs-keyword">namespace</span>: kube-system
</code>
1、一种博主未知的安装方式
<code class="ruby">[root@cma-cluster-slave5 linux-amd64]<span class="hljs-comment"># pwd</span>
/opt/k8s/linux-amd64
[root@cma-cluster-slave5 linux-amd64]<span class="hljs-comment"># ls</span>
helm  LICENSE  README.md  tiller
</code>

这个目录下的tiller二进制是一个本地安装的文件,怒在下愚钝,暂不知如何使用。

2、博主采用的安装方式

直接使用docker拉取这个镜像,查看dockerfile文件就可以知道这是直接从谷歌镜像库拉取过来的了,感谢这位热心的网友哈。

<code class="ruby">[root@cma-cluster-slave5 linux-amd64]<span class="hljs-comment"># docker pull fishead/gcr.io.kubernetes-helm.tiller:v2.11.0</span>
</code>

因为 helm init 初始化的时候会在k8s集群中安装tiller的服务端,用到了此镜像。

<code class="ruby">[root@cma-cluster-slave5 linux-amd64]<span class="hljs-comment"># kubectl create -f rbac-config.yaml</span>
serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created
</code>

安装tiller
helm init --upgrade --tiller-image fishead/gcr.io.kubernetes-helm.tiller:v2.11.0 --stable-repo-url http://10.16.48.44/
备注:上面命令中的–stable-repo-url http://10.16.48.44/这个是我用apache http做的,这儿下面放了一个文件index.yaml文件,可以从这儿下载到https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts/index.yaml

在浏览器中输入http://10.16.48.44/index.yaml,将显示刚刚下载的页面(冒充的,嘿嘿)

四、检验是否安装的正确

检验tiller是否安装上

<code class="ruby">[root@cma-cluster-slave5 home]<span class="hljs-comment"># kubectl get pod -n kube-system|grep tiller</span>
tiller-deploy-<span class="hljs-number">7</span>d574cfdcc-px2wh          <span class="hljs-number">1</span>/<span class="hljs-number">1</span>       Running   <span class="hljs-number">0</span>          <span class="hljs-number">1</span>d
</code>

查看tiller的repo仓库

<code class="ruby">[root@cma-cluster-slave5 home]<span class="hljs-comment"># helm repo list</span>
NAME    URL                         
stable  <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/10.16.48.44/</span>         
local   <span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/127.0.0.1:8879/charts</span>
</code>

检查客户端和服务端是否一致

<code class="css"><span class="hljs-selector-attr">[root@cma-cluster-slave5 home]</span># <span class="hljs-selector-tag">helm</span> <span class="hljs-selector-tag">version</span>
<span class="hljs-selector-tag">Client</span>: &<span class="hljs-selector-tag">version</span><span class="hljs-selector-class">.Version</span>{<span class="hljs-attribute">SemVer</span>:<span class="hljs-string">"v2.11.0"</span>, GitCommit:<span class="hljs-string">"2e55dbe1fdb5fdb96b75ff144a339489417b146b"</span>, GitTreeState:<span class="hljs-string">"clean"</span>}
<span class="hljs-selector-tag">Server</span>: &<span class="hljs-selector-tag">version</span><span class="hljs-selector-class">.Version</span>{<span class="hljs-attribute">SemVer</span>:<span class="hljs-string">"v2.11.0"</span>, GitCommit:<span class="hljs-string">"2e55dbe1fdb5fdb96b75ff144a339489417b146b"</span>, GitTreeState:<span class="hljs-string">"clean"</span>}
</code>

上面中的GitCommit两个值相同,就是版本一致(博主猜测,因为碰见过报版本不一致的错误,这里就不做错误的复现了)

五、tiller删除

可能会发生安装后需要删除或者安装不成功的情况

<code class="ruby">[root@cma-cluster-slave5 home]<span class="hljs-comment"># helm reset -f</span>
[root@cma-cluster-slave5 home]<span class="hljs-comment"># rm -rf /root/.helm</span>
</code>

然后重新安装即可


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:原创:kubernetes(k8s)离线安装helm和tiller

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址