迁移集群配置
本文以swarm-piggymetrics-cluster集群为例,为您介绍如何迁移该集群的配置,配置迁移主要包含创建Kubernetes集群、VPC网络互联互通验证、数据卷迁移、配置项迁移等操作。
前提条件
待迁移的Swarm集群已完成标准化改造。请参见标准化Swarm集群。
背景信息
本文以swarm-piggymetrics-cluster集群为例,为您介绍如何迁移该集群的配置,配置迁移主要包含创建Kubernetes集群、VPC网络互联互通验证、数据卷迁移、配置项迁移等操作。
创建Kubernetes集群
- 地域和可用区选择上,选择跟swarm-piggymetrics-cluster集群同地域同可用区,以保证像VPC网络这类无法跨地域的资源能正常迁移。
- Kubernetes 集群只支持VPC网络,不支持经典网络。
- 如果swarm-piggymetrics-cluster集群为VPC网络,请创建Kubernetes 托管版集群时共用swarm-piggymetrics-cluster集群的VPC网络。
- 如果swarm-piggymetrics-cluster集群为经典网络,则需要做VPC网络迁移,详情参见混挂混访方案。
- 请创建Kubernetes 托管版集群时,请确保已安装云监控插件,方便后续灰度或切流时,可通过云监控平台查看ECS实例的监控信息。
- 如果swarm-piggymetrics-cluster集群有使用阿里云日志服务,请创建Kubernetes 托管版集群时打开日志服务,并选择复用已有Project,避免需要重新迁移日志服务配置。
- 如果swarm-piggymetrics-cluster集群有使用RDS云产品,请在创建Kubernetes 托管版集群时,选择对应的RDS白名单,避免出现网络权限问题。
迁移Node标签
如果swarm-piggymetrics-cluster集群有对 Node 节点打用户标签,并在应用配置里面通过用户标签指定Node 节点部署;则需要做 Node
用户标签的迁移。迁移过程如下:
- 查看Swarm 集群用户标签。
- 在创建Kubernetes 托管版集群中对应 Node 节点打上同样的标签。
VPC互联互通验证
如果swarm-piggymetrics-cluster集群是经典网络,而创建Kubernetes 托管版集群是VPC网络,则可能访问RDS、OSS 这类产品时,出现网络不通的情况;其中RDS会有白名单限制(我们在上述创建Kubernetes
托管版集群时,已选择添加RDS白名单),而OSS本身则针对经典网络和VPC网络提供两个不同的访问域名,故需要在创建Kubernetes 托管版集群上进行网络连通性验证。
如果swarm-piggymetrics-cluster集群通过经典网络域名访问OSS的,后续需修改为通过VPC网络域名访问(后面集群数据卷迁移时也需要用到)。
数据卷迁移
Swarm数据卷,对应到 Kubernetes 的存储卷都是挂在集群维度下面的;所以,可按集群维度先统一做数据卷配置本身的迁移;当后面应用迁移时,只需做数据卷引用迁移即可。一个Swarm数据卷,对应到Kubernetes的存储卷PV和存储声明
PVC 两个概念。
Swarm数据卷支持NAS、云盘、OSS 三种类型,而这三种类型在中使用方式上均支持直接使用Volume方式、使用 PV/PVC 两种方式来使用存储卷(详细参见存储管理概述),本文档中以使用 PV/PVC使用方式为示例。
- 因为云盘是阿里云存储团队提供的非共享存储,只能同时被一个pod挂载;若Swarm 和Kubernetes 一起写入会报错。因此,若在Swarm集群里面存在使用云盘的场景则无法做到不停机迁移,请选择切换到共享存储NAS/OSS或在业务低峰期做停机迁移。只有将云盘先从Swarm集群卸载之后,才能在Kubernetes集群里面挂载。云盘操作详见卸载数据盘和查看或删除数据卷。
- Kubernetes集群中,数据卷名不支持大写字母和下划线;所以,如果数据卷名存在大写字母或下划线,请做如下统一转换:
- 大写字母请转换为小写字母。
- 下划线请转换为中划线。
- 在创建OSS存储卷时,访问域名需要选择为vpc域名,因为Kubernetes只支持VPC网络。
- 创建存储声明PVC,名称请默认与数据卷名一致(后面应用配置转换工具kompose工具会与此保持一致)。
配置项迁移
在Swarm里面,支持创建配置项,并通过配置参数传递配置,以方便对多个容器的环境变量进行统一管理,在应用发布时通过选择配置文件进而实现替换编排模板yaml文件里面的变量符$。
但是阿里云容器服务Swarm控制台提供的增强功能,在标准Kubernetes 里面并没有完全对应的功能实现。其中,Kubernetes集群的配置项实体与此有差异,暂无法实现自动迁移;只能在迁移应用配置概述章节,手动处理Swarm编排模板yaml文件里面的变量符$。
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/csk/5078.html