使用helm管理复杂kubernetes应用
1. 查看仓库:
$ helm repo list
NAME URL
stable https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts/
local http://127.0.0.1:8879
incubator https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
启动本地仓库:
$ helm serve&
[1] 15148
Regenerating index. This may take a moment.
Now serving you on 127.0.0.1:8879
2. 创建helm应用
helm create test-chart
结构如下:
├─test-chart
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── NOTES.txt
│ └── service.yaml
└── values.yaml
简单更改 values.yaml 配置如下
replicaCount: image:
repository: daemonza/test
tag: latest
pullPolicy: IfNotPresent service:
name: test
type: ClusterIP
internalport:
externalPort: resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
更改Chart.yaml 配置如下
apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: test-chart
version: 0.1.
3. 将test-chart打包
$ helm package test-chart
Successfully packaged chart and saved it to: D:\zhuojian-projects\rubik-T\health-doc\详细设计\helm\test-chart-0.1..tgz
打包的同时,会拷贝一份生成的 tgz 文件到本地仓库。
4. 如法炮制2个 chart 包:test-chart2, test-chart3,且进行打包。
$ helm search test
NAME CHART VERSION APP VERSION DESCRIPTION
local/test-chart 0.2. 1.0 A Helm chart for Kubernetes
local/test-chart2 0.1. 1.0 A Helm chart for Kubernetes
local/test-chart3 0.2. 4.0 A Helm chart for Kubernetes
5. 假设test-chart依赖:0.1.0版本的test-chart2, 0.2.0版本的test-chart3,针对包依赖关系的描述,可以使用文件 requirements.yaml,内容如下:
dependencies:
- name: test-chart2
version: "0.1.0"
repository: http://127.0.0.1:8879
- name: test-chart3
version: "0.2.0"
repository: http://127.0.0.1:8879
chart 目录如下
├─test-chart
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── NOTES.txt
│ ├── requirements.yaml
│ └── service.yaml
└── values.yaml
然后执行以下命令,将对应的依赖包下载到test-chart的charts目录下:
$ helm dep update test-chart
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "local" chart repository
...Successfully got an update from the "stable" chart repository
...Successfully got an update from the "incubator" chart repository
Update Complete.
Saving charts
Downloading test-chart2 from repo http://127.0.0.1:8879
Downloading test-chart3 from repo http://127.0.0.1:8879
Deleting outdated charts
执行完之后,再次查看test-chart目录结构,会发现依赖包已经下载下来了:
├─test-chart
├── charts
│ ├── test-chart2-0.1..tgz
│ ├── test-chart3-0.2..tgz
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── NOTES.txt
│ ├── requirements.yaml
│ └── service.yaml
└── values.yaml
将 test-chart2-0.1.0.tgz 解压缩,会发现也是一个完整的 test-chart2 的实例。
然后可以使用 helm 将 test-chart 安装部署,至此,就完成了 helm 对具有复杂依赖关系的 kubernetes 应用的管理。
使用helm管理复杂kubernetes应用的更多相关文章
- Helm 安装部署Kubernetes的dashboard
Kubernetes Dashboard 是 k8s集群的一个 WEB UI管理工具,代码托管在 github 上,地址:https://github.com/kubernetes/dashboard ...
- Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET
Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...
- 如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理
这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程. 话不多说,just do it. 新建项目 ...
- Docker集群管理工具 - Kubernetes 部署记录 (运维小结)
一. Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...
- docker集群管理之kubernetes
一.简介 kubernetes又叫做k8s,是Google开发的一款开源的docker集群管理工具,在这里对它的“发家史”,我不做过多的阐述,有时间大家可以自己去百度一下: 下面我要讲的就是容易混淆的 ...
- kubernetes:用kubeadm管理token(kubernetes 1.18.3)
一,token的用途: 1,token是node节点用来连接master节点的令牌字串, 它和ca证书的hash值是把一台node节点加入到kubernetes集群时要使用的凭证 2, 通过kubea ...
- K8S各知识点整理
一.k8s组成部分 Master 1. kube-apiserver 封装了核心对象的增删改查操作,以REST API接口方式提供给外部和内部组件调用.它维护的REST对象将持久化到Etcd中 2 ...
- Kubernetes学习之路(二十五)之Helm程序包管理器
目录 1.Helm的概念和架构 2.部署Helm (1)下载helm (2)部署Tiller 3.helm的使用 4.chart 目录结构 5.chart模板 6.定制安装MySQL chart (1 ...
- Helm - Kubernetes包管理专家
What is Helm? - The package manager for kubernetes, Helm is the best way to find, share, and use sof ...
随机推荐
- iptables 【转载】
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...
- keyword:react native bridge
js engine native react native bridge https://cn.bing.com/images/search?view=detailV2&id=AAF39636 ...
- handle句柄
若是你向我问起 Win32 程序设计中印象最深(最坑爹)的一个概念是什么,那么我会毫不犹豫地告诉你——句柄(Handles).究其原因,无论是 MSDN 还是 维基百科,对于“句柄”这个词的解说都显得 ...
- 01 .NET CORE 2.2 使用OCELOT -- 简单使用
目前参考两篇文章,已实现基本的ocelot的网关功能. https://www.cnblogs.com/xlxr45/p/11320988.html https://www.jianshu.com/p ...
- 兼容 .NET Core3.0, Natasha 框架实现 隔离域与热编译操作
关于 Natasha 动态构建已经成为了封装者们的家常便饭,从现有的开发趋势来看,普通反射性能之低,会迫使开发者转向EMIT/表达式树等构建方式,但是无论是EMIT还是表达式树,都会依赖于反射的 ...
- python机器学习---线性回归案例和KNN机器学习案例
散点图和KNN预测 一丶案例引入 # 城市气候与海洋的关系研究 # 导包 import numpy as np import pandas as pd from pandas import Serie ...
- Logstash——multiline 插件,匹配多行日志
本文内容 测试数据 字段属性 按多行解析运行时日志 把多行日志解析到字段 参考资料 在处理日志时,除了访问日志外,还要处理运行时日志,该日志大都用程序写的,比如 log4j.运行时日志跟访问日志最大的 ...
- Java生成前三位是字母循环的字典
title: Java生成前三位是字母循环的字典 date: 2018-08-17 18:52:22 tags: Java --- 最近要破解一个秘密,还好这个密码是有线索的,已知密码的前三位是三个字 ...
- 25. Apache Shiro Java反序列化漏洞
前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shiro反序列化的漏洞, ...
- 十、lambda表达式、内置函数之filter、map、reduce
lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 == : name = 'wupeiqi' else: name = 'ale ...