• helm2.0安装及部署


    1. 一、helm简介

    Helm是Deis (https://deis.com/) 开发的一个用于kubernetes的包管理器。每个包称为一个Chart,一个Chart是一个目录(一般情况下会将目录进行打包压缩,形成name-version.tgz格式的单一文件,方便传输和存储)。
    Helm提供了kubernetes上的软件部署,删除,升级,回滚应用的强大功能。可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。

    1. 二、Helm 组件及相关术语

    Helm
    Helm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。

    Tiller
    Tiller 是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。

    Chart
    Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。

    Repoistory
    Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。

    Release
    使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。

    . 三、helm工作原理
    在这里插入图片描述

    Chart Install 过程:

    Helm从指定的目录或者tgz文件中解析出Chart结构信息
    Helm将指定的Chart结构和Values信息通过gRPC传递给Tiller
    Tiller根据Chart和Values生成一个Release
    Tiller将Release发送给Kubernetes用于生成Release
    Chart Update过程:

    Helm从指定的目录或者tgz文件中解析出Chart结构信息
    Helm将要更新的Release的名称和Chart结构,Values信息传递给Tiller
    Tiller生成Release并更新指定名称的Release的History
    Tiller将Release发送给Kubernetes用于更新Release
    Chart Rollback过程:

    Helm将要回滚的Release的名称传递给Tiller
    Tiller根据Release的名称查找History
    Tiller从History中获取上一个Release
    Tiller将上一个Release发送给Kubernetes用于替换当前Release

    四、Helm部署
    1)客户端安装

    wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz
    
    • 1
    tar -zxvf helm-v3.7.1-linux-amd64.tar.gz
    
    • 1

    在这里插入图片描述

    mv helm /usr/local/bin/helm
    helm help
    
    • 1
    • 2

    在这里插入图片描述
    2)Helm 服务端安装Tiller
    注意:先在 K8S 集群上每个节点安装 socat 软件(yum install -y socat ),不然会报如下错误:

    E0522 22:22:15.492436   24409 portforward.go:331] an error occurred forwarding 38398 -> 44134: error forwarding port 44134 to pod dc6da4ab99ad9c497c0cef1776b9dd18e0a612d507e2746ed63d36ef40f30174, uid : unable to do port forwarding: socat not found.
    Error: cannot connect to Tiller
    
    • 1
    • 2

    Tiller 是以 Deployment 方式部署在 Kubernetes 集群中的,只需使用以下指令便可简单的完成安装。

    $ helm init
    
    • 1
  • 相关阅读:
    nsight computer运行失败问题
    day29-JQuery02
    快速搭建 SpringCloud Alibaba Nacos 配置中心
    WEB前端网页设计 HTML CSS 网页设计参数 - 【浏览器背景图片】
    【OneDrive篇】OneDrive禁用个人保管库(网页端)
    2023亚太杯数学建模B题思路解析
    代码随想录算法训练营20期|第三十天|332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结
    点成分享 | 水浴设备在食品生物活性测定中的应用
    mac 通过SQLiteStudio来实时可视化查看Android Studio内的SQLite数据库
    springboot证书管理系统的设计与实现毕业设计源码162317
  • 原文地址:https://blog.csdn.net/weixin_41709748/article/details/128110459