章工运维 章工运维
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)

章工运维

业精于勤,荒于嬉
首页
  • linux
  • windows
  • 中间件
  • 监控
  • 网络
  • 存储
  • 安全
  • 防火墙
  • 数据库
  • 系统
  • docker
  • 运维工具
  • other
  • elk
  • K8S
  • ansible
  • Jenkins
  • GitLabCI_CD
  • 随笔
  • 面试
  • 工具
  • 收藏夹
  • Shell
  • python
  • golang
友链
  • 索引

    • 分类
    • 标签
    • 归档
    • 首页 (opens new window)
    • 关于我 (opens new window)
    • 图床 (opens new window)
    • 评论 (opens new window)
    • 导航栏 (opens new window)
周刊
GitHub (opens new window)
  • ansible系列文章

  • Kubernetes笔记

    • 安装篇-kubeadm
    • k8s入门
    • k8s安装篇二进制
    • k8s面试题
    • kubernetes(k8s)yaml文件详解
    • k8s报错小结
    • Kubernetes 安装配置ingress controller
    • cka考试真题
    • ingress配置证书
    • cka考试作业
    • k8s部署java项目
    • jenkins脚本式流水线部署k8s项目实例一
    • helm v3安装并创建例子
    • 使用helm将本地部署文件上传到harbor chart上
    • helm公共仓库创建
    • helm适应minio作为私有仓库
    • helm release使用说明
      • kubernetes核心概念
      • kubectl使用技巧
      • kubernetes卷的几种类型
      • kubernetes安全框架
      • 云原生-什么是HPA和PDB、VPA
      • k8s部署php项目示例
      • 配置kubeconfig 文件访问 Kubernetes 集群
      • configmap配置的几种方式
      • k8s配置go服务
      • k8s部署java项目
      • kubernetes部署prometheus监控
      • kubernetes部署elk日志系统
      • kubernetes环境devops流水线
      • kubernetes高阶技能必备的工具
      • deployment中使用configmap、secret的方式
      • 业务pod 飘移pending排查分析
    • elk

    • jenkins

    • GitLabCI_CD

    • 专题
    • Kubernetes笔记
    章工运维
    2023-06-12
    目录

    helm release使用说明

    # 一、release介绍

    在以上的章节中曾介绍过 helm 的两大术语:chart 和 release。如果可以把 chart 比作程序源码的话,那么 release 则可以看做是程序运行时的进程。

    chart 是用户可直接感知的对象(其表现形式就是 .tgz 格式的压缩包);而 release 理解起来则比较抽象,它是专属于 helm 的一个逻辑概念,用来标识在 k8s 中运行的一组资源。有了 release,helm 在操作 k8s 时,就再也不用逐个管理资源,而可以将一组相关的资源当做一个整体来操作,比如删除或升级。

    # 二、release查看

    $ helm ls
    NAME    NAMESPACE       REVISION        UPDATED STATUS  CHART   APP VERSION
    
    1
    2

    # 三、release安装

    在线安装指定的 chart,比如 nginx-ingress。

    $ helm repo add nginx-stable https://helm.nginx.com/stable
    $ helm repo update
    
    $ helm search repo nginx-ingress
    NAME                            CHART VERSION   APP VERSION     DESCRIPTION
    aliyun/nginx-ingress            0.9.5           0.10.2          An nginx Ingress controller that uses ConfigMap...
    nginx-stable/nginx-ingress      0.9.3           1.11.3          NGINX Ingress Controller
    stable/nginx-ingress            1.41.3          v0.34.1         DEPRECATED! An nginx Ingress controller that us...
    aliyun/nginx-lego               0.3.1                           Chart for nginx-ingress-controller and kube-lego
    stable/nginx-lego               0.3.1                           Chart for nginx-ingress-controller and kube-lego
    
    $ helm install mynginx-ingress nginx-stable/nginx-ingress
    NAME: mynginx-ingress
    LAST DEPLOYED: Sat Jun 12 16:17:57 2021
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    The NGINX Ingress Controller has been installed.
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20

    # 四、release更新

    如果想修改运行时 release 的配置,可以使用 --set 或者 -f 选项进行修改。

    基于命令行更新

    # mynginx-ingress 是上面创建的 release 名;nginx-stable/nginx-ingress 是在线 chart 名
    
    $ helm upgrade --set controller.hostNetwork=true mynginx-ingress nginx-stable/nginx-ingress
    Release "mynginx-ingress" has been upgraded. Happy Helming!
    NAME: mynginx-ingress
    LAST DEPLOYED: Sat Jun 12 16:20:05 2021
    NAMESPACE: default
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None
    NOTES:
    The NGINX Ingress Controller has been installed.
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    基于文件更新release

    如果想基于文件来更新 release,则首先需要将 chart 下载到本地,然后手动修改 chart 的 values.yaml 文件。

    $ helm pull nginx-stable/nginx-ingress
    # 下载 chart
    
    $ tar zxf nginx-ingress-0.9.3.tgz
    # 解压缩 chart
    
    $ sed -i 's/hostNetwork: false/hostNetwork: true/g' nginx-ingress/values.yaml
    # 修改 values.yaml 内容。比如修改 hostNetwork 的值为 true
    
    $ helm upgrade mynginx-ingress nginx-ingress -f nginx-ingress/values.yaml
    Release "mynginx-ingress" has been upgraded. Happy Helming!
    NAME: mynginx-ingress
    LAST DEPLOYED: Sat Jun 12 16:23:50 2021
    NAMESPACE: default
    STATUS: deployed
    REVISION: 3
    TEST SUITE: None
    NOTES:
    The NGINX Ingress Controller has been installed.
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    查看release更新后的新值

    $ helm get values mynginx-ingress
    
    1

    # 五、release版本

    $ helm history mynginx-ingress
    # mynginx-ingress 这个 release 各个历史版本。其中 REVISION 3 是最新的版本。
    REVISION        UPDATED                         STATUS          CHART                   APP VERSION     DESCRIPTION
    1               Sat Jun 12 16:17:57 2021        superseded      nginx-ingress-0.9.3     1.11.3          Install complete
    2               Sat Jun 12 16:20:05 2021        superseded      nginx-ingress-0.9.3     1.11.3          Upgrade complete
    3               Sat Jun 12 16:23:50 2021        deployed        nginx-ingress-0.9.3     1.11.3          Upgrade complete
    
    1
    2
    3
    4
    5
    6

    # 六、release回滚

    $ helm rollback mynginx-ingress 1
    Rollback was a success! Happy Helming!
    
    $ helm history mynginx-ingress
    REVISION        UPDATED                         STATUS          CHART                   APP VERSION     DESCRIPTION
    1               Sat Jun 12 16:17:57 2021        superseded      nginx-ingress-0.9.3     1.11.3          Install complete
    2               Sat Jun 12 16:20:05 2021        superseded      nginx-ingress-0.9.3     1.11.3          Upgrade complete
    3               Sat Jun 12 16:23:50 2021        superseded      nginx-ingress-0.9.3     1.11.3          Upgrade complete
    4               Sat Jun 12 16:29:59 2021        deployed        nginx-ingress-0.9.3     1.11.3          Rollback to 1
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    # 七、release卸载

    $ helm uninstall mynginx-ingress
    release "mynginx-ingress" uninstalled
    
    1
    2

    原文链接 (opens new window)

    微信 支付宝
    上次更新: 2023/06/13, 07:25:02

    ← helm适应minio作为私有仓库 kubernetes核心概念→

    最近更新
    01
    不花一分钱从0到1建站教程
    04-22
    02
    批量拿取多台服务器的日志文件
    04-21
    03
    高德MCP智能体搞定旅游计划
    04-19
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 | 点击查看十年之约 | 鄂ICP备2024072800号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式