You need to enable JavaScript to run this app.
文档中心
微服务引擎

微服务引擎

复制全文
下载 pdf
服务管理
添加外部服务
复制全文
下载 pdf
添加外部服务

外部服务将 Kubernetes 外的服务封装成服务网格中的服务,可以像 Kubernetes 内部的服务一样使用,为网格内和网格外服务的统一管理提供基础。本文为您介绍如何添加外部服务。

背景信息

使用服务网格的过程中,对于不在 Kubernetes 集群中的服务资源也会存在流量管控的诉求,比如我们可能会希望能够把 Kubernetes 之外虚拟机应用加入服务网格、对应访问集群外部的域名进行白名单限制,甚至对访问数据库的流量进行访问控制。 这些外部访问的需求都需要使用到外部服务。

操作步骤

  1. 登录 服务网格控制台

  2. 在左侧导航栏,选择 服务治理 > 服务总览

  3. 服务总览 页面单击 添加外部服务

  4. 配置服务。

    • 服务配置
      alt

      参数说明
      服务名称长度限制 2~63 个字符,只能包含大小写字母、数字、和中划线(-), 不能以中划线(-)开头。
      添加到网格选择外部服务所在的网格。
      命名空间外部服务运行于服务网格主集群中的命名空间。通过将外部服务创建在不同的命名空间中,并结合 exportTo 的策略,可以控制当前外部服务是否支持被其他命名空间中的服务的访问。
      HostHost 用于匹配虚拟服务(Virtualservice)和目标规则(DestinationRule)中的 Host 字段。对于 HTTP 的流量,Host 匹配 HTTP Header 的 Host 或 Authority。对于 HTTPS 或 TLS 流量,Host 匹配 SNI。
      协议转发规则定义了入口网关对外开放的域名、协议和端口,可以添加多条转发规则。支持 HTTP、HTTP2、HTTPS、TCP、TLS、GRPC 协议。
      端口外部服务支持访问的协议和端口号。默认值为 80。合法值为 1~65535。
      解析方式外部服务地址的解析方式,支持以下方式:
      • 静态:已经使用 Endpoints 设置了服务实例的地址场景中,即不用 DNS 解析。
      • DNS:表示用查询环境中的 DNS 进行解析。如果没有设置 Endpoints,代理就会使用在 Hosts 中指定的 DNS 地址进行解析,前提是在 Hosts 中未使用通配符。如果设置了 Endpoints,则使用 Endpoints 中的 DNS 地址解析出目标 IP。
      • NONE:用于当连接的目标地址以及是一个明确 IP 的场景。当访问外部服务且应用要被解析到一个特定的 IP 上时,要将模式设为 NONE。
      位置用于标识服务在网格内部还是外部。
      • 虚拟机中的应用请选择 网格内
      • 外部域名,例如 httpbin.org ,请选择 网格外
      exportTo指定允许访问当前服务的命名空间。
    • 访问设置
      alt

      参数说明
      服务虚拟 IP服务虚拟 IP(Address)表示与服务关联的虚拟 IP 地址。访问服务虚拟 IP 时,IP 地址会被转发到 Endpoint 中。服务虚拟 IP 地址是一定范围的 IP 段,需要填写点分十进制格式的 CDIR 段,例如 192.168.1.0/24
      Endpoint如果外部服务的后端是云主机,需要设置云主机的配置
      • 后端地址 :后端服务的地址。
      • ports :后端服务协议和端口号。
      • labels :后端实例的标签。
      • weight :如果有多个后端地址可以设置负载均衡的权重。取值范围为 0 到 100,取值越大,接收的流量占比越大。
  5. 完成配置后单击 确定

操作结果

创建完成后可以在服务总览页面查看新建的外部服务。

alt

后续步骤

单击已创建外部服务 操作 列下对应的选项,执行后续的操作。

  • 治理规则配置:跳转至规则配置页面,创建服务的流程策略(目标规则)和流量路由规则(虚拟服务),实现流量的有序管理。具体的操作说明参见 创建目标规则创建虚拟服务
  • 编辑:服务配置说明参见 管理外部服务 中服务配置说明。
  • 删除:单击删除,二次确认后既可以删除目标服务。
最近更新时间:2024.12.09 10:00:01
这个页面对您有帮助吗?
有用
有用
无用
无用