• helm之chartmuseum


    1、概述

    helm使得在k8s集群里面部署应用变得更简单,就像在linux系统里面使用yum安装软件一样,helm主要是利用的chart,首先看一下chart的结构:

    # tree zipkin
    zipkin
    ├── charts
    ├── Chart.yaml
    ├── templates
    │   ├── deployment.yaml
    │   ├── _helpers.tpl
    │   ├── ingress.yaml
    │   ├── NOTES.txt
    │   └── service.yaml
    └── values.yaml

    charts: 是依赖的charts

    Chart.yaml:是chart的版本和配置信息

    templates:配置模版目录

    deployment.yaml: k8s的deployment  project

    ingress.yaml: ingress代理

    service.yaml:kubernetes  service 定义文件

    _helpers.tpl:用于修改kubernetes  object

    NOTES.txt: helm 提示信息

    values.yaml: 配置参数

    如果采用网关做代理,可以去掉ingress.yaml。直接使用ambassador和kong来实现。

    # tree zipkin
    zipkin
    ├── charts
    ├── Chart.yaml
    ├── templates
    │   ├── deployment.yaml
    │   ├── _helpers.tpl
    │   ├── NOTES.txt
    │   └── service.yaml
    └── values.yaml
    # cat Chart.yaml
    apiVersion: v1
    appVersion: "1.0"
    description: A Helm chart for Kubernetes
    name: zipkin
    version: 0.1.0

    当我们定义完chart后需要有个地方存储,就像docker的imag,存储到registry。

    需要安装helm-push plugin,默认是没有安装的。

    helm plugin install https://github.com/chartmuseum/helm-push

    首先要部署一个这样的仓库去存储chart,就是本文要介绍的chartmuseum。

    2、部署

    就是一个二进制的可执行文件,linux系统安装:

    curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum

    参考github:https://github.com/helm/chartmuseum

    启动:

    nohub chartmuseum --debug --port=8080 --storage=local --storage-local-rootdir=/data/chartmuseum --basic-auth-user=hu --basic-auth-pass=hqhelm --cache=redis --cache-redis-addr=127.0.0.1:6379 --cache-redis-db=0 >2&1 &

    使用本地存储,缓存到redis里面,所以需要提前准备好一个redis服务,并添加了用户密码认证。

    3、使用

    helm repo add  chartmuseum  http://127.0.0.1:8080 --username hu --password hqhelm --tiller-namespace tiller-world
    helm plugin install https://github.com/chartmuseum/helm-push
    helm  create  demo
    
    修改完成以后,直接上传
    helm push  demo  chartmuseum
    helm  install -n demo  chartmuseum/demo   --tiller-namespace  tiller-world  --namespace default
  • 相关阅读:
    一些小姿势
    <学习笔记>《具体数学》
    【react】报错Need at least a key or a value or a label (only for OptGroup) for [object Object]
    Calibration Checkerboard Collection
    华为云如何建表并创建作业定时调度抽取数据
    HIVE SQL教程
    postgresql 教程
    PC机启用了fiddler代理,在手机或其它机器上连接该代理,无法抓包
    Unity3d的Scroll View组件不能滑动到底的解决方式
    Unity3d让GridLayoutGroup按照子物体的数量自动调整宽高
  • 原文地址:https://www.cnblogs.com/cuishuai/p/9836600.html
Copyright © 2020-2023  润新知