前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『Helm v3快速入门』

『Helm v3快速入门』

作者头像
yeedomliu
发布2020-12-15 10:35:03
1.2K0
发布2020-12-15 10:35:03
举报
文章被收录于专栏:yeedomliu

『Helm v3快速入门』

1. Helm 概述

为什么需要 Helm?

部署一个应用需要的资源描述文件
  1. Deployment
  2. Service
  3. Configmap
  4. Ingress
  5. …………
现实情况
  • 而对于一个复杂应用,组成应用的服务可能多达十几个、几十个
  • 更新、回滚应用的需求
  • 需要修改大师资源文件
面临的挑战
  1. 如何将这些服务作为一个整体管理
  2. 这些资源文件如何高效复用
  3. 不支持应用级别的版本管理

Helm 介绍

  • Kubernetes 的包管理工具。就像 linux 下的 yum/apt 等,可以很方便的将之前 打包好的 yaml 文件部署到 Kubernetes 上
  • Helm 有两个重要概念
  1. Helm:一个命令行客户端工具,用于 Kubernetes 应用 chart 的创建、打包、发布和管理
  2. Chart:应用描述,一系列用于描述 k8s 资源相关文件的集合
  3. Release:基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release;将在 k8s 中创建出真实运行的资源对象

Helm v3变化

  • 2019年11月13日发布 v3第一个稳定版本
  • 主要变化
  1. 架构变化:Tiller原先作为一个 pod 在集群中部署, v3版本将其删除。v3直接用 Helm 客户端就可以了。
  1. Release 名称可以在不同命名空间重用
  2. 支持将 Chart 推送到 Docker 镜像仓库中
  3. 使用 JSONSchema 验证 chart values
  4. 其它

1)为了更好地协调其他包管理者的措辞Helm CLI个别更名

代码语言:javascript
复制
helm delete 更名为 helm uninstall
helm inspect 更名为 helm show
helm fetch 更名为 helm pull

2)移除了用于本地临时搭建Chart Repositoryhelm serve命令

3)自动创建名称空间

4)不再需要 requirements.yaml,依赖关系是直接在 chart.yaml 中定义


2. Helm 基本应用

Helm 部署及常用命令

  • 下载地址:https://github.com/helm/helm/releases
代码语言:javascript
复制
brew install helm

命令

描述

create

创建一个 chart 并指定名字

dependency

管理 chart 依赖

get

下载一个 release。可用子命令:all、hooks、manifest、notes、values

history

获取 release历史

install

安装一个 chart

list

列出 release

package

将 chart 目录打包到 chart 存储文件中

pull

从远程仓库中下载 chart 并解压到本地 # helm pull stable/redis --untar

repo

添加(add),列出(list),移除(remove),更新(remove)和索引(index)chart 仓库

rollback

从之前版本回滚

search

根据关键字搜索 charts。可用子命令:hub、repo

show

查看 chart 详细信息。可用子命令:all、chart、readme、values

status

显示已命名版本的状态

template

本地呈现模板

uninstall

卸载一个 release

upgrade

更新一个 release

version

查看 helm 客户端版本

配置国内 Chart 仓库
  1. 阿里云仓库(https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts )
  2. 官方仓库(https://hub.kubeapps.com/charts/incubator)官方chart仓库,国内有点不好使。
  • 命令
代码语言:javascript
复制
Usage:
  helm repo [command]

Available Commands:
  add         add a chart repository
  index       generate an index file given a directory containing packaged charts
  list        list chart repositories
  remove      remove one or more chart repositories
  update      update information of available charts locally from chart repositories
  • 添加仓库
代码语言:javascript
复制
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo update
  • 查看配置的存储库
代码语言:javascript
复制
$ helm repo list
NAME    URL
aliyun  https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
代码语言:javascript
复制
helm search repo redis
NAME            CHART VERSION   APP VERSION DESCRIPTION
aliyun/redis    1.1.15          4.0.8       Open source, advanced key-value store. It is of...
aliyun/redis-ha 2.0.1                       Highly available Redis cluster with multiple se...
aliyun/sensu    0.2.0                       Sensu monitoring framework backed by the Redis ...
  • 删除存储库
代码语言:javascript
复制
$ helm repo remove aliyun
"aliyun" has been removed from your repositories

Helm 基本使用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yeedomliu 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 『Helm v3快速入门』
    • 1. Helm 概述
      • 为什么需要 Helm?
      • Helm 介绍
      • Helm v3变化
    • 2. Helm 基本应用
      • Helm 部署及常用命令
      • Helm 基本使用
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档