Helm - Kubernetes服务编排的利器

  在Kubernetes中部署容器云应用(容器或微服务编排)是一项有挑战性的工作,Helm就是为了简化在Kubernetes中安装部署容器云应用的一个客户端工具。通过Helm能够帮助开发者定义、安装和升级Kubernetes中的容器云应用。同时,也可以通过Helm进行容器云应用的分享。

  Helm的整体架构如下图(图片来源-Kubernetes中文社区)所示:

  

Helm - Kubernetes服务编排的利器

  Helm架构由Helm客户端、Tiller服务器端和Chart仓库所组成;Tiller部署在Kubernetes中,Helm客户端从Chart仓库中获取Chart安装包,并将其安装部署到Kubernetes集群中。 

 

Helm是管理Kubernetes包的工具,Helm能提供以下能力:

创建新的charts

将charts打包成tgz文件

与chart仓库交互

安装和卸载Kubernetes的应用

管理使用Helm安装的charts的生命周期

 

在Helm中,有三个需要了解的重要概念:

chart:是创建Kubernetes应用实例的信息集合

config:创建发布对象的chart的配置信息

release:chart的运行实例,包含特定的config

 

安装Helm

注:有些文件或镜像在国内可能无法下载,可以通过此地址获取:https://pan.baidu.com/s/1yVUCz7wGYie8hkzQaNc3eg

1. 在Master中下载安装Helm的客户端,可根据需要下载对应的版本,这里使用的版本是2.8.2。

curl -LO https://storage.googleapis.com/kubernetes-helm/helm-v2.8.2-linux-amd64.tar.gz

tar xzf helm-v2.8.2-linux-amd64.tar.gz

mv linux-amd64/helm /usr/local/bin

 

helm version查看信息:

Helm - Kubernetes服务编排的利器

服务端Tiller还未安装,因此无法获取信息。

注:如果helm-v2.8.2-linux-amd64.tar.gz无法下载,可以从上面的链接中获取。

 

 2. 安装Tiller。

helm init

Helm - Kubernetes服务编排的利器

注:如果初始化失败,可以把上面的链接中的.helm目录拷贝到master的root目录下。tiller的镜像文件也可以从目录获取。

如果出现了“Error:Get https://10.96.0.1:443/version:dial tcp 10.96.0.1:443:i/o timeout.”的问题,可以参考我的回答来解决:

 

使用helm version查看Helm版本,如下表示客户端、服务端都安装完成:

Helm - Kubernetes服务编排的利器

 

Kubernetes 1.6+版本加入了RBAC的机制,因此需要添加Role Binding:

kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default

Helm - Kubernetes服务编排的利器

 

准备Java微服务

1. 打包jar

mvn package

Helm - Kubernetes服务编排的利器

 

2. 准备Dockerfile

FROM java:8u111-jre RUN mkdir /app COPY . /app WORKDIR /app CMD ["java","-Xmx4g","-Djava.security.egd=file:/dev/./urandom","-jar","hello-1.0.0.jar"]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgpxj.html