前期准备
- 一个 Kubernetes 集群
- 如有必要,提前决定安装过程中涉及的安全配置
1、安装 Helm
关于版本,对于最新版的 Helm 发行版,建议搭配 Kubernetes 第二个最新的小版本。另外,你需要在本地拷贝一个配置好的 kubectl 。
官方提供了以下两种安装方式:
二进制解压安装
# 下载想要的版本(https://github.com/helm/helm/releases)
cd /opt/data
wget https://get.helm.sh/helm-v2.13.1-linux-amd64.tar.gz
# 解压
tar -zxvf helm-v2.13.1-linux-amd64.tar.gz -C /opt/
# 改名
cd /opt/
mv linux-amd64 helm-v2.13.1
# 建立软连接
ln -s /opt/helm-v2.13.1/helm /usr/local/bin/helm
# 验证安装
which helm # /usr/local/bin/helm
helm version
楼主工作中使用的Kubernetes 是
v1.11.5
的,因此选了v2.13.1
这个版本
脚本安装
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
2、先讲安全
以下情况请务必考虑安全相关配置:
- Kubernetes集群暴露到不可控制的网络环境:
- 非法用户有权限访问集群
- 非法应用能访问集群
- 多租户集群
- 该集群有权限访问高价值数据、网络之类的信息
这要求我们:
- 理解集群的安全性上下文
- 选择最好的安装Helm的方法
以下步骤假设你已经有一个Kubernetes配置文件。
2.1 理解集群的安全性上下文
- RBAC
- Tiller的gRPC端点以及Helm对它的使用
- Tiller发布信息
- Helm charts
RBAC
Helm和Tiller被设计用来管理那些由一组内部通信的服务组成的逻辑应用在kubernetes
集群中的安装、移除以及变更行为。因此,这通常要求其拥有一些集群层次的权限,通过配置相应的RPAC并限制Helm和Tiller的行为,可以有效避免、降低误操作带给集群的损失以及影响范围。
3、使用 Helm
首先3个基本概念:
- Chart 是一个 Helm 包,它包含了在Kubernetes中运行所需的所有资源定义、工具、服务等信息。
- Repository 是管理与分享 charts 的地方。
- Release 是运行状态的chart。一个 chart 可以在一个集群中多次安装运行,每运行一次,就有一个 release 被创建。
粗暴地说,可以把chart理解为一套系统的程序代码(静态文件),repository就是一个Git,而release就是把程序运行后的进程(运行着的代码),同一套代码可以启动多次。
网友评论