zoukankan      html  css  js  c++  java
  • K8S学习记录

    K8S学习记录 - Helm Kubernetes 包管理器

    一、简介

    Helm 帮助您管理 Kubernetes 应用程序——Helm Charts 帮助您定义、安装和升级最复杂的 Kubernetes 应用程序。

    Helm 可以使用 Charts 启动 Kubernetes 集群,提供可用的工作流:

    • 一个 Redis 集群
    • 一个 Postgres 数据库
    • 一个 HAProxy 边界负载均衡

    特性:

    • 查找并使用流行的软件,将其打包为 Helm Charts,以便在 Kubernetes 中运行
    • 以 Helm Charts 的形式共享您自己的应用程序
    • 为您的 Kubernetes 应用程序创建可复制的构建
    • 智能地管理您的 Kubernetes 清单文件
    • 管理 Helm 包的发行版

    Chart 是 Kubernetes 的单元。

    Chart 是 Helm 的应用打包格式。chart 由一系列文件组成,

    这些文件描述了 Kubernetes 部署应用时所需要的资源,比如 Service、Deployment、PersistentVolumeClaim、Secret、ConfigMap 等。

    单个的 chart 可以非常简单,只用于部署一个服务,比如 Memcached;chart 也可以很复杂,部署整个应用,比如包含 HTTP Servers、 Database、消息中间件、cache 等。

    chart 将这些文件放置在预定义的目录结构中,通常整个 chart 被打成 tar 包,而且标注上版本信息,便于 Helm 部署。

    二、基本概念

      Helm 类似于Linux系统下的包管理器,如yum/apt等,可以方便快捷的将之前打包好的 yaml 文件快速部署进 kubernetes 内,方便管理维护。

    • helm:一个命令行下客户端工具,主要用于kubernetes应用chart的创建/打包/发布已经创建和管理和远程Chart仓库。
    • Tiller:helm的服务端,部署于kubernetes内,Tiller接受helm的请求,并根据chart生成kubernetes部署文件(helm称为release),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。
    • Chart: helm的软件包,采用tar格式,其中包含运行一个应用所需的所有镜像/依赖/资源定义等,还可能包含kubernetes集群中服务定义
    • Release:在kubernetes中集群中运行的一个Chart实例,在同一个集群上,一个Chart可以安装多次,每次安装均会生成一个新的release。
    • Repository:用于发布和存储Chart的仓库

      helm的作用:像centos7中的yum命令一样,管理软件包,只不过helm这儿管理的是在k8s上安装的各种容器。

      tiller的作用:像centos7的软件仓库一样,简单说类似于/etc/yum.repos.d目录下的xxx.repo。

    参考资料:

    Helm Kubernetes 包管理器

    玩K8S不得不会的HELM

    k8s的chart学习(上)

    k8s的chart学习(下)

    harbor管理 helm-charts

    k8s的charts的四种安装方式及helm私有仓库

  • 相关阅读:
    CSS使用规则总结
    python虚拟机内存泄露?
    对象内存池
    由引擎接口自顶向下的设计引擎结构
    【译】Lesson 0: 开始学习WebGL
    【译】Lesson 1: 一个三角形和一个方块
    网盘中搭建git服务
    行为树(Behavior Tree)
    显卡参数大全
    VTune 备忘
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/14845204.html
Copyright © 2011-2022 走看看