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. 我们距离AI编程还有多远?

    近几年来,人工智能的信息以不同形式霸占着我们的眼球,我们知道AlphaGo.微软小冰.Sophia,了解过自动驾驶.无人机.智能家居等,深知人工智能是在记忆力.学习力.运算力方面都远超人类的存在,但人 ...

  2. ANT与SVN集成

    需求描述:从SVN服务器检出最新代码,编译,打包,发布测试环境. 解决方案:使用ANT官网提供的扩展工具中的svnant检出代码. 环境介绍: 操作系统:windows 7 64bit ant版本:a ...

  3. git pull以及git pull --rebase

    git pull的作用是将远程库中的更改代码合并到当前分支中,默认为:git fetch + git merge git fetch 的作用就相当于是从远程库中获取最新版本到本地分支,不会自动进行gi ...

  4. Elimination Game题解

    Elimination Game 这道题目出于leetcode,题目虽然很简单但是很有趣,因为有趣才能称得上游戏吧! 0x00 题目介绍 简单介绍一下题目意思 给定一个数字N(N>0),一个列表 ...

  5. centos基本命令

    $>ls $>ls --help //查看命令帮助 $>man ls //查看命令帮助 $>clear //清屏 $>cd /home //切换目录 $>cd . ...

  6. 你的知识需要管理PKM

    有一段时间没有更新技术博客了~,大脑中总感觉有点东西要写,却不知道从哪里开始写~至少写点东西,也算是一个阶段的成长.反思~ 学习(充电过程).工作(知识变现过程)不是简单重复,永远都是最值得去反思.玩 ...

  7. 解决Jenkins运行robot framework selenium脚本不打开浏览器的问题

    1.总结就是,不能使用msi安装的jenkins,最好使用tomcat下的war包方式的jenkins 参考连接https://www.cnblogs.com/hotpsy/p/6907233.htm ...

  8. matlab函数int2str, num2str, str2num

    函数名:int2str 功能:将整数值转换为字符串 输入格式:str = int2str(N) 备注:就将该值四舍五入后转换为字符串,接受向量和矩阵输入. 如果是向量和矩阵输入,列数字之间会补加两个空 ...

  9. boost学习目录

    Boost之数值转换lexical_cast https://www.cnblogs.com/TianFang/archive/2013/02/05/2892506.html Boost之字符串算法s ...

  10. swift学习 引入三方遇到的问题

    问题来源: 1.swift项目pods  MJRefresh 为了在swift正常使用 建了一个桥接文件 2.在项目中又使用了 SDWebImage 用于加载网络图片 根据说明加了Podfile一个  ...