热门标签 | 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 }} # 取到当前版本名称

 

 


推荐阅读
  • 如何配置mysql双主_MySQL双主配置_MySQL
    准备环境:服务器操作系统为RHEL6.4x86_64,为最小化安装。主机A和主机B均关闭防火墙和SELINUX,IP地址分别为192.168.131.1 ... [详细]
  • jenkins中 Slave使用Docker
    原因就不说了,网上的自动化测试Docker教程太不靠谱,还是学学官网吧。目的:在现在各种虚拟化的大条件下,还在建立N个节点机 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • centos7下安装docker(15.3跨主机网络-macvlan)
    除了ovrlay,docker还开发了另一个支持跨主机容器的driver:macvlanmacvlan本身是linukernel模块,其功能是允许在同一物理网卡上配置多了MAC地址,即:多 ... [详细]
  • hadoop完全分布式搭建
    原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave ... [详细]
  • 重装WIN7之后使用UbuntuLiveCD修复grub2双系统引导拿起ubuntu启动光盘启动进入试用ubuntu,打开终端输入命令sudofdisk-l#查看我u ... [详细]
  • 第六章CentOS7 配置 Jenkins
    Jenkins1.下载JenkinsJenkins下载地址Jenkins文档地址2.安装Jenkinsrz,上传到Linux服务器rpm-ijenkins-2.107.3-1.1. ... [详细]
  • 大数据学习环境安装关于防火墙​centos7使用的是firewalld,centos之前使用的是iptablesCentOS7关闭防火墙查看防火墙状态sudosy ... [详细]
  • 一安装配置1.配置文件mongod.cfg(路径:D:\data\config\mongod.cfg)如下:    systemLog:destination ... [详细]
  • 不同方式实现集群的可行性 && 部分不建议踩的坑
    路标1.Systemhasnotbeenbootedwithsystemdasinitsystem(PID1).Can’toperate.2.CannotconnecttotheD ... [详细]
  • 开发笔记:Linux学习笔记4CentOS7中redis3.2.9安装教程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux学习笔记4-CentOS7中redis3.2.9安装教程相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Nginx简介Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAPPOP3SMTP代理服务器。Nginx是由IgorSysoev为 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
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社区 版权所有