K8s Helm安装配置入门
作为k8s现在主流的一种包部署方式,尽管不用,也需要进行一些了解。因为,它确实太流行了。
这一套太极拳打下来,感觉helm这种部署,目前还不太适合于我们公司的应用场景。它更适合需要手工编程各种yaml文件,使用模板减少工作量和出错。
而我们已实现了web方式的yaml文件编辑,使用Helm意义不大,只能起到优化yaml存储的作用,但同时会使我们的配置文件深度依赖helm。
一,Helm用途
Helm把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,而chart被保存到chart仓库。通过chart仓库可用来存储和分享chart。Helm使发布可配置,支持发布应用配置的版本管理,简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作。
做为Kubernetes的一个包管理工具,用来管理charts——预先配置好的安装包资源,有点类似于Ubuntu的APT和CentOS中的yum。
Helm具有如下功能:
l--- 创建新的chart
l--- chart打包成tgz格式
l--- 上传chart到chart仓库或从仓库中下载chart
l--- 在Kubernetes集群中安装或卸载chart
l--- 管理用Helm安装的chart的发布周期
l Helm有三个重要概念:
l--- chart:包含了创建Kubernetes的一个应用实例的必要信息
l--- config:包含了应用发布配置信息
l--- release:是一个chart及其配置的一个运行实例
二,Helm组件
Helm基本架构如下:

Helm有以下两个组成部分:
1,Helm Client
用户命令行工具,其主要负责如下:
l--- 本地chart开发
l--- 仓库管理
l--- 与Tiller sever交互
l--- 发送预安装的chart
l--- 查询release信息
l--- 要求升级或卸载已存在的release
2,Tiller Server
一个部署在Kubernetes集群内部的server,其与Helm client、Kubernetes API server进行交互。Tiller server主要负责如下:
l--- 监听来自Helm client的请求
l--- 通过chart及其配置构建一次发布
l--- 安装chart到Kubernetes集群,并跟踪随后的发布
l--- 通过与Kubernetes交互升级或卸载chart
l--- 简单的说,client管理charts,而server管理发布release。
三,Helm安装
1,下载helm客户端
|
curl chmod ./get_helm.sh |
下载完成之后,运行helm version命令,如下输出表示客户ok,server未就绪。
# ./helm version

2,下载tiller镜像
想办法,把gcr.io/kubernetes-helm/tiller:v2.14.2弄到本机上(github+dockerhub)

向k8s集群中应用一个helm-tiller-rbac-config.yaml
|
apiVersion: v1 kind: metadata: name: tiller namespace: kube-system --- apiVersion: kind: metadata: name: tiller roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: tiller namespace: kube-system |
将这个配置文件应用到集群
|
kubectl |
然后用类似下面的命令调好。(为什么是类似呢?因为我调了很多次,有一次才通)
|
./helm ./helm helm ./helm |
如果安装正常,helm version命令输出如下:

四, Helm日常操作
1,查看chart
|
# 查看chart,即已经通过helm部署到 k8s 平台的应用 helm helm ls |
2,搜索chart
|
helm |
3,指定仓库搜索chart
|
helm helm |

4,查看chart详细信息
|
helm |

五, Helm部署
下面以workpress为例子,演示如何部署一个helm项目。
1,下载chart
|
Helm |

2,安装部署chart
|
helm install --name --set ali/wordpress |

3, 浏览器检测

4,查看wordpress chart
|
helm |

5,删除wordpress chart
|
helm |

六, 建立自己的Helm
Chart
1,生成默认
chart
|
helm |

2,chart文件解释
|
… |

3,chart模板文件及变量文件对应关系
deployment.yaml

values.yaml

4,chart配置文件检测
|
helm |

5,安装自定义的chart
在chart目录内运行
|
helm |

浏览器查看效果

七, 传播及复用Helm
Chart
1,chart打包分享
在chart目录内运行
|
helm |

2,http提供chart服务
在生成了chart的压缩包的目录运行
|
helm |

3,复用chart
在另外的机器上,访问chart的http服务,并进行下载及安装
|
wget http://127.0.0.1:9527/helm-nginx-0.1.0.tgz helm |

K8s Helm安装配置入门的更多相关文章
- kubernetes(k8s) helm安装kafka、zookeeper
通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...
- 转载maven安装,配置,入门
转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...
- k8s Helm安装Prometheus Operator
Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装完成了k8s的集群和helm的安装,今天我们来看看Prometheus的监控怎么搞.Prometheus Operator ...
- Docker: 安装配置入门[二]
一.安装配置启动 1.环境 [root@docker1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@d ...
- kubernetes系列(十六) - Helm安装和入门
1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建 ...
- Kustomize安装配置入门文档
一,简介 kustomize是sig-cli的一个子项目,它的设计目的是给kubernetes的用户提供一种可以重复使用同一套配置的声明式应用管理,从而在配置工作中用户只需要管理和维护kubernet ...
- ELK+Filebeat 安装配置入门
本文地址 http://www.cnblogs.com/jasonxuli/p/6397244.html https://www.elastic.co 上,elasticsearch,logsta ...
- Keepalived安装配置入门
准备两台虚拟机,IP如下: A:192.168.1.11 B:192.168.1.12 A为Master,B为BackUp 1.安装 yum install keepalived -y 2.配置 A服 ...
- Nginx 的安装配置入门(mac)
1.安装Nginx服务器: 执行命令 brew install nginx 安装完以后,可以在终端输出的信息里看到一些配置路径: /usr/local/etc/nginx/nginx.conf (配置 ...
随机推荐
- [LeetCode] 230. Kth Smallest Element in a BST 二叉搜索树中的第K小的元素
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...
- 【2019年07月22日】A股最便宜的股票
查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 便宜指数 = PE + PB + 股息 + ROE,四因子等权,数值越大代表越低估. 本策略只是根据最新的数据来选 ...
- long 在不同操作系统下所占用的字节数
不同平台下C\C++数值数据类型长度如下: 类型 win32 win64 linux32 linux64 其中long类型和指针类型需要特别注意,编写跨平台的软件时尽量不要使用long类型,或者需要对 ...
- LInux 就该这么学 笔记分享
看了Linux就该这么学的前部分书,觉得写的还可以,就在网上找了下面这个同学写的笔记,觉得很详细,所以保存地址,供以后查阅参看.这里对作者表示感谢!!! 博客地址: https://www.cnblo ...
- centos7上配置mysql8的双主互写
注意:1.主库1:10.1.131.75,主库2:10.1.131.762.server-id必须是纯数字,并且主从两个server-id在局域网内要唯一. [主节点1]vi /etc/my.cnf[ ...
- 服务器个人环境下pytorch0.4.1编译warp-ctc遇到的问题及解决方法
一.关于warp-ctc CTC可以生成一个损失函数,用于在序列数据上进行监督式学习,不需要对齐输入数据及标签,经常连接在一个RNN网络的末端,训练端到端的语音或文本识别系统.CTC论文 CTC网络的 ...
- 在Mu-kittenbot中使用Robotbit固件
首先,先下载安装支持robotbit扩展板的Mu: http://cdn.kittenbot.cn/mu/mu-kittenbot.exe 标准的3针插口,信号,正电,负电,可接市面的arduino模 ...
- 固定定位导致$(window).scrollTop();获取滚动后到顶部距离总是为0
如下移动端索引列表页面(点击某元素后弹出的页面) 我想用 $(window).scrollTop(); 获取页面滚动后距离顶部的距离,但获取到的值总是0 期间查了很久,但都无疾而终,后来看到一篇 ...
- 阿里云服务器ECS安全组设置 允许ping
另外也需要服务器的设置允许ping
- Javascript Object常用方法总结
Object.keys方法 Object.keys方法是JavaScript中用于遍历对象属性的一个方法 .它传入的参数是一个对象,返回的是一个数组,数组中包含的是该对象所有的属性名. 如: var ...