云服务器内容精选
-
添加IPv4/IPv6双栈网关 登录ASM控制台,在网格列表页面单击已经开启IPv6双栈的网格名称,单击“网关管理-添加网关”。网关参数如下填写 访问方式: 选择“DualStack"。 负载均衡: 选择独享型,选中的独享型ELB需要有IPv6地址。 其他配置参数根据实际情况填写。 当前IPv4/IPv6双栈网关添加IPv6外部访问地址时,只支持添加 域名 ,通过域名访问,不支持添加IPv6地址访问。
-
约束与限制 支持启用双栈网格的约束。 网格类型 Istio版本 支持启用的集群类型 集群网络类型 其他说明 基础版 1.18及以上 CCE Turbo 集群 云原生网络2.0 集群需要已启用IPv6,请参考通过CCE搭建IPv4/IPv6双栈集群 支持创建IPv4/IPv6网关的约束。 网格类型 Istio版本 支持启用的ELB类型 ELB规格 其他说明 基础版 1.18及以上 独享型ELB 4层网络型 ELB需要配置IPv6地址 您的网格开启IPv4/IPv6双栈后不支持关闭, 未开启双栈的网格也不支持创建完成之后开启双栈。 您低版本的网格升级到1.18及以上时,不支持升级后开启IPv4/IPv6双栈。
-
迁移方案选择 表1 迁移方案 匹配条件 迁移方案 仅存在一个集群 业务允许小时级别中断 原集群卸载重装方案 网格使用了流量治理规则,envoyfilter等配置 对外ip端口可替换 客户业务可重新部署 新建集群和网格方案 仅使用了网格网关能力 业务允许闪断 使用ingress中转方案 业务多集群 业务允许小时级别中断 1.0企业版多集群场景(使用原集群创建网格) 业务多集群 业务允许闪断 1.0企业版多集群场景(新建集群和网格方案)
-
容器服务加入网格 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。 在左侧导航栏选择“网格配置”,单击“sidecar管理”页签,为命名空间“vmns”注入sidecar。 在左侧导航栏选择“服务管理”,选择命名空间“vmns”。 按下述指导修复异常状态的tomcat服务。 单击“处理”进入自动修复项页面,单击“一键修复”,自动处理异常状态的检查项,直到配置诊断为正常状态。 图1 服务状态
-
配置同步 方案一 手动同步网格配置(推荐) 手动在新建的网格上添加网关路由,并同步1.0企业版网格配置。 方案二 使用备份网格资源还原配置 查看企业版网格网关使用了几个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 替换完成后如下所示: 将准备工作中备份的配置文件在新网格中恢复,若未配置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” 已存在的报错则忽略。 删除新版本无用配置。 若源版本是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 验证业务功能若出现服务异常场景,单击处理,查看异常错误。 在CCE service页面修改
-
新建集群和网格 登录CCE控制台选择在当前企业版集群所在的同VPC下创建集群。 在应用服务网格ASM控制台 ,创建基础版本网格,选择步骤1新建的集群。 在新建的网格详情页,依次单击“网格配置-sidecar管理-sidecar管理”,选择需要开启自动注入的命名空间(准备工作中步骤11中记录的命名空间),是否重启已有服务选择“是”,勾选“取消注入sidecar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。 查看网格使用了几个ELB,新建同等数量和规格的ELB。
-
AOM 页面查询应用服务网格详细指标 服务网格开启应用指标并接入华为云AOM后,可以在AOM页面查询网格的详细指标,具体步骤如下: 登录AOM页面,进入“指标浏览”页面。 选择“指标源”,选择想要查询的网格上报指标的Prometheus实例。 在页面上查询上报至AOM的指标。 全量指标查询 通过输入具体指标名称,即可查阅istio网格相关指标。 同时支持通过增加条件过滤相关指标信息。 按普罗语句查询 通过输入promql语句查询网格指标。
-
迁移集群 删除该集群上部署的网关。在待迁移网格详情页,网关管理页面查看待迁移集群上有几个网关路由。即“所属集群”字段是待迁移集群的全部网关。 将对应的集群移除出企业版网格。 在ASM控制台 ,创建基础版本网格,选择移除出企业版网格的集群。 在新建的网格详情页,依次单击“网格配置-sidecar管理-sidecar管理”,选择需要开启自动注入的命名空间(准备工作中步骤11中记录的命名空间),是否重启已有服务选择“是”,勾选“取消注入sidecar会重启关联的Pod,将会暂时中断您的业务”,单击“确定”。 进行服务诊断,并处理异常。 恢复istio资源,选择如下任意一个方案执行。 方案一:重新手动创建网关,并添加路由。 方案二:将准备工作中备份的该集群资源上传到集群节点,执行如下命令恢复,其中xx为备份的文件名。 kubectl create -f xx.yaml (可选)执行解除业务跨集群访问方案二 重复执行上述步骤1-7,直至所有集群迁移完毕。
-
前提 确保准备工作已完成。 梳理网格下各个集群的网关和跨集群svc。 集群 网关 跨集群访问的服务 A a-gw 集群A 、集群B B b-gw 集群B ... ... ... 关闭mtls以及访问授权,是用如下命名查看是否存在对应资源。 kubectl get PeerAuthentication -A kubectl get AuthorizationPolicy -A kubectl get RequestAuthentication -A 查看查询到的PeerAuthentication ,若spec.mtls.mode为STRICT,则需要将STRICT改为PERMISSIVE。 查看查询到的AuthorizationPolicy, 若使用了该功能,则需要在迁移过程中暂时删除访问授权。 查看查询到的RequestAuthentication, 若使用了该功能,则需要在迁移过程中暂时删除请求认证。 允许迁移期间业务访问中断。 解除业务上使用k8s域名进行跨集群访问。
-
创建Ingress资源 (推荐)根据现有的Ingress-gateway配置,登录cce控制台,单击集群名称进入集群详情页面,在左侧菜单栏依次单击“服务-路由-创建路由”创建Ingress配置,并配置https证书。 验证流量是否正常,确保Ingress流量正常后方可进行下一步。 ingress和istio-gateway同时支持httpbin.example.com域名,通过更改host可以切换不同的流量。
-
迁移 登录应用服务网格控制台,单击待迁移的企业版网格名称进入网格详情页面,在在网关管理页面删除网格内的所有网关资源。 在网格详情页,单击“网格配置”进入基本信息页签,单击集群后面的“移除”按钮 。 是否重启已有服务选择“是”,勾选“取消注入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” 已存在的报错则忽略。
-
异常回退 若在迁移过程中出现异常,可按照如下步骤回退。 登录应用服务网格控制台,在网格列表页面单击待删除网格右上角的卸载按钮卸载网格,是否重启已有服务选择“是”,勾选“取消注入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。
-
配置方法 请在CCE控制台“服务发现”页面,istio-system命名空间下,更新服务所关联的网关服务,将服务亲和改成“节点级别”。前提是已开启ELB的获取客户端IP功能(当前为默认开启)。 externalTrafficPolicy:表示此Service是否希望将外部流量路由到节点本地或集群范围的端点。有两个可用选项:Cluster(默认)和Local。Cluster隐藏了客户端IP,可能导致第二跳到另一个节点,但具有良好的整体负载分布。Local保留客户端源IP并避免LoadBalancer和NodePort类型服务的第二跳,但存在潜在的不均衡流量传播风险。
-
验证方式 结合httpbin镜像在“x-forward-for”字段中可以看到源IP,httpbin是一个HTTP Request & Response Service,可以向他发送请求,他将会按照指定的规则将请求返回。httpbin镜像可在SWR中搜索。使用httpbin镜像进行验证时请确保集群已开通网格。 登录ASM应用服务网格控制台,选择一个可用的测试网格并单击进入。 选择左侧“网格配置”查看其关联的集群。 单击集群名称进入集群详情页,单击“工作负载”进入“工作负载”页签,单击右上角“创建工作负载”按钮。 配置工作负载的信息。 基本信息 负载类型:选择无状态工作负载Deployment。 负载名称:命名工作负载为httpbin。 命名空间:选择工作负载的命名空间,默认为default。 其余参数使用默认值。 容器配置 基本信息: 容器名称:为容器自定义一个名称 镜像名称:单击后方“选择镜像”,在右上角搜索框搜索“httpbin”镜像并选择,单击“确认”。 镜像版本:选择一个镜像版本 其余参数使用默认值。 服务配置 服务(Service)是用来解决Pod访问问题的。每个Service有一个固定IP地址,Service将访问流量转发给Pod,而且Service可以给这些Pod做负载均衡。 单击服务配置参数下面的“+”进入创建服务页面。 Service名称:Service名称为工作负载名称。 访问类型:选择集群内访问。 端口设置: 协议:TCP 容器端口:80(以实际访问端口为准) 服务端口:80(以实际访问端口为准) 单击右下角“确定”完成服务创建。 单击右下角“创建工作负载”完成工作负载创建。 在集群详情页选择左侧“服务”页签,可在服务列表中查看到所创建的httpbin服务。 返回ASM应用服务网格,选择左侧“服务管理”页签,在服务管理中可查看到httpbin的配置诊断显示为异常。 单击此服务配置诊断中的“处理”按钮,按照弹出“配置诊断”页面对应的修复指导进行修复。 以“Service的端口名称是否符合Istio规范”为例,选择协议为“http”,单击“一键修复”。 选择左侧“网关管理”页签,单击右上角“添加网关”,在弹出“添加网关”页面输入配置信息。 配置信息 网关名称:httpbin。 集群选择:网格所关联使用的集群。 负载均衡:选择公网、选择一个elb公网。 对外协议:选择HTTP。 对外端口:自定义端口。 外部访问地址:负载均衡中所选elb公网地址。 单击“路由配置”下方的“+”在弹出“添加路由”页面添加路由。 URL:选择完全匹配并输入映射。 命名空间:服务所在命名空间。 目标服务:默认设置。 配置完成后单击“确定”。 单击“确定”完成网关添加。 选择左侧“服务管理”页签,可以在“访问地址”查看到所创建路由的外部访问地址。 在映射的外部访问地址后加上“?show_env=1”,访问添加字段后的外部访问地址,例如:http://xxx.xxx.xxx:80/get?show_env=1。可以在“x-forward-for”字段中查看网关获取的IP为容器段IP。 ... ... ... x-forward-for: xxxx 返回集群详情页,选择左侧导航栏“服务发现”,更改服务所关联的网关服务的配置。方法如下: 下拉上方“命名空间”列表选择“istio-system”。 展开服务后方“更多”选项,单击“更新”,在弹出“更新服务”页面将“服务亲和”更改为“节点级别”,勾选“我已阅读《负载均衡使用须知》”,单击“确定”。 返回13中访问的外部地址并刷新,若设置之后“x-forward-for”字段中显示的网关获取IP的结果为本机源IP,则完成验证。 ... ... ... x-forward-for: xxxx
-
前提 确保准备工作已完成。 梳理网格下各个集群的网关和跨集群svc。 集群 网关 跨集群访问的服务 A a-gw 集群A 、集群B B b-gw 集群B ... ... ... 关闭mtls以及访问授权,是用如下命名查看是否存在对应资源。 kubectl get PeerAuthentication -A kubectl get AuthorizationPolicy -A kubectl get RequestAuthentication -A 查看查询到的PeerAuthentication ,若spec.mtls.mode为STRICT,则需要将STRICT改为PERMISSIVE。 查看查询到的AuthorizationPolicy, 若使用了该功能,则需要在迁移过程中暂时删除访问授权。 查看查询到的RequestAuthentication, 若使用了该功能,则需要在迁移过程中暂时删除请求认证。 解除业务上使用k8s域名进行跨集群访问。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格