赞
踩
为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用。
Helm 采用客户端/服务器架构,如下组件:
- Helm CLI:命令行客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。
- Tiller:是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。
- Chart:Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。
- Repoistory:Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。
- Release:使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。
注:需要注意的是:Helm 中提到的 Release 和我们通常概念中的版本有所不同,这里的 Release 可以理解为 Helm 使用 Chart 包部署的一个应用实例。
Helm把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,而chart被保存到chart仓库。通过chart仓库可用来存储和分享chart。Helm使发布可配置,支持发布应用配置的版本管理,简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作。
Chart Install 过程:
k8s所在机器上先安装依赖socat
下载地址:https://github.com/kubernetes/helm/releases
解压并至/usr/bin/目录下,执行命令发现tiller没有安装,接着安装服务端tiller
$ helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Error: could not find tiller
使用阿里镜像来安装Tiller。
$ helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
- $ helm serve &
- $ helm repo add local http://localhost:8879/charts
- $ git clone https://github.com/ceph/ceph-helm
- $ cd ceph-helm/ceph
- $ make
$ cat ceph-overrides.yaml
network:
public: 192.168.74.57/22 # 主机机器的ip 而不是k8s集群的ip范围
cluster: 192.168.74.57/22 # 必须与public相同osd_devices:
- name: dev-sdb
device: /dev/sdb # 使用前或者重新安装前都要mkfs.ext4 /dev/vdb格式化,会自动分为两个分区
zap: "1"storageclass:
name: ceph-rbd
pool: rbd
user_id: admin
kubectl apply -f ceph-helm/ceph/rbac.yaml
helm install --name=ceph local/ceph --namespace=ceph -f ceph-overrides.yaml
helm version
Client: &version.Version{SemVer:”v2.11.0″, GitCommit:”2e55dbe1fdb5fdb96b75ff144a339489417b146b”, GitTreeState:”clean”}
E1123 17:48:57.894265 12852 portforward.go:331] an error occurred forwarding 46664 -> 44134: error forwarding port 44134 to pod 6a33f6504eea56ab22cdce9e75e2fc044451831171eeac2fcd990b56e4ce042b, uid : unable to do port forwarding: socat not found.
Error: cannot connect to Tiller
解决所有k8s node节点安装 yum install -y socat
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。