• 【Helm三部曲】 Helm 简介及安装


    Helm 是为管理K8S 中的应用而提供的工具。它把 K8S 中的每一个应用抽象为一个 chart ,Chart 中定义了该应用的所有组件的配置文件。使用它能帮助开发人员更加轻量、便捷地使用K8S。Helm 官方介绍如下。
    在这里插入图片描述
    原文:

    Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.

    Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.

    译文:

    Helm 帮助您管理 Kubernetes 应用程序——Helm Charts 帮助您定义、安装和升级甚至是最复杂的 Kubernetes 应用程序。
    Charts易于创建、版本化、共享和发布 - 所以开始使用 Helm 并停止复制和粘贴。

    简介

    当前(2022-09-25)Helm 维护着两个重要版本。

    V3 提供了多种语言支持,如中文文档可以跳转到Helm 中文文档。V3 官网首页如下图所示
    在这里插入图片描述

    Helm 将 K8S 中的应用抽象打包为Chart,如下图 App01 包含 svc 、db 和 ctl 三个服务,Helm 将它们的配置文件分别抽取出来,组成一个集合,并用Helm 特有的组织方式存储在一个文件夹中,再配置上一些Helm 的特有配置文件,就形成了一个Chart 包。

    可以发现,这和 Docker 镜像 打包一个简单应用一样。

    区别在于 Docker 管理一个独立的应用,而 Helm 管理一组有关联的应用。

    在这里插入图片描述

    Helm 为BS架构,即整个软件分为服务端和客户端两部分。

    服务端负责存储和管理不同或不同版本的Charts,官方提供的工具是 chartmuseum ,翻译过来就是 chart 图书馆,即 chart 仓库;

    客户端负责开发人员或管理员与Helm 交互,HELM 支持HELM-CLI 和 图形化界面两种方式。Helm-CLI 即官方提供的 helm 命令;图形化界面有 chartmuseumUi 、KubApp 等。

    安装

    安装官方文档 快速入门指南 ,安装 Helm 需要三个条件
    在这里插入图片描述
    其实不然,Helm 只是K8S 的包管理用具,不像依赖于 K8S ,可以独立安装与运行,独立安装的 Helm 拥有其完整特性,只是不能将 chart 部署到 K8S 集群中。

    因此,若只想学习 Helm ,不用安装 K8S 就可以,如果想学习 Helm 与 K8S 之间应用的部署、升级等操作,建议安装 K8S 集群环境。

    安装方式

    官方安装文档 https://helm.sh/zh/docs/intro/install/

    1、二进制安装包

    前往 Helm 二进制包 (https://github.com/helm/helm/releases) 下载需要的helm二进制文件即可。
    在这里插入图片描述

    下载完成后解压,再当前文件夹 执行 helm -h 即可看到 Helm 命令行提示。
    如果要想再任何地方都能访问到helm,只需要将 helm 暴露在环境变量中即可,Win 将 helm 加入到环境变量Path 中,linux 中将 helm 路径配置到 PATH 中。

    2、脚本安装

    $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    $ chmod 700 get_helm.sh
    $ ./get_helm.sh
    
    

    3、各平台包管理器安装

    • Mac OS
    brew install helm
    
    • Windowns OS (需要安装 Chocolatey )
    choco install kubernetes-helm
    
    • Scoop (Windows)
    scoop install helm
    
    • Apt (Debian/Ubuntu)
    curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
    sudo apt-get install apt-transport-https --yes
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
    sudo apt-get update
    sudo apt-get install helm
    
    • Snap
    sudo snap install helm --classic
    
    • pkg (FreeBSD)
    sudo pkg install helm
    

    安装成功后可远行命令helm version校验是否成功

    $ helm version
    version.BuildInfo{Version:"v3.9.3", GitCommit:"414ff28d4029ae8c8b05d62aa06c7fe3dee2bc58", GitTreeState:"clean", GoVersion:"go1.17.13"}
    
    

    总结

    本文介绍了 Helm ,及 Helm (命令行工具) 的安装。关于 Helm 仓库服务 chartmuseum 及 chartmuseumUI 的安装见:

  • 相关阅读:
    RabbitMq(二)
    【Vue】组件封装小技巧 — 利用$listener和v-on接收父组件传递的事件
    Rust中的闭包
    竞赛 基于设深度学习的人脸性别年龄识别系统
    SCI论文还迟迟动不了笔?2/3区仅1个月25天录用,看看经验之谈
    [k8s源码]1.client-go集群外部署
    图解:Go Mutext
    codeforces-1734C - Removing Smallest Multiples
    混合 MPC:ABY 架构
    详细介绍Webpack5中的Plugin
  • 原文地址:https://blog.csdn.net/m0_47406832/article/details/127007662