热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

helmV3版本

1、引入(1)之前方式部署应用基本过程*编写yaml文件**deployment**Service**Ingress(负载均衡、

1、引入

(1)之前方式部署应用基本过程

* 编写yaml文件

** deployment

** Service

** Ingress (负载均衡、域名)

缺点:如果使用之前的方式部署单一应用,少数服务的应用,比较合适。比如部署微服务项目,可能有几十个项目,每个服务都有一套yaml文件,需要维护大量的yaml文件,版本管理特别不方便

2、helm介绍

使用helm可以解决哪些问题?

(1)使用helm可以把这些yaml作为一个整体管理

(2)实现yaml高效复用

(3)使用helm应用级别的版本管理

3、helm具体介绍

Helm是一个Kuberntes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。

4、Helm三个重要概念

(1)helm 是一个命令行的客户端工具

(2)Chart 把yaml打包,应用描述,一系列用于描述k8s资源相关文件的集合

(3)Release 基于chart部署实体,一个chart被Helm运行后将会生成对应的一个release:将在k8s中创建出真实运行的资源对象

5、helm在2019年发布V3版本,和之前版本相比有变化

(1)v3版本删除Tiller     架构变化

(2)release可以在不同命名空间重用

(3)将chart推送到docker仓库中

6、helm架构变化

将tiller删除,在外部添加kube-config模块

1、helm安装

第一步 下载helm安装压缩文件,上传到Linux系统中

第二步 解压helm压缩文件,把解压之后helm目录复制到usr/bin目录下

2、配置helm仓库

(1)添加仓库

helm repo add 仓库名称 仓库地址

3、使用helm快速部署应用

第一步 使用命令搜索应用

helm search repo 名称 (weave)

第二步 根据搜索内容选择安装

helm install 安装之后的名称 搜索之后应用名称
* 查看应用之后的状态
helm list
helm status 安装之后名称

* 修改service的yaml文件,type改为NodePort

如何自己创建Chart

1、使用命令创建chart

helm create chart 名称

* Chartyaml:当前chart属性配置信息
* template: 编写yaml文件放到这个目录中
* values.yaml: yaml文件可以的使用全局变量

2、在templates文件夹创建两个yaml文件

* deployment.yaml

* service.yaml

3、安装mychart

4、应用升级

helm upgrade chart 名称

 通过传递参数的方式实现yaml文件的高效复用

* 通过传递参数,动态渲染模板,yaml内容动态传入参数生成

在下面的文件中定义全局变量的值

1、在values.yaml定义变量和值

2、在具体yaml文件中,获取定义的变量的值

* yaml文件中大体上有这些地方不同

** image

** tag

** label

** port

** replicas

一、在values.yaml定义变量和值

二、在template的yaml文件中使用values.yaml定义变量

* 通过表达式形式使用全局变量

* {{ .Values.变量名称 }}

{{ .Release.Name }} # 取到当前版本名称

 

 


推荐阅读
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 深入解析Spring Cloud微服务架构与分布式系统实战
    本文详细介绍了Spring Cloud在微服务架构和分布式系统中的应用,结合实际案例和最新技术,帮助读者全面掌握微服务的实现与优化。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • Spring Cloud因其强大的功能和灵活性,被誉为开发分布式系统的‘一站式’解决方案。它不仅简化了分布式系统中的常见模式实现,还被广泛应用于企业级生产环境中。本书内容详实,覆盖了从微服务基础到Spring Cloud的高级应用,适合各层次的开发者。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景&# ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 理解远程服务调用:RPC与HTTP
    本文深入探讨了远程服务调用中的两种主流技术——RPC(远程过程调用)与HTTP(超文本传输协议),分析了它们的工作原理、特点及适用场景。 ... [详细]
  • 深入理解Docker网络管理
    本文介绍了Docker网络管理的基本概念,包括为什么需要Docker网络管理以及Docker提供的多种网络驱动模式。同时,文章还详细解释了Docker网络相关的命令操作,帮助读者更好地理解和使用Docker网络功能。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
author-avatar
会说话的鱼911
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有