helm官方建议使用tls,首先生成证书。

openssl genrsa -out ca.key.pem
openssl req -key ca.key.pem -new -x509 -days -sha256 -out ca.cert.pem -extensions v3_ca -batch
openssl genrsa -out tiller.key.pem
openssl genrsa -out helm.key.pem
openssl req -key tiller.key.pem -new -sha256 -out tiller.csr.pem -batch
openssl req -key helm.key.pem -new -sha256 -out helm.csr.pem -batch
openssl x509 -req -CA ca.cert.pem -CAkey ca.key.pem -CAcreateserial -in tiller.csr.pem -out tiller.cert.pem -days
openssl x509 -req -CA ca.cert.pem -CAkey ca.key.pem -CAcreateserial -in helm.csr.pem -out helm.cert.pem -days

这样一来,目录下将有八个文件:ca.cert.pem ca.key.pem ca.srl helm.cert.pem helm.csr.pem helm.key.pem tiller.cert.pem tiller.csr.pem tiller.key.pem

1、安装客户端

安装helm:

查看版本并下载:https://github.com/helm/helm/releases

curl -O https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz
tar -zxvf helm-v2.13.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
ln -s /usr/local/bin/helm /usr/bin/helm

配置TLS

mkdir -p $(helm home)
cp ca.cert.pem $(helm home)/ca.pem
cp helm.cert.pem $(helm home)/cert.pem
cp helm.key.pem $(helm home)/key.pem

验证

helm help

2、安装服务端

因为helm安装过程中会自动拉取gcr.io/kubernetes-helm/tiller镜像,国内可能无法访问,故可以使用下面的命令先查看所需的镜像版本,并在之后的命令行中设置镜像来源

helm init --dry-run --debug

设置授权

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

初始化helm,配置了阿里的源

helm init \
--override 'spec.template.spec.containers[0].command'='{/tiller,--storage=secret}' \
--tiller-image=registry.aliyuncs.com/google_containers/tiller:v2.13.1 \
--tiller-tls \
--tiller-tls-verify \
--tiller-tls-cert=./tiller.cert.pem \
--tiller-tls-key=./tiller.key.pem \
--tls-ca-cert=./ca.cert.pem \
--service-account=tiller \
--stable-repo-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

验证

kubectl -n kube-system get pods|grep tiller
kubectl -n kube-system get deployment
helm ls --tls(无输出,运行完成即可)

3、集群中其他机器使用helm

先参考1、安装客户端,之后执行:

helm init \
--client-only \
--override 'spec.template.spec.containers[0].command'='{/tiller,--storage=secret}' \
--service-account=tiller \
--stable-repo-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

4、卸载

helm reset --force --tls
kubectl delete serviceaccount --namespace kube-system tiller
kubectl delete clusterrolebinding tiller-cluster-rule
rm -rf $(helm home) /usr/local/bin/helm /usr/bin/helm

kubernetes包管理工具Helm安装的更多相关文章

  1. Kubernetes-17:Kubernets包管理工具—>Helm介绍与使用

    Kubernets包管理工具->Helm 什么是Helm? 我们都知道,Linux系统各发行版都有自己的包管理工具,比如Centos的YUM,再如Ubuntu的APT. Kubernetes也有 ...

  2. k8s包管理工具helm - 介绍和安装

    目录 1.Kubernetes 应用部署的挑战 2.Helm 是什么 3.Helm 组件及相关术语 4.Helm 工作原理 5.Helm 安装 5.1 客户端安装 5.2 安装服务端 Tiller 5 ...

  3. 云原生之旅 - 5)Kubernetes时代的包管理工具 Helm

    前言 上一篇文章 [基础设施即代码 使用 Terraform 创建 Kubernetes] 教会了你如何在Cloud上面建Kubernetes资源,那么本篇来讲一下如何在Kubernetes上面部署应 ...

  4. k8s的应用包管理工具helm的部署和使用

    1.概述 我们一般是在k8s里面部署一些简单的应用,比如用deployment,daemonset,statefuleset的方式来部署应用,但是如果要部署一些复杂的应用,那么整个配置的编写.部署的过 ...

  5. python 包管理工具pip安装与使用

    pip是python的一个包管理工具,与之类似的工具还有easy_install.根据官网的说法 如果你的python版本在Python 2 >=2.7.9 or Python 3 >=3 ...

  6. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  7. Python的包管理工具--PIP安装使用

    最新安装方式 # wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py  // 使用该方式安装已经不再要求提前安装setuptoo ...

  8. Kubernetes的包管理工具Helm的安装和使用

    1.源码安装 [root@master ~]# wget https://storage.googleapis.com/kubernetes-helm/helm-v2.14.0-linux-amd64 ...

  9. js的包管理工具bower安装

    bower需要:node 和 git node安装包下载:http://blog.csdn.net/myan/article/details/2028545 Git安装: 选择第二项:Use Git ...

随机推荐

  1. DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting

    XSS (Cross-site scripting) 攻击,为和 CSS 有所区分,所以叫 XSS.又是一种防不胜防的攻击,应该算是一种 "HTML注入攻击",原本开发者想的是显示 ...

  2. 从0开始的Python学习015输入与输出

    简介 在之前的编程中,我们的信息打印,数据的展示都是在控制台(命令行)直接输出的,信息都是一次性的没有办法复用和保存以便下次查看,今天我们将学习Python的输入输出,解决以上问题. 复习 得到输入用 ...

  3. Swift 访问控制

    1.private private访问级别所修饰的属性或者方法只能在当前类里访问. 2.fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问. ...

  4. objective-c高级编程 笔记

    引用计数:通过给对象计数标志,来判断是否释放对象 注:只能释放自己持有的对象 id obj = [NSMutableArray array] 如obj这个对象,并不是你所持有的对象,所以你无法进行释放 ...

  5. 4.26 IO流

  6. windows本地远程虚拟机docker中的数据的问题

    关闭各种防火墙 打开宿主机(windows)的cmd,在其中添加通往192.168.1.0/24网络的路由. 通往192.168.1.0/24网络的数据包由172.20.1.12来转发 route a ...

  7. arts打卡第二周

    Algorithm 旋转数组 Given an array, rotate the array to the right by k steps, where k is non-negative. Ex ...

  8. 正则表达式,提取html标签的属性值

    /** * 提取HTML标签的属性值 * @param source HTML标签内容 * "<a title=中国体育报 href=''>aaa</a><a ...

  9. JProfiler的详细使用介绍

    转:https://blog.csdn.net/huangjin0507/article/details/52452946 下载软件 官网地址:http://www.ej-technologies.c ...

  10. vue中watch检测到不到对象属性的变化的解决方法

    watch: { option: { handler(newVal) { console.log(newVal); }, deep: true, immediate: true } }, 需要深层wa ...