为什么要使用Helm?

  • 如果我们仅仅部署一些不同的业务,例如nginx或者mysql用yaml文件创建可能就足够了,但是如果我们开发的是微服务架构,组成应用的服务可能多达十几个甚至几十个上百个,yaml文件的部署方式显然就捉襟见肘了。
  1. 很难管理、编辑和维护如此多的服务。
  2. 不容易将这些服务作为一个整体统一发布。
  3. 不能高效地共享和重用服务。
  4. 不支持应用级别的版本管理。
  5. 不支持对部署应用状态进行验证。
  • 但是Helm就可以轻松地解决以上这几种问题,帮助K8S称为微服务架构应用理想的部署平台。

Helm架构

Chart

  • chart是创建一个应用的信息结合,包括各种K8S对象配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元,可以吧chart理解成yum apt等软件安装包。

Release

  • release是chart的运行实例,代表一个正在运行的应用。当chart被安装在K8S群集中时,就会生成一个release。chart可以多次安装到同一个群集,每次安装就是一个release。

Helm功能

  • 从0创建新的chart
  • 与存储chart的仓库交互,拉取、保存和更新chart
  • 在K8S群集中安装和卸载release
  • 更新、回滚和测试release

Helm组件

Tiller Server
  • 功能:
  1. 监听来自Helm客户端的请求
  2. 通过chart构建release
  3. 在K8S中安装chart,并追踪release的状态
  4. 通过API升级或卸载已有的release
Helm Client
  • 功能:
  1. 在本地开发chart
  2. 管理chart仓库
  3. 与Tiller服务器交互
  4. 在远程K8S群集中安装chart
  5. 查看release信息
  6. 升级或卸载已有的release
总结
  • Helm Client负责管理chart,Tiller Server负责管理release。

Helm安装与基本使用

V2版本与V3版本区别

  • V2
    在这里插入图片描述
  • V3
    在这里插入图片描述
  • Helm V3变化:
  1. 整体架构改变,除去了Tiller,Helm直接通过Kubeconfig连接Apiserver。
  2. release名称可以在不同命名空间内重用。
  3. chart支持放到Docker镜像仓库。

Helm安装

  • 在GitHub上下载helm-v3.0.0-linux-amd64.tar.gz安装
tar -zxvf helm-v3.0.0-linux-amd64.tar.gz -C /opt
mv /opt/linux-amd64/helm /usr/local/bin

在这里插入图片描述

  • 配置helm源
 helm repo add stable http://mirror.azure.cn/kubernetes/charts/
 helm repo list

在这里插入图片描述

  • 查看helm软件包
 helm search repo mysql

在这里插入图片描述

  • helm安装软件包(安装weave scope)
 helm install web-ui stable/weave-scope

在这里插入图片描述

  • 查看Pod
 kubectl get pods
 helm list

在这里插入图片描述

  • 修改NodePort,使其访问WebUI
 kubectl get svc
 kubectl edit svc web-ui-weave-scope

在这里插入图片描述
在这里插入图片描述

  • 访问192.168.18.30:47763即可
    在这里插入图片描述

Weave Scope简介

  • Weave Scope是Docker和Kubernetes可视化监控工具。Scope提供了自上而下的群集基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时的监控和问题诊断。

Chart创建

  • 创建一个chart目录
 helm create mychart

在这里插入图片描述- 删除templates里面的文件,添加我们所需要部署的yaml文件,即可完成部署了。

 helm install [name] mychart/
  • 后面我会为大家介绍chart的详细用法,请注意关注后面的博客更新。

总结

  • Helm的使用手法像极了apt和yum,用Helm管理K8S的应用真的是非常方便。
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐