基本概念
Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用,它包含几个基本概念
Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get / yum
Tiller 是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。
Chart 是 Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。
Etcd是一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现。
Helm有三个重要概念:
chart:包含了创建Kubernetes的一个应用实例的必要信息
config:包含了应用发布配置信息
release:是一个chart及其配置的一个运行实例
yum install etcd kubernetes -y
yum install -y socat # 注意:先在 K8S 集群上每个节点安装 socat 软件(yum install -y socat ),不然会报如下错误:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh & chmod 700 get_helm.sh & ./get_helm.sh # 安装 helm
./get_helm.sh
Downloading https://kubernetes-helm.storage.googleapis.com/helm-v2.13.1-linux-amd64.tar.gz
Preparing to install helm and tiller into /usr/local/bin
helm installed into /usr/local/bin/helm
tiller installed into /usr/local/bin/tiller
Run 'helm init' to configure helm
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.5.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts # 由于在国内可能无法访问 "gcr.io", "storage.googleapis.com" 等域名,阿里云容器服务为此提供了镜像站点。
配置 k8s集群
hostnamectl --static set-hostname k8s-node-1
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh & chmod 700 get_helm.sh & ./get_helm.sh
hostnamectl --static set-hostname k8s-master
hostnamectl --static set-hostname k8s-node-1
echo '10.211.55.4 k8s-master
10.211.55.4 etcd
10.211.55.4 registry
10.211.55.5 k8s-node-1
10.211.55.6 k8s-node-2' >> /etc/hosts
systemctl disable firewalld.service
systemctl stop firewalld.service
参考
Mac 下通过 helm 安装 wp, Kubernetes 将会在集群中自动进行容器的分发和调度。 :https://www.linuxidc.com/Linux/2017-09/146989.htm