Helm二:安装
Helm安装
Helm client安装
helm项目地址:
https://github.com/helm/helm
可以直接下载helm的二进制包,解压后,将二进制文件复制到标准命令路径即可完成安装
Helm tiller安装
Helm Tiller是Helm的server,Tiller有多种安装方式,比如本地安装或以pod形式部署到Kubernetes集群中。我们这里采用pod安装的方式。
安装Tiller的最简单方式是helm init, 该命令会检查helm本地环境设置是否正确,helm init会连接kubectl默认连接的kubernetes集群(可以通过kubectl config view查看),一旦连接集群成功,tiller会被安装到kube-system namespace中。
但是,在国内环境中,我们直接使用helm init会无法拉取到tiller镜像,需要手动指定镜像地址,同时如果Kubernetes集群开启了rbac,还需要指定运行tiller的servicaccount,并为该serviceaccount作合适的授权。
下面是实际安装时的指令:
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.0 --service-account=tiller --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
上面的命令指定了安装时使用的tiller镜像的地址,同时指定了默认的chart仓库的地址。
helm init常用配置项如下:
- --canary-image:安装金丝雀build
- --tiller-image:安装指定image
- --kube-context:安装到指定的kubernetes集群
- --tiller-namespace:安装到指定的namespace中
- --upgrade:如果tiller server已经被安装了,可以使用此选项更新镜像
- --service-account:用于指定运行tiller server的serviceaccount,该account需要事先在kubernetes集群中创建,且需要相应的rbac授权
创建serviceaccount并授权的示例:
# cat helm-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: helm
name: tiller
namespace: kube-system
# cat helm-rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: helm-rbac
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
我这里是直接为其授予超级管理员权限,如果需要对其进行精细权限控制,可参考helm官方文档:https://docs.helm.sh/using_helm/#role-based-access-control
安装完成以后,可以通过如下操作查看tiller server的pod:
root@k8s-m:/home/www/server/kube-yamls/public/helm# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
tiller-deploy-5d4b89d6c9-srvpr 1/1 Running 0 4d
看到tiller server正常运行,即安装成功。
Chart仓库配置
chart仓库用来存储和分享打包的chart,分为公共仓库和私有仓库,其中官方仓库由Kubernetes Charts维护,地址是https://github.com/helm/charts。但是在国内访问官方仓库,一个要翻墙,另一个慢。所以在国内环境中,公共仓库推荐使用阿里云chart仓库,地址为https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts。
私有chart仓库
chart仓库的组成
在更多的时候,我们需要自己维护一个私有的chart仓库。而chart仓库实际上,就是一个可用来存储index.yaml与打包的chart文件的http server,任何一个能够提供yaml与tar文件的http server都可以当做chart仓库。
下面我们简单说一说chart仓库的结构:
一个chart仓库是由chart包与index.yaml文件组成,index.yaml记录了chart仓库中全部chart的索引,一个chart仓库示例如下:
charts/
|
|- index.yaml
|
|- alpine-0.1.2.tgz
|
|- alpine-0.1.2.tgz.prov
其中index.yaml文件中记录了chart的诸如名称、url、version等一些metadata信息:
apiVersion: v1
entries:
alpine:
- created: 2016-10-06T16:23:20.499814565-06:00
description: Deploy a basic Alpine Linux pod
digest: 99c76e403d752c84ead610644d4b1c2f2b453a74b921f422b9dcb8a7c8b559cd
home: https://k8s.io/helm
name: alpine
sources:
- https://github.com/kubernetes/helm
urls:
- https://technosophos.github.io/tscharts/alpine-0.2.0.tgz
version: 0.2.0
- created: 2016-10-06T16:23:20.499543808-06:00
description: Deploy a basic Alpine Linux pod
digest: 515c58e5f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cd78727
home: https://k8s.io/helm
name: alpine
sources:
- https://github.com/kubernetes/helm
urls:
- https://technosophos.github.io/tscharts/alpine-0.1.0.tgz
version: 0.1.0
nginx:
- created: 2016-10-06T16:23:20.499543808-06:00
description: Create a basic nginx HTTP server
digest: aaff4545f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cdffffff
home: https://k8s.io/helm
name: nginx
sources:
- https://github.com/kubernetes/charts
urls:
- https://technosophos.github.io/tscharts/nginx-1.1.0.tgz
version: 1.1.0
generated: 2016-10-06T16:23:20.499029981-06:00
创建本地仓库
一个简单的创建一个本地仓库的示例:
helm serve --address 0.0.0.0:8879 --repo-path ./charts
chart仓库基本管理
- 列出仓库中的charts
helm repo list
- 打包本地开发的chart
helm package mychart
- 上传chart到chart仓库
helm repo add mychart http://1270.0.1:8879/charts
- 查找chart
helm search mychart -l
Helm二:安装的更多相关文章
- 国内不fq安装K8S二: 安装kubernet
目录 2 安装kubelet 2.1 环境准备 2.2 设置国内的源 2.3 重要的设置 2.4 获取镜像 2.5 使用kubeadm init初始化集群 2.6 安装Pod Network 2.7 ...
- 如何使用helm优雅安装prometheus-operator,并监控k8s集群微服务
前言:随着云原生概念盛行,对于容器.服务.节点以及集群的监控变得越来越重要.Prometheus 作为 Kubernetes 监控的事实标准,有着强大的功能和良好的生态.但是它不支持分布式,不支持数据 ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- Open vSwitch系列之二 安装指定版本ovs
在ovs学习过程中,如果自己想要安装一个ovs交换机其实一条简单的命令 apt install openvswitch 就可以了,但是这种方法只能安装低版本的ovs.在特殊情况下需要安装指定版本,例 ...
- [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4
[原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(二) -- 安装jira 7.5.4 环境都配置好以后, 开始搭建Jira的环境, 这里参考了一篇文 ...
- 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明)
系列文章 1. 开源一款强大的文件服务组件(QJ_FileCenter)(系列一) 2. 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明) 3. 开源一款强大的文件服务组件 ...
- Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装
首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker sudo ...
- prometheus-operator 详细总结(helm一键安装)
一.介绍prometheus-operator 二.查看配置rbac授权 三.helm安装prometheus-operator 四.配置监控k8s组件 五.granafa添加新数据源 六.监控mys ...
- helm一键 安装mariadb-ha(详细)
一. 二.单机安装一主一从 先创建对应pv https://github.com/helm/charts/blob/master/stable/mariadb/templates/master-sta ...
随机推荐
- 汇编 REPNE/REPNZ 指令,SCASB 指令
知识点: REPNE/REPNZ 指令 SCASB 指令 一.SCASB 指令 cmp byte ptr [edi],al //对标志位的影响相当于sub指令 //同时还会修改寄存器EDI的值:如 ...
- 【Orleans开胃菜系列2】连接Connect源码简易分析
[Orleans开胃菜系列2]连接Connect源码简易分析 /** * prism.js Github theme based on GitHub's theme. * @author Sam Cl ...
- ASP.NET Core分布式项目实战-目录
前言 今年是2018年,发现已经有4年没有写博客了,在这4年的时光里,接触了很多的.NET技术,自己的技术也得到很大的进步.在这段时光里面很感谢张队长以及其他开发者一直对.NET Core开源社区做出 ...
- 如何唯一确定一个 Java 类?
今天偶然想起之前和朋友讨论过的一个问题:如何唯一确定一个 Java 类?我相信大多数朋友遇到这个问题的回答都是:类的全路径呗.但事实上,唯一确定一个 Java 类,单单靠类路径是不够的,还要多加上一个 ...
- HTML 列表实例
41.无序列表本例演示无序列表.<h4>一个无序列表</h4><ul> <li>咖啡</li> <li>茶</li> ...
- (功能篇)回顾Bug管理系统Mantis优化改造经历
共分为两篇,功能篇和技术篇. 时间大约是2016年冬天. 考虑搭一个用于Bug管理和追踪的系统. 综合比较下,选择了小巧的开源工具,Mantis. 在源码基础上,做代码修改,完成了定制版的优化改造. ...
- 【Unity Shader】(三) ------ 光照模型原理及漫反射和高光反射的实现
[Unity Shader](三) ---------------- 光照模型原理及漫反射和高光反射的实现 [Unity Shader](四) ------ 纹理之法线纹理.单张纹理及遮罩纹理的实现 ...
- arduino新入手体验:三个小实验
新入手体验:三个小实验 一:一个LED闪烁 控制要求:1个LED灯,每隔50ms闪烁一次 实物连接图: 控制代码: //2018.6/11 ;//定义数字接口10,对应 void setup() { ...
- 《陪孩子像搭积木一样学编程》,一起来玩Scratch(1)使用Scratch编程的基本流程
编程是一件很有趣的事情.初次接触编程,你可能不知所措,别担心,这并不复杂.首先,为了让读者对编程有大概的了解,可以把编写Scratch程序的过程分成7个步骤(如图1.8).注意,这是理想状态.在实际的 ...
- 微软职位内部推荐-Senior Software Engineer-Eco
微软近期Open的职位: The MOD Ecosystem team is dedicated to expanding the reach and value of Office by enabl ...