应用服务网格 ASM-新建集群和网格迁移方案:配置同步

时间:2024-06-26 11:50:44

配置同步

方案一 手动同步网格配置(推荐)

手动在新建的网格上添加网关路由,并同步1.0企业版网格配置。

方案二 使用备份网格资源还原配置

  1. 查看企业版网格网关使用了几个ELB,使用新建的几个ELB进行替换,如下图所示使用了两个ELB:

    ELB1:(3dbb4787-75c1-42f0-897a-1f683f7e89a0)* .*.*.*

    ELB2:(e60fdaa7-3398-4a19-8bd1-d53598c6917e)* .*.*.*

    新建两个ELB。

    newELB1:(caf6ec4a-2fa8-42ae-bdfb-388f8b13778a)* .*.*.*

    newELB2:(792c0a3d-190d-413d-a5b9-5c1ac3fe3705)* .*.*.*

    将准备工作中备份的istio 配置文件拷贝一份到新集群节点上, 执行如下命令:

    #查看老ELB IP
    grep -i "老ELB IP" *.yaml
    
    #ELB IP 替换
    sed -i 's/老ELB IP/新ELB IP/g' *.yaml
    
    #ELB ID 替换
    sed -i 's/老ELB ID/新ELB ID/g' *.yaml
    
    #替换clusterID
    sed -i 's/老clusterID/新clusterID/g' *.yaml
    
    #替换CluseterName
    sed -i 's/老CluseterName/新CluseterName/g' *.yaml
    
    #替换完成后查看 
    grep -i "新ELB IP" *.yaml
    grep -i "新ELB ID" *.yaml
    grep -i "新clusterID" *.yaml
    grep -i "新CluseterName" *.yaml

    替换完成后如下所示:

  2. 将准备工作中备份的配置文件在新网格中恢复,若未配置kubectl命令,可参考CCE配置kubectl

    kubectl create -f all-svc.yaml
    //kubectl create -f all-secret.yaml
    kubectl create -f all-vs.yaml
    kubectl create -f all-dr.yaml
    kubectl create -f all-gw.yaml
    kubectl create -f all-se.yaml
    kubectl create -f all-ef.yaml
    kubectl create -f all-sidecar.yaml
    kubectl create -f all-we.yaml
    kubectl create -f all-wg.yaml
    kubectl create -f all-pa.yaml
    kubectl create -f all-ra.yaml
    kubectl create -f all-ap.yaml
    
    kubectl create -f user-all-svc.yaml
    kubectl create -f user-all-secret.yaml

    若出现“Error from server (AlreadyExists): xxxxx already exists” 已存在的报错则忽略。

  3. 删除新版本无用配置。

    • 若源版本是1.6企业版则执行如下命令:
    kubectl -nistio-system delete svc istiod-remote
    kubectl -nistio-system delete svc istiod-elb
    
    kubectl -nistio-system delete vs istiod
    • 若源版本是1.8企业版则执行如下命令:
    kubectl -nistio-system delete envoyfilter metadata-exchange-1.6 
    kubectl -nistio-system delete envoyfilter metadata-exchange-1.7 
    kubectl -nistio-system delete envoyfilter metadata-exchange-1.8 
    kubectl -nistio-system delete envoyfilter stats-filter-1.6
    kubectl -nistio-system delete envoyfilter stats-filter-1.7
    kubectl -nistio-system delete envoyfilter stats-filter-1.8
    kubectl -nistio-system delete envoyfilter tcp-metadata-exchange-1.6
    kubectl -nistio-system delete envoyfilter tcp-metadata-exchange-1.7
    kubectl -nistio-system delete envoyfilter tcp-metadata-exchange-1.8
    kubectl -nistio-system delete envoyfilter tcp-stats-filter-1.6
    kubectl -nistio-system delete envoyfilter tcp-stats-filter-1.7
    kubectl -nistio-system delete envoyfilter tcp-stats-filter-1.8
    
    kubectl -nistio-system delete svc istiod-remote
    kubectl -nistio-system delete svc istiod-elb
    
    kubectl -nistio-system delete vs istiod

  4. 验证业务功能若出现服务异常场景,单击处理,查看异常错误。

    在CCE service页面修改

support.huaweicloud.com/bestpractice-asm/asm_bestpractice_1014.html