活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 12.12年度钜惠 NEW 爆款云主机2核2G仅需28.8元/年,X实例35.1元/半年起! 8代机+XSSD新客专享2.5折!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云AI产品特惠 NEW 人脸识别+文字识别焕新,新用户免费试用
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
智算云(DeepSeek专区)
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
  • MCP市场
算力互联调度平台
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案智云上海应用生态专区
AI应用
  • 泛微合同管理解决方案
  • 泛微数智大脑Xiaoe.AI解决方案
  • MaxKB知识库解决方案
  • 天翼AI文创
AI服务
  • 昆仑AI训推服务解决方案
  • 国信模型服务解决方案
企业应用
  • 翼电子签约解决方案
  • 翼协同解决方案
  • 翼电签-契约锁解决方案
  • 翼视频云归档解决方案
教育应用
  • 翼电子教室
  • 潜在AI教育解决方案
建站工具
  • SSL证书
  • 翼定制建站解决方案
  • 翼多端小程序解决方案
办公协同
  • 天翼云企业云盘
  • 安全邮箱
灾备迁移
  • 云管家2.0
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      应用服务网格

      应用服务网格

      • 应用服务网格

      无数据

        • 产品动态与公告
        • 产品简介
        • 产品定义
        • 产品优势
        • 应用场景
        • 产品规格
        • 名词解释
        • 使用限制
        • 购买指南
        • 计费说明
        • 欠费与续费说明
        • 快速入门
        • 入门概述
        • 部署bookinfo应用到CSM实例
        • 通过云原生网关访问bookinfo应用
        • 使用istio资源实现版本流量路由
        • 用户指南
        • 实例权限及标签管理
        • 网格管理
        • 网格列表
        • 全局Service管理
        • 全局命名空间
        • 网格状态
        • 网格诊断
        • 升级管理
        • 金丝雀升级
        • 访问网格CRD
        • sidecar管理
        • 安装Sidecar代理
        • CNI插件
        • 集群与工作负载
        • 虚机接入
        • 多集群管理
        • 多集群管理概述
        • 多集群网络规划
        • 多集群服务发现
        • 服务条目管理
        • 容器集群管理
        • Kubernetes服务管理
        • 服务列表
        • 服务基础信息
        • 服务版本管理
        • 服务访问方式
        • 服务流量管理
        • 流量管理中心
        • 虚拟服务
        • 目标规则
        • 本地限流
        • 流量标签路由
        • 全链路灰度
        • 概述
        • 全链路灰度实现原理
        • 泳道组及泳道管理
        • 全链路灰度功能体验
        • 路由级熔断
        • 全局限流
        • 高可用能力构建
        • 多协议治理
        • gRPC协议治理
        • Dubbo协议治理
        • 网格安全中心
        • 网格安全概述
        • 工作负载身份
        • 对等身份认证
        • 请求身份认证
        • 授权策略
        • 自定义授权服务
        • CSM安全策略
        • CSM安全策略概述
        • OIDC单点登录
        • JWT认证策略
        • 黑白名单策略
        • 自定义授权服务策略
        • OPA策略
        • 授权控制示例
        • 自定义授权服务
        • 使用JWT认证授权
        • 使用OPA策略引擎实现访问控制
        • API审计
        • 扩展中心
        • 服务网格数据面扩展概述
        • EnvoyFilter CRD说明
        • EnvoyFilterTemplate和EnvoyFilterTemplateBinding CRD说明
        • 使用自定义EnvoyFilter
        • 使用插件市场扩展网格能力
        • 内置插件说明
        • 调整代理请求和响应缓存大小插件
        • 调整HTTP请求头尺寸限制插件
        • 设置允许升级的协议连接插件
        • 设置http2的初始流量窗口大小插件
        • 解析JWT Payload的字段到请求头插件
        • 自定义错误页面插件
        • 自定义x-request-id操作插件
        • 直接响应插件
        • 增加HTTP响应头插件
        • 在访问日志中打印HTTP body插件
        • 在响应头中增加请求头信息插件
        • 保留请求与响应头部大小写插件
        • 可观测管理中心
        • 日志中心
        • 服务监控
        • 链路追踪
        • 网格优化中心
        • 自适应配置分发
        • 功能介绍及使用
        • 自适应配置分发优化效果
        • Sidecar资源
        • 服务发现范围
        • 数据面ebpf加速
        • 网关
        • 入口网关
        • 出口网关
        • 网关规则
        • 证书管理
        • API参考
        • API使用说明
        • 最佳实践
        • 应用服务网格配置建议
        • 使用云原生网关和应用服务网格实现全链路灰度发布
        • 应用服务网格对接Nacos注册中心
        • 使用SDK操作istio资源
        • 常见问题
        • 计费类
        • 操作类
        • 应用服务网格CSM控制面部署在哪里?
        • 应用服务网格CSM开通失败,提示xx资源已存在
        • 如何删除云容器引擎集群上处于Terminating状态的命名空间?
        • 为什么加入网格的pod停止时会有被调或者主调失败的情况?
        • 为什么目标规则配置不生效?
        • 多集群的命名空间是什么关系?
        • 服务网格对于Service的定义是否有要求?
        • sidecar内存持续升高有什么解决办法?
        • 为什么开通服务网格之后,网格控制面组件启动失败?
        • 为什么注入了sidecar,但是流量拦截没生效?
        • 如何开启服务网格IPv6功能?
        • 相关协议
        • 天翼云应用服务网格服务协议
        • 天翼云应用服务网格服务等级协议
          无相关产品

          本页目录

          帮助中心应用服务网格用户指南集群与工作负载虚机接入
          虚机接入
          更新时间 2025-12-29 17:12:08
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2025-12-29 17:12:08
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接

          1. 引言

          服务网格接入虚机是为了让传统应用在不改造架构的前提下,也能获得服务网格的治理能力,例如统一的服务发现、流量控制、故障治理与安全通信,从而支撑平滑上云和系统演进。

           

          2. 架构

           

          3. 准备工作

          3.1 创建网格实例

          确保在控制面中已创建好可用的 服务网格实例,并确认网格状态为 Running。 后续步骤中的虚拟机将加入此网格实例以实现统一流量管理与安全控制。

          注意

          确保目标虚拟机和网格实例之间网络互通。

           

           

          3.2. 创建接入网格的虚拟机

          准备一台或多台计划纳入网格的虚拟机;

          说明

          权限要求:具备 root 或具有 sudo 权限的用户;

          网络要求:可以访问到 容器集群 API Server 的地址;

           

          3.3 上传 istioctl 与 kubectl 工具

          下载并将以下二进制文件上传至虚拟机(例如存放于 /usr/local/bin):

          • istioctl

          • kubectl

           

          执行以下命令添加到系统环境变量:

          export PATH=$PATH:/usr/local/bin

          验证:

          kubectl version --client
          istioctl version

           

          3.4 配置 kubeconfig 文件

          将容器集群的 kubeconfig 文件拷贝至虚拟机,使 kubectl 可正常访问主集群。
          文件路径:
          ~/.kube/config

          验证连接是否成功 
          kubectl get ns

          若能列出命名空间列表,说明连接正常。

           

          3.5 创建istio-proxy用户

          在虚拟机中创建 istio-proxy 用户及用户组,用于运行 Sidecar 代理进程。
          sudo useradd -r -M -s /sbin/nologin istio-proxy

          • -r 表示创建系统用户;

          • -M 不创建 home 目录;

          • -s /sbin/nologin 表示该用户不可直接登录;

          Sidecar 启动将以该用户身份运行。

           

          3.6 准备 istio ConfigMap

          在虚拟机加入网格过程中,istio ConfigMap 是必需的资源。  
          它包含虚拟机与控制平面通信所需的基础配置。

          在部分安装环境中,默认生成的 ConfigMap 名称包含版本号,例如:istio-1-19-0
           

          此时集群中并不存在名为 istio 的 ConfigMap,  
          但虚拟机接入流程(如 istioctl x workload-entry configure )会依赖该名称。  
          因此,需要复制一份带版本号的 ConfigMap 并命名为 istio。

          执行以下命令,将已有的 istio-<version> ConfigMap 复制为 istio:

          kubectl -n istio-system get configmap istio-<version> -o yaml \
           | sed 's/name: istio-<version>/name: istio/' \
           | kubectl apply -f -
          • <version>:请替换为当前安装的 Istio 实际版本号,例如 1-19-0。


          确认 ConfigMap 是否成功创建:
          kubectl -n istio-system get configmap | grep istio

          示例输出:

          istio              1      2m
          istio-1-19-0       1      3d

           

          4. 设置环境变量

          在集群的计算机上设置环境变量 VM_APP、WORK_DIR、VM_NAMESPACE 和 SERVICE_ACCOUNT (例如:WORK_DIR="${HOME}/work_dir"):

          VM_APP="myhertz"                      # <将在这台虚机上运行的应用名>
          VM_NAMESPACE="prod"            # <您的服务所在的命名空间>
          WORK_DIR="/root/work_dir/"         # <证书工作目录>
          SERVICE_ACCOUNT="prodsa" # <为这台虚机提供的 Kubernetes 服务账号名称>
          CLUSTER_NETWORK="network1984088494607171585"      # 集群网络
          VM_NETWORK="network1984088494607171585"        # VM 所在网络
          CLUSTER="cce-5f7hp4"                 # 集群名称或类型
          • CLUSTER_NETWORK/CLUSTER可以从iop类型资源 istiocontrolplane<VERSION> 中获取,VM_NETWORK保持与CLUSTER_NETWORK相同;

           

          创建工作目录:
          mkdir -p "${WORK_DIR}"

           

          5. 配置虚拟机的命名空间

          创建用于托管虚拟机的命名空间:
          kubectl create namespace "${VM_NAMESPACE}"

          为虚拟机创建ServiceAccount:
          kubectl create serviceaccount "${SERVICE_ACCOUNT}" -n "${VM_NAMESPACE}"
           

          6. 创建虚拟机配置文件

          首先,为虚拟机创建 WorkloadGroup 模板:

          cat <<EOF > workloadgroup.yaml
          apiVersion: networking.istio.io/v1
          kind: WorkloadGroup
          metadata:
           name: "${VM_APP}"
           namespace: "${VM_NAMESPACE}"
          spec:
           metadata:
             labels:
               app: "${VM_APP}"
           template:
             serviceAccount: "${SERVICE_ACCOUNT}"
             network: "${VM_NETWORK}"
          EOF
          • 可以将文件workloadgroup.yaml放置于/root目录下

          执行命令生成文件:
          istioctl x workload entry configure -f workloadgroup.yaml -o "${WORK_DIR}" --clusterID "${CLUSTER}"

          在${WORK_DIR}目录下生成以下文件:

          • cluster.env:包含用来识别命名空间、服务帐户、网络 CIDR、和入站端口(可选)的元数据。

          • istio-token:用来从 CA 获取证书的 Kubernetes 令牌。

          • mesh.yaml:提供 ProxyConfig 来配置 discoveryAddress、健康检查以及一些认证操作。

          • root-cert.pem:用于认证的根证书。

          • hosts:/etc/hosts 的补充,代理将使用该补充从 Istiod 获取 xDS.*。

           

          7. 修改虚拟机配置文件

          在生成的工作目录 ${WORK_DIR} 中,会包含虚拟机接入网格所需的全部文件。  
          但要确保虚拟机能够正确与 Istio 控制平面通信,还需要进行以下两个额外修改。

           

          7.1 增加 CA_ADDR 环境变量

          在 ${WORK_DIR}/cluster.env 文件中追加以下环境变量:
          CA_ADDR=istiod-<version>.istio-system.svc:15012
           

          示例:
          CA_ADDR=istiod-1-19-0.istio-system.svc:15012
           

          说明

          在默认配置中,虚拟机端的 istio-agent 会尝试自动解析 CA 地址(istiod 服务)。
          但在部分环境中,Istio 的服务命名规则中包含版本号(如 istiod-1-19-0),
          这会导致虚拟机无法通过默认的服务名 istiod.istio-system.svc 成功解析到控制面地址。

          因此,需要显式设置 CA_ADDR 变量,指定正确的控制面服务地址和端口。

           

          7.2 更新 hosts 文件

          ${WORK_DIR}/hosts 中默认的域名解析只有 192.168.2.122 istiod.istio-system.svc,需要添加带版本好的域名记录,例如:
          192.168.2.122 istiod-1-19-0.istio-system.svc
          备注:IP 地址保持和 istiod.istio-system.svc 相同。

           

          8. 配置虚拟机

          在要添加到 Istio 网格的虚拟机上,运行以下命令:

          1. 将根证书安装到目录 /etc/certs:
          $ sudo mkdir -p /etc/certs
          $ sudo cp "${WORK_DIR}"/root-cert.pem /etc/certs/root-cert.pem
           

          2. 将令牌安装到目录 /var/run/secrets/tokens:
          $ sudo  mkdir -p /var/run/secrets/tokens
          $ sudo cp "${WORK_DIR}"/istio-token /var/run/secrets/tokens/istio-token
           

          3. 下载并安装含 Istio 虚拟机集成运行时(runtime)的包:
          $ sudo rpm -i istio-sidecar.rpm
           

          4. 将 cluster.env 安装到目录 /var/lib/istio/envoy/ 中:
          $ sudo cp "${WORK_DIR}"/cluster.env /var/lib/istio/envoy/cluster.env
           

          5. 将网格配置文件 Mesh Config 安装到目录 /etc/istio/config/mesh:
          $ sudo cp "${WORK_DIR}"/mesh.yaml /etc/istio/config/mesh
           

          6. 将 istiod 主机添加到 /etc/hosts:
          $ sudo cat "${WORK_DIR}"/hosts >> /etc/hosts
           

          7. 把文件 /etc/certs/ 和 /var/lib/istio/envoy/ 的所有权转移给 Istio 代理:
          $ sudo mkdir -p /etc/istio/proxy
          $ sudo chown -R istio-proxy /var/lib/istio /etc/certs /etc/istio/proxy /etc/istio/config /var/run/secrets /etc/certs/root-cert.pem


          9. 在虚拟机上启动Istio

          使用 istio-proxy 用户启动 istio 代理
          sudo -u istio-proxy systemctl start istio
           

          10. 验证虚拟机上 Istio 是否启动成功

          1. 检查 /var/log/istio/istio.log 中的日志,应该能看到类似如下内容:

           

          2. 创建命名空间,部署基于Pod的服务
          kubectl create namespace sample
          kubectl label namespace sample istio-injection=enabled
           

          3. 创建Helloworld服务
          kubectl apply -f samples/helloworld/helloworld.yaml
           

          4. 从虚拟机像服务发送请求:

          [root@msegw-vmcaf1otdh tantao]# curl helloworld.sample.svc:5000/hello
          Hello version: v2, instance: helloworld-v2-5df48bd4dc-nclfx
          [root@msegw-vmcaf1otdh tantao]# curl helloworld.sample.svc:5000/hello
          Hello version: v2, instance: helloworld-v2-5df48bd4dc-nclfx
          [root@msegw-vmcaf1otdh tantao]# curl helloworld.sample.svc:5000/hello
          Hello version: v1, instance: helloworld-v1-bcd77f79-xcs5n

           



           

          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  集群与工作负载
          下一篇 :  多集群管理
          搜索 关闭
          ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2025天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明