码迷,mamicode.com
首页 > 其他好文 > 详细

K8S集群中使用Helm管理应用分发

时间:2018-07-04 15:10:58      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:K8S集群   date   过程   依赖   sha   一起   cannot   k8s   url   

本文介绍在k8s上部署和使用helm。Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。 通过使用使用Helm可以管理Kubernetes manifest files、管理Helm安装包charts、基于chart的Kubernetes应用分发。

一、Helm的基本概念

Chart: 是helm的应用打包格式。Chart由一系列文件组成,这些文件类似rpm包

Chart目录结构:
1、chart.yaml
Yaml文件,用来描述chart的摘要信息

2、readme.md
Markdown格式的readme文件,此文件为可选

3、LICENSE
文本文件,描述chart的许可信息,此文件为可选

4、requirements.yaml
Yaml文件,用来描述chart的的依赖关系,在安装过程中,依赖的chart也会被一起安装

5、value.yaml
Yaml文件,chart支持在安装的时候做对配置参数做定制化配置,value.yaml文件为配置参数的默认值

6、templates目录
各类k8s资源的配置模板目录

二、安装Helm客户端

# cd /usr/local/src/
# # wget https://storage.googleapis.com/kubernetes-helm/helm-v2.8.2-linux-amd64.tar.gz
# tar -zxvpf helm-v2.8.2-linux-amd64.tar.gz 
# mv linux-amd64/helm  /usr/local/sbin/helm
# helm version
Client: &version.Version{SemVer:"v2.8.2", 
GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
rror: cannot connect to Tiller

三、安装Helm server端

# helm init --upgrade -i  registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.8.2   --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

# helm  version
Client: &version.Version{SemVer:"v2.8.2", 
GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.8.2", 
GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}

# kubectl get pod -n kube-system -o wide       
# kubectl get deployment tiller-deploy -n kube-system -o wide

技术分享图片

四、使用Helm部署测试应用

# helm repo update
# helm repo list
# helm install stable/nginx-ingress 

技术分享图片
出现Error: no available release name found提示是因为未配置rbac

# kubectl create serviceaccount --namespace kube-system tiller
# kubectl create clusterrolebinding tiller-cluster-rule  --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# kubectl patch deploy --namespace kube-system tiller-deploy -p ‘{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}‘

技术分享图片

# helm install stable/nginx-ingress 

技术分享图片

# kubectl get pod
# kubectl get deployment
# kubectl get svc

技术分享图片

五、删除已部署的应用

# helm  list
# helm delete invisible-greyhound 
# kubectl get pod
# kubectl get deployment
# kubectl get svc

技术分享图片

K8S集群中使用Helm管理应用分发

标签:K8S集群   date   过程   依赖   sha   一起   cannot   k8s   url   

原文地址:http://blog.51cto.com/ylw6006/2136075

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!