k8s包管理工具helm使用
官网:https://helm.sh/zh/官网安装:https://helm.sh/zh/docs/intro/install/安装步骤:# 官网脚本安装curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3chmod 700 get_helm.sh./get_
·
helm官网:https://helm.sh/zh/
安装(官网搬运工):
用二进制版本安装(方式一)
1.下载 需要的版本(https://github.com/helm/helm/releases)
2.解压(tar -zxvf helm-v3.5.3-linux-amd64.tar.gz)
3.在解压目中找到helm程序,移动到需要的目录中(mv linux-amd64/helm /usr/local/bin/helm)
使用脚本安装(方式二,网络好的情况下推荐)
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
查看版本helm version
[root@kube130 minikube]# helm version
version.BuildInfo{Version:"v3.5.3", GitCommit:"041ce5a2c17a58be0fcd5f5e16fb3e7e95fea622", GitTreeState:"dirty", GoVersion:"go1.15.8"}
helm基本使用
# ------(<137338-helm>为我自己的阿里云helm私有库命名空间)------
# 查看版本
helm version
#添加阿里chart仓库地址
helm repo add aliyuncs https://apphub.aliyuncs.com
# 查看仓库列表
helm repo ls
# 更新chart仓库
helm repo update
# 搜索chart
helm search repo nginx
# 拉取chart,--untar的作用是直接解压文件
helm pull aliyuncs/nginx --untar
# 查看helm目录结构
tree nginx
# 安装helm包
# 直接在线安装aliyuncs/nginx,my-nginx为release名称;service.type=NodePort表示将tomcat的service对外暴露端口的方式改为NodePort(缺省为LoadBalancer);persistence.enabled=false表示将不启用持久化存储卷,测试暂不需要使用这个
helm install my-nginx aliyuncs/nginx --set service.type=NodePort --set persistence.enabled=false
# 删除release
helm delete <name>
# 创建自己的chart
helm create my-chart
# 查看目录结构
tree my-chart
# 检查配置和模板是否有效,并打印出最终渲染的yaml文件
helm install my-chart-001 --dry-run --debug my-chart
# 使用阿里云私有helm仓库,然后按这里操作 https://repomanage.rdc.aliyun.com/my/helm-repos/namespaces
# push包到私有仓库,方式1
helm push my-chart/ 137338-helm
# push包到私有仓库,方式2
helm package my-chart
# 如 helm push my-chart-0.1.3.tgz 137338-helm
helm push <name>-<version>.tgz 137338-helm
# 拉取chart
# 如果找不到的话,执行下 helm repo update
# --version 指定版本,--untar 下载后解压缩
helm pull 137338-helm/my-chart --version 0.1.3 --untar
# 部署,方式1,本地文件目录
helm install my-chart-002 my-chart
# 部署,方式2,远程仓库
helm install my-chart-001 137338-helm/my-chart
# 查看release
helm ls
# 删除release
helm delete my-chart-002
写个简单的demo
helm文件:
# 目录结构
my-nginx
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ └── service.yaml
└── values.yaml
# 文件内容
# -------Chart.yaml-------
name: my-nginx
version: 1.0.0
# -------values.yaml-------
containers:
image: nginx:1.7.9
# -------templates/deployment.yaml-------
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: {{ .Values.containers.image }}
# -------templates/service.yaml-------
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
app: nginx
spec:
selector:
app: nginx
ports:
- name: nginx-port
protocol: TCP
port: 80
nodePort: 32600
targetPort: 80
type: NodePort
部署过程:
# 验证下
helm install my-nginx-001 --dry-run --debug my-nginx
# 部署
helm install my-nginx-001 my-nginx
# 提交到私有库
helm push my-nginx/ 137338-helm
访问查看:
阿里云私有helm仓库:
升级和回退
# ------(<137338-helm>为我自己的阿里云helm私有库命名空间)------
# 查看release
helm ls
# 查看release历史
helm history my-nginx-001
# 升级Usage: helm upgrade [RELEASE] [CHART] [flags]
# --version指定任意版本
helm upgrade my-nginx-001 137338-helm/my-nginx --version 1.0.2
# 回退Usage: helm rollback <RELEASE> [REVISION] [flags]
helm rollback my-nginx-001 1
升级
回退
更多推荐
已为社区贡献5条内容
所有评论(0)