Helm V2 迁移到 V3 版本

-- :: Mr-Liuqx 阅读数 63更多
分类专栏: kubernetes

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34857250/article/details/100917486

helm3 发布了 应该学习一下的 不过自己不会写helm文件呢. 
 

安装 Helm V3

helm2 迁移helm3,环境准备

$ helm3 version
version.BuildInfo{Version:"v3.0.0-beta.3", GitCommit:"5cb923eecbe80d1ad76399aee234717c11931d9a", GitTreeState:"clean", GoVersion:"go1.12.9"}

$ helm2 repo list
NAME 	URL
stable 	http://mirror.azure.cn/kubernetes/charts/
local 	http://127.0.0.1:8879/charts
$ helm3 repo list
Error: no repositories to show

HELM-2TO3 插件

$ helm3 plugin install https://github.com/helm/helm-2to3
Downloading and installing helm-2to3 v0.1.1 ...
https://github.com/helm/helm-2to3/releases/download/v0.1.1/helm-2to3_0.1.1_darwin_amd64.tar.gz
Installed plugin: 2to3

确认是否安装成功

$ helm3 plugin list
NAME	VERSION	DESCRIPTION
2to3	0.1.1 	migrate Helm v2 configuration and releases in-place to Helm v3

$ helm3 2to3
Migrate Helm v2 configuration and releases in-place to Helm v3
Usage:
 2to3 [command]
Available Commands:
 convert migrate Helm v2 release in-place to Helm v3
 help Help about any command
 move migrate Helm v2 configuration in-place to Helm v3
Flags:
 -h, --help help for 2to3
Use "2to3 [command] --help" for more information about a command.

现在插件支持的功能主要有两个部分:

  • 迁移 Helm V2 配置
  • 迁移 Helm V2 release

开始迁移

$ helm3 2to3 move config
[Helm 2] Home directory: /Users/ych/.helm
[Helm 3] Config directory: /Users/ych/Library/Preferences/helm
[Helm 3] Data directory: /Users/ych/Library/helm
[Helm 3] Create config folder "/Users/ych/Library/Preferences/helm" .
[Helm 3] Config folder "/Users/ych/Library/Preferences/helm" created.
[Helm 2] repositories file "/Users/ych/.helm/repository/repositories.yaml" will copy to [Helm 3] config folder "/Users/ych/Library/Preferences/helm/repositories.yaml" .
[Helm 2] repositories file "/Users/ych/.helm/repository/repositories.yaml" copied successfully to [Helm 3] config folder "/Users/ych/Library/Preferences/helm/repositories.yaml" .
[Helm 3] Create data folder "/Users/ych/Library/helm" .
[Helm 3] data folder "/Users/ych/Library/helm" created.
[Helm 2] plugins "/Users/ych/.helm/plugins" will copy to [Helm 3] data folder "/Users/ych/Library/helm/plugins" .
[Helm 2] plugins "/Users/ych/.helm/plugins" copied successfully to [Helm 3] data folder "/Users/ych/Library/helm/plugins" .
[Helm 2] starters "/Users/ych/.helm/starters" will copy to [Helm 3] data folder "/Users/ych/Library/helm/starters" .
[Helm 2] starters "/Users/ych/.helm/starters" copied successfully to [Helm 3] data folder "/Users/ych/Library/helm/starters" .

上面的操作会迁移:

  • Chart starters
  • Chart 仓库
  • 插件

确认是否安装成功

$ helm3 repo list
NAME 	URL
stable 	http://mirror.azure.cn/kubernetes/charts/
local 	http://127.0.0.1:8879/charts

$ helm3 plugin list
NAME	VERSION	DESCRIPTION
2to3	0.1.1 	migrate Helm v2 configuration and releases in-place to Helm v3
push	0.7.1 	Push chart package to ChartMuseum

非默认目录迁移

非默认的 Helm V2 主目录以及 Helm V3 配置和数据目录

$ export HELM_V2_HOME=$HOME/.helm2
$ export HELM_V3_CONFIG=$HOME/.helm3
$ export HELM_V3_DATA=$PWD/.helm3
$ helm3 2to3 move config

迁移Helm V2 Release

命令详解

#命令详解:
$ helm3 2to3 convert -h
migrate Helm v2 release in-place to Helm v3
Usage:
 2to3 convert [flags] RELEASE
Flags:
 --delete-v2-releases v2 releases are deleted after migration. By default, the v2 releases are retained
 --dry-run simulate a convert
 -h, --help help for convert
 -l, --label string label to select tiller resources by (default "OWNER=TILLER")
 -s, --release-storage string v2 release storage type/object. It can be 'secrets' or 'configmaps'. This is only used with the 'tiller-out-cluster' flag (default "secrets")
 -t, --tiller-ns string namespace of Tiller (default "kube-system")
 --tiller-out-cluster when Tiller is not running in the cluster e.g. Tillerless
 # 可以看到最后的 --tiller-out-cluster 参数,甚至支持 Tillerless Helm v2。

查看helm list

$ helm list
NAME 	REVISION	UPDATED 	STATUS 	CHART 	APP VERSION	NAMESPACE
minio	 1 	Wed Sep 11 11:47:51 2019	DEPLOYED	minio-2.5.13	RELEASE.2019-08-07T01-59-21Z	argo
redis 	1 	Wed Sep 11 14:52:57 2019	DEPLOYED	redis-9.1.7 	5.0.5 	redis

测试

最安全的方式是先使用下该参数测试下效果:

$ helm3 2to3 convert --dry-run minio
NOTE: This is in dry-run mode, the following actions will not be executed.
Run without --dry-run to take the actions described below:
Release "minio" will be converted from Helm 2 to Helm 3.
[Helm 3] Release "minio" will be created.
[Helm 3] ReleaseVersion "minio.v1" will be created.

迁移

确认没有问题了,我们再执行迁移.

我们可以查看上面的dry-run模式下面的一些描述信息,没有什么问题的话就可以真正的来执行迁移操作了:

# 开始迁移
$ helm3 2to3 convert minio
Release "minio" will be converted from Helm 2 to Helm 3.
[Helm 3] Release "minio" will be created.
[Helm 3] ReleaseVersion "minio.v1" will be created.
[Helm 3] ReleaseVersion "minio.v1" created.
[Helm 3] Release "minio" created.
Release "minio" was converted successfully from Helm 2 to Helm 3. Note: the v2 releases still remain and should be removed to avoid conflicts with the migrated v3 releases.

# 迁移完成后的
$ helm list
NAME 	REVISION	UPDATED 	STATUS 	CHART 	APP VERSION	NAMESPACE
minio	 1 	Wed Sep 11 11:47:51 2019	DEPLOYED	minio-2.5.13	RELEASE.2019-08-07T01-59-21Z	argo
redis 	1 	Wed Sep 11 14:52:57 2019	DEPLOYED	redis-9.1.7 	5.0.5 	redis
$ helm3 list
NAME 	NAMESPACE	REVISION	UPDATED 	STATUS 	CHART

# 需要指定名称空间才能看到
$ helm3 list -n argo
NAME 	NAMESPACE	REVISION	UPDATED 	STATUS 	CHART
minio	argo 	1 	2019-09-11 03:47:51.239461137 +0000 UTC	deployed	minio-2.5.13

注意

注意:由于我们没有指定–delete-v2-releases选项,所以 Helm V2 minio 这个 release 信息还是存在的,我们可以在以后使用 kubectl 进行删除。

当你准备好迁移你所有的 releases 的时候,你可以循环helm list里面的所有 release 来自动的将每个 Helm V2 release 迁移到 Helm V3 版本去。

如果你正在使用 Tillerless Helm V2,只需要指定–tiller-out-cluster选项来迁移 release 即可:

$ helm3 2to3 convert minio --tiller-out-cluster

清理helm2的数据

  • 删除主文件夹~/.helm
  • 如果你没有使用–delete-v2-releases选项,那么旧使用 kubectl 工具来删除 Tiller releases 数据
  • 卸载掉烦人的 Tiller
 

[转帖]Helm V2 迁移到 V3 版本的更多相关文章

  1. 云原生生态周报 Vol. 19 | Helm 推荐用户转向 V3

    作者| 禅鸣.忠源.天元.进超.元毅 业界要闻 Helm 官方推荐用户迁移到 V3 版本 Helm 官方发布博客,指导用户从 v2 迁移到 v3,这标志着官方开始正式推进 helm 从 v2 转向 v ...

  2. NetworkComms V2版本与V3版本语法的差异

    NetworkComms网络通信框架序言 NetworkComms通信框架中V3版本是一次重要的升级,底层做了诸多改变,但语法上与V2版本相比,差不并不大. 监听端口: V3中 IPEndPoint ...

  3. 一文教你一次性完成Helm 3迁移

    2019年,Kubernetes软件包管理器--Helm发布了最新版本Helm 3,并且该版本已经stable.Helm 3中的一些关键特性我们在之前的文章中已经介绍过,其中一些功能吸引了许多开发人员 ...

  4. ECshop 迁移到 PHP7版本时遇到的兼容性问题,ecshopphp7

    ECshop 迁移到 PHP7版本时遇到的兼容性问题,ecshopphp7 在 PHP7 上安装 ECShop V2.7.3时,报错! Deprecated: Methods with the sam ...

  5. 极光API推送 (v3 版本)

    Push API v3 这是 Push API 最近的版本. 相比于 API v2 版本,v3 版本的改进为: 完全基于 https,不再提供 http 访问: 使用 HTTP Basic Authe ...

  6. 一定成功 k8s 安装helm v2.17 基本命令

    一.下载helm安装脚本 1.1 介绍 Helm是Kubernetes的包管理器. 其实就是管理了一推配置文件,ds,configmap,deployment......,一类规则. 就类似: yum ...

  7. 关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析

    1.问题描述 在使用net-snmp对交换机进行扫描的时候经常会出现进程假死的情况(就是进程并没有死掉,但是看不到它与外界进行任何的数据交互).这时候不知道进程内部发生了什么,虽然有日志信息,但进程已 ...

  8. 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

    现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabeti ...

  9. SoDiaoEditor电子病历编辑器更新至V3版本,愿与各位一路同行!

    简单闲聊两句-- 记得刚参加工作那会儿,去医院实施,信息科不远处就是手术室,门口每天都挤满了人,他们中大多数都是等待手术结果的患者家属,有的还会把折叠床带来,应该是陪床有段时间了.有时路过,还会听到一 ...

随机推荐

  1. JavaScript基础03——函数的作用域及变量提升

    1.作用域 作用域,变量在函数内部作用的范围/区域.有函数的地方就有作用域.   2.局部作用域和全局作用域 function fn(){ var a = 1; } console.log(a); / ...

  2. 多条件查询----补发周一内容(六级让我忽略了JAVA)

    周一测试多条件查询 要求仿照知网高级查询页面重构期中考试多条件查询功能,可以根据志愿者姓名.性别.民族.政治面目.服务类别.注册时间六种条件实现模糊查询,输出结果以列表形式显示,显示姓名.性别,民族. ...

  3. [NOI2019]回家路线

    [NOI2019]回家路线 题目大意: 有\(n\)个站点,\(m\)趟车,每趟车在\(p_i\)时从\(x_i\)出发,\(q_i\)时到达\(y_i\). 若小猫共乘坐了\(k\)班列车,依次乘坐 ...

  4. 【转】Java 8新特性(四):新的时间和日期API

    Java 8另一个新增的重要特性就是引入了新的时间和日期API,它们被包含在java.time包中.借助新的时间和日期API可以以更简洁的方法处理时间和日期. 在介绍本篇文章内容之前,我们先来讨论Ja ...

  5. mysql count() 函数,对结果统计计数

    mysql> ; +----------+------------+-----+---------------------+ | name_new | transactor | pid | or ...

  6. java下载文件工具类

    java下载文件工具类 package com.skjd.util; import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  7. #C++初学记录(ACM8-6-cf-f题)

    F. Vanya and Label While walking down the street Vanya saw a label "Hide&Seek". Becaus ...

  8. 《恶魔人crybaby》豆瓣短评爬取

    作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3159 爬虫综合大作业 选择一个热点或者你感兴趣的主题. 选择爬取的对象 ...

  9. photoshop 的安装破解

    最近学习需要用到photoshop,但是photoshop试用期只有30天,于是尝试破解photoshop.参考了网上的很多博客,失败了好几次,终于找到一篇靠谱的博客,很顺利的成功了.在这里记录一下, ...

  10. Redis4.0新特性(一)-Memory Command

    Redis4.0版本增加了很多诱人的新特性,在redis精细化运营管理中都非常有用(猜想和antirez加入redislabs有很大关系):此系列几篇水文主要介绍以下几个新特性的使用和效果. Redi ...