作者

微信:tangy8080

电子邮箱:914661180@qq.com

更新时间:2019-06-25 13:54:15 星期二

欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程中的编写的文章

如您在阅读过程中发现文章错误,可添加我的微信 tangy8080 进行反馈.感谢您的支持。

文章主题

介绍如何在k8s集群中安装helm

前置条件

您已经构建好了一个k8s集群

正文

helm是一个在k8s平台上的部署管理工具,简单来说您可以把它认为像是360软件管家,centos上的yum 一样的用途.它可以方便的安装,升级,卸载 k8s中程序

如果您经常在k8s中部署程序,那么可能面临以下尴尬:

  • 安装一个程序,除了程序本身之外,往往还需要建立存储卷,建立凭证,建立服务,建立Ingress等等,工作比较繁琐

  • 如果现在要卸载一个程序,往往也得删除存储卷,删除服务,删除Ingress等工作

  • 如果应用配置有变化,可能需要重新部署

helm可以解决上面的问题,比如您需要部署es,只需要下面一条命令(在实际部署时,可能需要更改部署参数,这里仅做实例说明)

helm install --name elasticsearch --set image.tag=6.7.0, client.replicas=3,cluster.name=kubernetes,data.persistence.storageClass=nfs-client,master.persistence.storageClass=nfs-client stable/elasticsearch

有关更多详细资料您可以参阅:https://helm.sh/

现在在github中也托管了很多支持使用helm来部署的软件包:https://github.com/helm/charts

helm的工作方式

helmctl >(控制)> k8s集群中的tiller 由tiller完成相关的控制操作

安装依赖项目

#在每个节点上安装
yum install -y socat
  • 不安装可能会报错:uid : unable to do port forwarding: socat not found.

安装Helm命令行工具

cd /usr/local/src
wget https://get.helm.sh/helm-v2.14.1-linux-amd64.tar.gz
tar -zxvf helm-v*-linux-amd64.tgz
mv linux-amd64/helm /usr/local/bin/helm
#测试命令行是否可以使用
helm help
在K8s集群中部署tiller
创建一个ServiceAccount

由于tiller需要在集群中执行高级别权限的操作(创建,删除全部资源),所以我们为其绑定到cluster-admin角色

更多资料,您可参阅:https://helm.sh/docs/using_helm/#role-based-access-control

以下操作请在kubectl命令行工具下,或者dashboard下创建

apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
执行部署tiller

以下操作请在安装了helm的机器上执行

helm init --service-account tiller --history-max 200

如果一切成功,您将在kube-system名称空间下看到部署:tiller-deploy

解决repo不能访问的问题

helm 的仓库配置在repositories.yaml文件中

在安装程序时helm需要在仓库中搜索程序包,但默认的仓库由于一些原因可能无法访问,我们需要更换仓库地址

helm repo remove stable
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
helm repo list



如图所示,我这里已经将stable的仓库地址更改到了微软提供的仓库

引用链接

https://helm.sh/docs/using_helm/#role-based-access-control

https://github.com/googlehosts/hosts/blob/master/hosts-files/hosts

2.安装Helm的更多相关文章

  1. 安装Helm

    一:1.下载helm-v2.10.0-linux-amd64.tar.gz 地址:https://github.com/kubernetes/helm/releases2,解压缩 tar -zxvf ...

  2. 在Kubernetes集群中安装Helm及证书认证

    安装Kubernetes 测试环境使用kubeadm安装kubernetes v1.6.3版本, 安装过程略过. 为Helm创建客户端认证 客户端认证是为了能够使用helm命令行调用Helm的服务端T ...

  3. 利用chocolate包管理工具安装helm

    在powershell中执行 1 安装choco包管理工具 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object Sys ...

  4. [转帖]Kubernetes中安装Helm及使用

    Kubernetes中安装Helm及使用 2018年07月02日 17:41:09 灬勿忘丶心安 阅读数 3699更多 分类专栏: K8S   版权声明:本文为博主原创文章,遵循CC 4.0 BY-S ...

  5. 一定成功 k8s 安装helm v2.17 基本命令

    一.下载helm安装脚本 1.1 介绍 Helm是Kubernetes的包管理器. 其实就是管理了一推配置文件,ds,configmap,deployment......,一类规则. 就类似: yum ...

  6. 如何在Ubuntu里安装Helm

    Helm是什么?在战网上玩过暗黑破坏神2代的程序员们应该还记得,Helm是国度的意思. 而在计算机领域,Helm是什么? Helm是Kubernetes的一个包管理工具,有点像nodejs的npm,U ...

  7. k8s安装helm

    1.客户端安装 A.直接在github上下载二进制文件进行解压,下载地址:https://github.com/kubernetes/helm/releases B.将解压出来的二进制文件helm 拷 ...

  8. 国内安装helm

    helm repo remove stable helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts ...

  9. Helm包管理工具(简介、安装、方法)

    认识Helm 每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样.部署一套新的环境成本是真的很高.如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了 ...

随机推荐

  1. CTFhub刷题记录

    一 [WesternCTF2018]shrine 没什么好说的,SSTI模版注入类问题,过滤了()但是我们不慌.开始注入,{{29*3}}测试通过. 发现是jinjia2的模版注入.关键点在于没有() ...

  2. mybatis-plubs条件构造器中的方法所对应的sql语法

    [通用条件:] [比较大小: ( =, <>, >, >=, <, <= )] eq(R column, Object val); // 等价于 =,例: eq(& ...

  3. 1V升压5V和1.5V升压5V的集成电路芯片

    1.5V和1V输入,要升压输出5V的集成电路芯片合适? 干电池标准电压是1.5V,放电电压后面在0.9V-1V左右,如果要选用干电池1.5V升压到5V的合适的芯片,需要满足低压1V或者0.9V更好的低 ...

  4. 图解 ECDHE 密钥交换算法

    HTTPS 常用的密钥交换算法有两种,分别是 RSA 和 ECDHE 算法. 其中,RSA 是比较传统的密钥交换算法,它不具备前向安全的性质,因此现在很少服务器使用的.而 ECDHE 算法具有前向安全 ...

  5. django中的几种返回模版的方式

    redirect方法-----(重定向) # 首先导入redirect方法, from django.shortcuts import redirect 在函数中写一个返回值 return redir ...

  6. linux设备文件

    一.前言 在调用了alloc_chrdev_region函数或register_chrdev_region函数之后可以在/proc/devices中看到该设备的主设备号,比如我注册的hello模块的主 ...

  7. 转 2 jmeter常用功能介绍-测试计划、线程组

    2 jmeter常用功能介绍-测试计划.线程组   1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...

  8. day03 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...

  9. 2.kafka架构深入——生产者

    一个topic有多个partition,每个partition又有多个副本,在这些副本中又有一个leader和多个follower. 1)分区的原因 (1)方便在集群中扩展,每个Partition可以 ...

  10. flutter--Dart基础语法(一)

    一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,Flutter 开源.免费,拥有宽松的开源协议,支持移动.Web.桌面和嵌入式平台. ...