kubernetes系列(十六) - Helm安装和入门
2021-01-21 09:14
标签:hub 动态插入 使用 准备 wget redis 清单 通过 这一 在没使用helm之前,向 可以理解为docker的image 可以理解为docker的container实例 做为 https://github.com/helm/helm/tags 可以直接使用官方的chart仓库或者其他仓库来安装一些 https://hub.helm.sh https://hub.helm.sh/charts/choerodon/redis 安装完成! 有没有很简单!! 这一节介绍以下如何自定义一个chart,并应用与平时项目中 一个基本的自定义chart的文件目录结构大概是如上: 第一步: 准备自定义chart相关文件 第二步: 使用上面的自定义chart kubernetes系列(十六) - Helm安装和入门 标签:hub 动态插入 使用 准备 wget redis 清单 通过 这一 原文地址:https://www.cnblogs.com/baoshu/p/13296659.html
1. helm简介
1.1 为什么需要helm
kubernetes
部署应用,我们要依次部署deployment
,service
,configMap
等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂.helm
通过打包的方式,支持发布的版本管理和控制,很大程度上简化了Kubernetes
应用的部署和管理1.2 helm中几个概念
Helm
可以理解为Kubernetes
的包管理工具,可以方便地发现、共享和使用为Kubernetes
构建的应用,它包含几个基本概念
Kubernetes
集群上运行的 Chart
的一个实例。在同一个集群上,一个 Chart
可以安装很多次。每次安装都会创建一个新的release
1.3 helm用途
Kubernetes
的一个包管理工具,Helm具有如下功能:
chart
chart
打包成tgz
格式chart
到chart
仓库或从仓库中下载 chart
chart
仓库是: https://hub.helm.shKubernetes
集群中安装或卸载chart
Helm
管理安装的chart
的发布周期
2. helm安装
helm v3.2.4
,如需下载更新的版本,可以至github官方repo选择
# 如无需更换版本,直接执行下载
wget https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
# 解压
tar -zxvf helm-v3.2.4-linux-amd64.tar.gz
# 进入到解压后的目录
cd linux-amd64/
# 赋予权限
chmod a+x /usr/local/bin/helm
# 查看版本
helm version
3. helm的基本使用
Helm v3
,因为v3
版本和v2
某些命令方面差距蛮大的,不完全兼容!!所以针对v2
的操作这里就不赘述了3.1 安装chart仓库里面的chart
chart
# 添加仓库
helm repo add choerodon https://openchart.choerodon.com.cn/choerodon/c7n
# 安装
helm install choerodon/redis --version 0.2.5
3.2 创建自定义的chart
3.2.1 文件目录结构
.
├── Chart.yaml
├── templates
| ├── deployment.yaml
| └── service.yaml
├── values.yaml
chart
的基本metadata, 比如name,tag啥的
变量模版语法
template
下的yaml资源清单使用3.2.2 自定义chart的示例
# 1. 新建一个文件夹demo存放chart
mkdir demo && cd demo && mkdir templates
# 2. 新建Chart.yaml
cat Chart.yaml
name: hello-world
version: 1.0.0
EOF
# 3. 新建./templates/deployment.yaml
# 注意image部分使用了变量的模板语法,可以动态插入
cat ./templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: tocgenerator-deploy
labels:
app: tocgenerator-deploy
spec:
replicas: 1
selector:
matchLabels:
app: tocgenerator-server
template:
metadata:
labels:
app: tocgenerator-server
spec:
containers:
- name: tocgenerator
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
EOF
# 4. 新建./templates/service.yaml
cat ./templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: tocgenerator-svc
spec:
type: NodePort
selector:
app: tocgenerator-server
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30075
EOF
# 5. 新建values.yaml
cat values.yaml
image:
repository: lzw5399/tocgenerator
tag: ‘951‘
EOF
# 将chart实例化成release
# 格式:helm install [RELEASE-NAME] [CHART-PATH]
helm install testname .
# 查看release
helm ls
# 安装成功!!
3.3 helm的基本操作补充
3.3.1 查看release
# 列出已经部署的Release
helm ls
# 查询一个特定的Release的状态
helm status
3.3.2 安装release
# 安装
helm install
3.3.3 更新release
# 更新操作, flag是可选操作
helm upgrade [FLAG]
3.3.4 卸载release
# 移除Release
helm uninstall
3.3.5 回滚release
# 更新操作, flag是可选操作
helm upgrade [FLAG]
文章标题:kubernetes系列(十六) - Helm安装和入门
文章链接:http://soscw.com/index.php/essay/44925.html