【kubernetes】Helm包管理器基本概念与Chart实战

概念:基础架构与常用命令

三个重要概念:
1.chart 创建Kukernetes应用程序所必需的一组信息。
2.config 包含了可以合并到打包的chart中的配置信息,用于创建一个可发布的对象。
3.release 是一个与特走配置相结合的chart的运行实例。

常用命令

# 查看镜像仓库
helm repo list

# 基于仓库/远程hub 来搜索关键词 chart
helm search repo/hub [chart名]

# 拉取远程仓库中的 chart 到本地
helm pull

# 在本地创建新的 chart
helm create

# 管理 chart 依赖
helm dependency

# 安装 chart
helm install

# 列出所有 release
helm list

# 检査 chart 配置是否有误
helm lint

# 打包本地 chart
helm package

# 回滚 release 到历史版本
helm rollback

# 卸载 release
helm uninstall

# 升级 release
helm upgrade

Chart实战1:Redis主从模式搭建

1、修改 helm 源

#查看默认仓库
helm repo list

# 添加仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyun https://apphub.aliyuncs.com/stable
helm repo add azure http://mirror.azure.cn/kubernetes/charts

2、搜索 redis chart

# 搜索redis
helm search repo redis

# 显示结果 描述包含‘DEPRECATED’的,表示不可以,已经过期
NAME                           	CHART VERSION	APP VERSION	DESCRIPTION                                       
azure/prometheus-redis-exporter	3.5.1        	1.3.4      	DEPRECATED Prometheus exporter for Redis metrics 

主要:描述包含DEPRECATED的,表示不可以用,已经过期

# 查看相关内容的信息
helm show readme bitnami/redis

# 拉取到本地,一般为xxx.tgz文件
helm pull bitnami/redis

# 解压.tgz文件
tar -xzf xxx.tgz

3、修改配置安装
修改value.yaml文件。

# 修改storageClass为managed-nfs-storage
# 设置 redis 密码 password
# 修改集群架构 architecture,默认是主从(replication,3个节点),可以修改为 standalone 单机模式
# 修改实例存储大小 persistence,size 为需要的大小
# 修改 service.node Ports.redis 向外暴露端口,范围<30000-32767>
# 创建一个新的命名空间
kubectl create namespace  [namespace名]

# 将更改配置后的,下载的redis 进行安装
helm install  redis[实例名] ./redis/[下载,更改的目录地址] -n [namespace名]

安装完成后,按返回的提示操作:
在这里插入图片描述
集群搭建完。

4、查看安装情况

# 查看 helm 安装列表
helm list

# 查看 redis 命名空间下所有对象信息
kubectl get all -n redis

Chart实战2:应用升级,回滚,卸载

升级
和安装配置方式一样,(略…)

回滚

# 查看可以回滚的版本
kubectl history redis[实例名]  -n [namespace名]

# 回滚位置
kubectl rollback redis[实例名]  [版本序号] -n [namespace名]
#Rollback was a success! Happy Helming!

卸载

kubectl delete redis[实例名] -n [namespace名]

注意:
删除应用后,但是集群的pvc并没有删除,确保数据的安全。
如果依然要把删掉数据,需要命令:kubectl delete pvc [pvc名]

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes HelmKubernetes 中最流行的管理工具,它能够帮助开发者在 Kubernetes 集群中部署、升级和管理应用程序。使用 Helm 可以方便地管理 Kubernetes 资源的模板文件,并且可以将这些模板与配置值结合起来,生成可复用的软件。本文将提供 Helm 的一些基本命令和示例操作。 一、安装 Helm 要安装 Helm,需要下面的几项: 1. 安装 Helm 客户端 ``` brew install helm # Mac choco install kubernetes-helm # Windows apt-get update && apt-get install -y helm # Ubuntu/Debian yum update && yum install -y helm # Centos/RedHat ``` 2. 创建并加入 Helm 仓库 Helm 软件仓库中存储了 Helm Charts,用户从仓库中获取 Charts 以及创建 Charts 进行分发。使用以下命令将官方仓库添加到 Helm。 ``` helm repo add stable https://kubernetes-charts.storage.googleapis.com/ ``` 二、Helm 常用命令 以下是 Helm 中的一些常用命令: 1. helm install 使用 helm install 安装一个 Chart。 ``` helm install [RELEASE NAME] [CHART] [FLAGS] ``` RELEASE NAME:定义一个 Chart 使用的名称。 CHART:定义要使用的 Chart 名称。 FLAGS:一些额外的自定义参数。 例如,安装 Redis 的 Chart。 ``` helm install redis stable/redis ``` 2. helm upgrade 使用 helm upgrade 命令来更新已部署的 Charts。 ``` helm upgrade [RELEASE NAME] [CHART] [FLAGS] ``` RELEASE NAME:定义一个 Chart 使用的名称。 CHART:定义要使用的 Chart 名称。 FLAGS:一些额外的自定义参数。 例如,更新已经安装的 Redis Chart。 ``` helm upgrade redis stable/redis ``` 3. helm list 使用 helm list 命令列出运行在 Kubernetes 集群中的 Charts。 ``` helm list ``` 4. helm delete 删除指定的 Chart。 ``` helm delete [RELEASE NAME] ``` RELEASE NAME:定义一个 Chart 使用的名称。 例如,删除 Redis Chart。 ``` helm delete redis ``` 三、Helm 示例 假设我们要使用 HelmKubernetes 集群中部署 WordPress 应用程序。 1. 安装 MySQL 首先需要安装 MySQL。使用 helm install 命令安装 MySQL。 ``` helm install my-mysql stable/mysql ``` 可以使用以下命令检查 my-mysql 是否安装成功。 ``` helm list ``` 2. 应用程序的 Chart 编写 WordPress 应用程序的 Chart,名称为 wordpress。 ``` apiVersion: v1 kind: Service metadata: name: wordpress spec: type: LoadBalancer ports: - name: http port: 80 targetPort: 80 selector: app: wordpress --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress spec: selector: matchLabels: app: wordpress replicas: 1 template: metadata: labels: app: wordpress spec: containers: - name: wordpress image: wordpress:4.9.4-php7.0-apache ports: - containerPort: 80 env: - name: WORDPRESS_DB_HOST value: my-mysql - name: WORDPRESS_DB_PASSWORD value: my-mysql-password - name: WORDPRESS_DB_USER value: root --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wp-pv-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi ``` 3. 安装 WordPress 使用以下命令安装 WordPress。 ``` helm install my-wordpress ./wordpress \ --set service.type=LoadBalancer \ --set ingress.enabled=true \ --set ingress.hosts[0].name=my-wordpress.local \ --set ingress.hosts[0].path=/ \ --set persistence.enabled=true \ --set persistence.existingClaim=wp-pv-claim \ --set db.host=my-mysql \ --set db.user=root \ --set db.password=my-mysql-password \ --set db.name=wordpress ``` 这个命令在指定了一些参数之后使用 helm install 安装 WordPress。 4. 连接 连接到 my-wordpress.local 并访问 WordPress。 ``` kubectl get ingress ``` 可以使用以下命令查看 Ingress 的 IP 地址。 ``` kubectl get services -o wide -n ingress-nginx ``` 打开浏览器并输入 my-wordpress.local 的 IP 地址,可以查看 WordPress 页面。 以上就是 Helm 的一些基本操作和示例。虽然 Helm 看起来比较复杂,但是一旦熟悉了基本命令,其实用起来非常方便。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值