应用服务网格 ASM
应用服务网格 ASM
链接复制成功!
使用ingress中转方案
前提
- 确保准备工作已完成。
- 网格仅使用了网关能力。
- 已经创建和原网格网关同规格的ELB实例。
创建Ingress资源
- 证书secret从istio-system空间迁移到业务命令空间,可使用如下命令:
kubectl -nistio-system get secret {证书名} -oyaml > /tmp/{证书名}.yaml
进行如下修改:
kubectl -n{业务命名空间} create -f /tmp/{证书名}.yaml
- (推荐)根据现有的Ingress-gateway配置,登录cce控制台,单击集群名称进入集群详情页面,在左侧菜单栏依次单击“服务-路由-创建路由”创建Ingress配置,并配置https证书。
- 验证流量是否正常,确保Ingress流量正常后方可进行下一步。
ingress和istio-gateway同时支持httpbin.example.com域名,通过更改host可以切换不同的流量。
业务切流
- 在本地host将域名对应的ELB IP地址改为新的ELB IP。
- 本地验证功能,验证成功后修改DNS 配置,将域名解析IP地址改为新ELB的IP。
迁移
- 登录应用服务网格控制台,单击待迁移的企业版网格名称进入网格详情页面,在在网关管理页面删除网格内的所有网关资源。
- 在网格详情页,单击“网格配置”进入基本信息页签,单击集群后面的“移除”按钮 。
- 是否重启已有服务选择“是”,勾选“取消注入sidecar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。
- 选择从企业版网格移除出来的集群创建基础版网格。建议创建istio最新版本的网格。
- 在网格详情页,依次单击“网格配置-sidecar管理-sidecar管理”,选择需要开启自动注入的命名空间(准备工作中步骤11中记录的命名空间),是否重启已有服务选择“是”,勾选“取消注入sidecar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。
- 单击创建出来的网格名称进入详情页,依次单击“服务网关-添加网关”手动创建网关,选择原ELB实例。
- 将准备工作中备份的配置文件在新网格中恢复,若未配置kubectl命令,可参考CCE配置kubectl 。
kubectl create -f all-vs.yaml kubectl create -f all-dr.yaml
注意:
若出现“Error from server (AlreadyExists): xxxxx already exists” 已存在的报错则忽略。
功能验证
- 查看应用服务网格基本功能是否正常,如网关路由显示 ,网关访问等。
- 修改host地址为老ELB IP,验证业务功能是否正常。
- 若功能正常则将DNS解析地址改为老ELB IP。
- 验证正常后删除CCE ingress。
异常回退
若在迁移过程中出现异常,可按照如下步骤回退。
- 登录应用服务网格控制台,在网格列表页面单击待删除网格右上角的卸载按钮卸载网格,是否重启已有服务选择“是”,勾选“取消注入sidecar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。
- 在网格详情页,依次单击“网格配置-基本信息-添加集群”将卸载后集群重新添加回1.0企业版里面。
- 添加集群时,集群 选择“扁平网格”,选择需要开启自动注入的命名空间(准备工作中步骤11中记录的命名空间),是否重启已有服务选择“是”,勾选“取消注入sidecar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。
- 使用控制面kubectl 执行如下命令。
kubectl create -f all-svc.yaml kubectl create -f all-vs.yaml kubectl create -f all-dr.yaml kubectl create -f all-gw.yaml
- 功能验证。
- 修改DNS解析地址为网关ELB IP。
- 删除CCE ingress。
父主题: 1.0企业版网格迁移到基础版