ServiceEntry与服务和端点

问题描述 投票:1回答:1

当我可以简单地创建ServiceEntry时,使用Service的主要好处是什么(如果此服务是一组外部IP,则定义Endpoints而不是selector)。在什么情况下我不能依靠Service

kubernetes istio
1个回答
0
投票

[我想说,documentation中提到了主要好处,您可以配置流量路由,定义重试,超时,故障注入等。

服务条目描述了服务的属性(DNS名称,VIP,端口,协议,端点)。这些服务可能在网状网络外部(例如,Web API)或不在网状网络服务注册表中的网状内部内部服务(例如,一组与Kubernetes中的服务进行通信的VM)。


您使用service entry将一个条目添加到Istio内部维护的服务注册表中。

[[添加服务条目后,Envoy代理可以将流量发送到该服务,就好像它是一个服务。您的网格。配置服务条目可让您管理在网格外运行的服务的流量,包括以下任务:
  • 用于外部目标的重定向和转发流量,例如API从网络消耗的流量,或旧版服务的流量基础架构。
  • 为外部计算机定义retrytimeoutfault injection策略目的地。
  • 通过adding VMs to your mesh.在虚拟机(VM)中运行网格服务
  • 将不同群集中的服务逻辑添加到网格在Kubernetes上配置multicluster Istio mesh
  • 您不需要为希望使用网格服务的每个外部服务添加服务条目。默认情况下,Istio将Envoy代理配置为将请求传递给未知服务。但是,您不能使用Istio功能来控制到未在网格中注册的目标的访问量。

    以下示例网格外部服务条目将ext-svc.example.com外部依赖项添加到Istio的服务注册表中:

    apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: svc-entry spec: hosts: - ext-svc.example.com ports: - number: 443 name: https protocol: HTTPS location: MESH_EXTERNAL resolution: DNS

    您使用主机字段指定外部资源。您可以完全限定它,也可以使用带通配符前缀的域名。

    您可以配置虚拟服务和目标规则,以更精细的方式控制到服务条目的流量,就像您为网格中的任何其他服务配置流量一样。

    例如,以下目标规则用于配置使用双向TLS来保护与我们使用服务条目配置的ext-svc.example.com外部服务的连接的流量路由:
    apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: ext-res-dr spec: host: ext-svc.example.com trafficPolicy: tls: mode: MUTUAL clientCertificate: /etc/certs/myclientcert.pem privateKey: /etc/certs/client_private_key.pem caCertificates: /etc/certs/rootcacerts.pem
    请参阅Service Entry reference以获取更多可能的配置选项。
    © www.soinside.com 2019 - 2024. All rights reserved.