【笔记】Helm-3 主题-13 Helm v2迁移到 v3

Helm v2 迁移到 v3

该指南介绍如何将Helm v2迁移到v3.Helm v2需要被安装且在一个或多个集群中管理版本。

Helm 3变化概述

Helm 2 to 3完整的变化列表在FAQ部分。以下是用户在迁移之前应该要注意的一些改变的概述:

Helm | Docs

1.移除了Tiller:

1、用client/library结构(仅仅helm)替换了client/server

2、安全性现在是每个用户的基础(委托给了Kubernetes用户集群安全)

3、发布版本现在作为集群内的密钥存储且改变了发布对象的元数据

4、发布版本实在版本命名空间的基础上持久化的并且不再是Tiller的命名空间

2.升级了Chart仓库:

1、helm search现在支持本地仓库搜索和Aritifact Hub查询

3.对于以下更新的规范,Chart的apiVersion升级到了“v2”:

1、动态依赖的chart依赖移动到了Chart.yaml(删除可requirements.yaml且requirements-->dependencies)

2、库chart(辅助/公共库)现在可以添加为动态链路的chart依赖

3、Chart有个type元数据字段将chart定义为application或library的chart。默认是壳渲染和安装的应用

4、Helm 2的chart(apiVersion=v1)依然可用

4.添加了XDG目录规范:

1、Helm根目录针对存储配置文件删除和替换了XDG目录规范

2、不再需要初始化Helm

3、移除了helm init和helm home

5.其他更改

1、简化了Helm的安装和设置:

1)仅针对Helm客户端(二进制)

2)按照已有范式运行

2、不再默认设置local或stable仓库

3、删除了crd-install钩子并用chart中的crds目录替换了,在渲染chart之前会安装所有的crd

4、删除了test-failure钩子注释值,且弃用了test-success。使用test代替

5、删除/替换/添加的命令:

1)delete-->uninstall:默认删除所有的发布记录(之前需要 --purge)

2)fetch-->pull

3)home(已删除)

4)init(已删除)

5)install:需要发布名称或者 --generate-name参数

6)inspect-->show

7)reset(已删除)

8)serve(已删除)

9)templete:-x / --execute参数重命名为-s / --show-only

10)upgrade:添加了参数 --history-max,限制每个版本保存的最大记录数量(0表示不限制)

6)Helm 3 Go库经历了很多变化,不再兼容Helm 2库

7)发行版二进制包现在托管在get.helm.sh

迁移用例

迁移用例如下:

1.Helm v2和v3来管理相同的集群:

1、只有打算逐步淘汰Helm v2时,才建议使用此用例,且不需要使用v3管理任何v2部署的发布。所有的新发布都应该使用v3部署且现有v2删除和升级

2、Helm v2和v3可以很欢快地管理同一个集群。Helm版本可以安装在相同或单独的系统上。

3、如果将Helm v3安装在相同的系统上,需要执行额外的步骤来保证两个客户端版本可以共存,直到删除Helm v2客户端。重命名或者将Helm v3执行文件放在不同的文件夹中以避免冲突

4、否则由于以下区别两个版本不存在冲突:

1)v2和v3发布(历史)存储是独立的。修改包括存储的Kubernetes资源和包含在资源中的发布对象元数据。发布版本会在每个用户命名空间而不是Tiller命名空间(比如,v2默认的命名空间kube-system)。v2使用Tiller命名空间中的“ConfigMaps”或“Secrets”和TILLER所有权。v3在用户命名空间中使用“Secrets”和helm所有权。发布版本在v2和v3中都是增量的。

2)唯一的问题是如果Kubernetes集群范围内的资源(比如clusterroles.rbac)定义在chart中。即使资源在命名空间中是唯一的,因为冲突v3部署会失败。

3)v3配置不再使用$HELM_HOME并使用XDG目录规范代替。还可以根据需要动态创建。因此它独立于v2配置。这仅适用于两个版本安装在同一个系统上的情况。

2.将Helm v2迁移到v3

1、此案例适用于您希望用Helm v3管理现有Helm v2版本时

2、需要注意的是Helm v2客户端:

1)可以管理1个或多个Kubernetes集群

2)可以为一个集群连接1个或多个Tiller实例

3、这意味着您必须注意当通过Tiller和它的命名空间迁移部署在集群中的发布。因此您必须注意使用Helm v2客户端实例管理的每个集群和Tiller实例的迁移

4、推荐的数据迁移步骤如下:

1)备份v2数据

2)迁移Helm v2配置

3)迁移Helm v2发布

4)当确信Helm v3按预期管理所有的Helm v2数据时(针对Helm v2客户端实例的所有集群和Tiller实例)

5、迁移过程由Helm v3的 2to3 插件自动完成

https://github.com/helm/helm-2to3

参考

helm v3 2to3 插件

https://github.com/helm/helm-2to3

post附带示例阐述了 2to3 插件的使用

Helm | How to migrate from Helm v2 to Helm v3

————————————

仅用于本人学习

来源:Helm | Docs 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode的AC指南 —— 栈与队列:225.用队列实现栈

摘要: **Leetcode的AC指南 —— 栈与队列:225.用队列实现栈 **。题目介绍:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 …

简单了解AJAX

文章目录 1、什么是AJAX2、AJAX快速入门3、Axios异步框架3.1、Axios 快速入门3.2、Axios 请求方式别名 1、什么是AJAX 概念:AJAX(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML AJAX作用: 与服务器进行数据交换:通…

图卷积GCN实战基于网络结构图的网络表示学习实战

下面的是数据: from,to,cost 73,5,352.6 5,154,347.2 154,263,392.9 263,56,440.8 56,96,374.6 96,42,378.1 42,58,364.6 58,95,476.8 95,72,480.1 72,271,419.5 271,68,251.1 134,107,344.0 107,130,862.1 130,129,482.5 227,167,1425.7 167,298,415.7 298,209,42…

GPT属于AI,是LLM的一种实现

GPT(Generative Pre-trained Transformer)作为一种创新的语言模型,既属于人工智能(AI)的一部分,也是大规模语言模型(LLM)的一种实现。本文将探讨GPT在AI和LLM领域的重要性和影响。 …

kafka入门(十):副本数据同步

副本 副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。 Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。 失效副本 在ISR集合之外,也就是处于同…

js监听返回当前页面的方法

要监听用户返回当前页面的操作,可以使用JavaScript中的window.onpopstate事件。这个事件会在浏览器的历史记录发生变化时被触发,其中包括用户点击了浏览器的后退按钮或者通过编程方式调用了history.back()方法。 以下是一个简单的示例代码,演…

PG DBA培训25:PostgreSQL性能分析与优化调整

本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL Performance analysis and adjustment,学完本课程可以掌握PostgreSQL优化概述与优化方案,PostgreSQL操作系统层优化调整与建议,PostgreSQL存储系统层优化…

Unity3D学习之Unity基础——3D数学

文章目录 1. 前言2 Mathf和Math基础2.1 一般用于只计算一次的函数2.1.1 PI Π PI2.1.2 取绝对值 Abs2.1.3 向上取整 CeilToInt2.1.4 向下取整 FloorToInt2.1.5 钳制函数 Clamp2.1.6 获取最大值 Max2.1.7 获取最小值 Min2.1.8 一个数的n次幂 Pow2.1.9 四舍五入 RoundToInt2.1.10…

腾讯云建站教程,三种方式,随意选

腾讯云怎么建站?使用腾讯云搭建网站有三种方式,可以直接购买腾讯云建站服务如网站建设和CloudPages,也可以购买腾讯云服务器,然后使用开源程序搭建网站。腾讯云百科txybk.com分享腾讯云建站教程: 1、网站建设&#xf…

Spring Boot实现统一异常处理的技术解析

引言 在软件开发过程中,异常处理是非常重要的一环。一个好的异常处理机制可以帮助我们更好地定位问题,提高代码的可维护性和稳定性。Spring Boot作为一款轻量级的Java开发框架,提供了一种简单而高效的方式来实现统一异常处理。本文将详细介绍…

springboot 3 + mysql8 + flyway 数据库版本管理

1、flyway flyway官方文档地址:https://documentation.red-gate.com/fd 对于不怎么看文档的我来说: 1)flyway是个管理数据库版本的工具,可以对不同环境的sql进行迁移操作。 2)优点:初始化、后期数据的管理…

java使用jsch处理软链接判断是否文件夹

前言 这一次主要是碰到一个问题。因为使用jsch去读取文件的时候,有一些文件它是使用软链接制作的一个映射。因为这里面有一个问题。如果它是软链接你就无法判断他到底是文件。还是文件夹?因为他没有提供可以直接读取的方法,用权限信息去判断…

【异常】SecurityException: JCE cannot authenticate the provider BC

升级JDK21出现该异常 JCRCaused by: java.util.jar.JarException: jar:file:/app//service.jar!/BOOT-INF/lib/bcprov-jdk14-138.jar!/ has unsigned entries - org/bouncycastle/LICENSE.class 解决方案 排除 bcprov-jdk14 依赖 可以通过maven插件去查找<dependency>…

Nomogram文献分析:提取数据

前言 今天教大家如何分析Nomogram类型的文章&#xff0c;并使用我们开发的系统零代码提取数据。 系统地址&#xff1a;https://clinicaldata.fun/ 要分析的文章&#xff1a;https://pubmed.ncbi.nlm.nih.gov/36504658/ 。这是一篇典型的mimic-iii数据分析的套路&#xff0c;…

srm-50——攻防世界

可以知道这道题是二类题型&#xff0c;你完成某个事情给你flag 我们输入正确的东西&#xff0c;给“flag” 运行一下可以知道这些关键词 直接关键词在字符串里面 找到运行得到的东西 INT_PTR __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4) {HMODULE Mo…

vue.js js 雪花算法ID生成 vue.js之snowFlake算法

随着前端业务越来越复杂&#xff0c;自定义表单数据量比较大&#xff0c;每条数据的id生成则至关重要。想到前期IOS中实现的雪花算法ID&#xff0c;照着其实现JS版本&#xff0c;供大家学习参考。 一、库的建立引入 在你项目中创建一个snowFlake.js的文件&#xff1a;拷贝以下…

【2020】百度校招Java研发工程师笔试卷(第二批)算法题

贴一下我去年9月份写的博客 三道编程题&#xff0c;一道数学题&#xff0c;两道图论&#xff0c;哎嘿嘿&#xff0c;我就是不会做&#xff0c;哎嘿嘿&#xff0c;哭了。。。 一.最小值 牛牛给度度熊出了一个数学题&#xff0c;牛牛给定数字n,m,k&#xff0c;希望度度熊能找到…

PG DBA培训21:PostgreSQL性能优化之基准测试

本课程由风哥发布的基于PostgreSQL数据库的系列课程&#xff0c;本课程属于PostgreSQL Performance Benchmarking&#xff0c;学完本课程可以掌握PostgreSQL性能基准测试基础知识,基准测试介绍,基准测试相关指标,TPCC基准测试基础,PostgreSQL测试工具介绍,PostgreSQL性能基准测…

java常见集合类的区别

ArrayList和LinkedList之间有什么区别&#xff1f; ArrayList和LinkedList都是Java集合框架中的List接口的实现类&#xff0c;它们在实现方式、性能和适用场景等方面存在一些区别。 底层数据结构&#xff1a;ArrayList是基于动态数组的数据结构&#xff0c;而LinkedList则是基…

Python使用graphviz绘制模块间数据流

graphviz官方参考链接&#xff1a; http://www.graphviz.org/documentation/ https://graphviz.readthedocs.io/en/stable/index.html 文章目录 需求描述环境配置实现思路代码实现 需求描述 根据各模块之间的传参关系绘制出数据流&#xff0c;如下图所示&#xff1a; 并且生成…