问题标签 [servicemesh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
136 浏览

istio - 根据 5xxErrors 的百分比触发 Istio 断路器

我正在阅读Istio 断路器的文档。我看到对于给定的时间间隔,我们可以设置一个数值consecutive5xxErrors(并检查一些其他设置)以使断路器动作生效。

5xxerrors我想知道是否有可能根据与正常连接的百分比在 Istio 中进行断路?

0 投票
0 回答
10 浏览

security - 使用服务网格时应该如何设计 VPC?

在像 Envoy 这样的服务网格边车代理中,在服务之间转发流量,确保所有网络流量都是加密的,并且只有允许的服务可以相互通信。

在这种情况下,VPC 设计应该是什么样子?是否会在网格中的所有主机之间启用东西向流量?或者,通过仅启用特定主机之间的流量,零信任是否也可以扩展到这一层?

尝试强制执行单独的防火墙规则(例如,“运行服务 A 的这 5 台主机可以与运行服务 B 的这 5 台主机通信”)将很快变得复杂,尤其是在具有临时或自动缩放基础设施的大型网格中。网络基础设施自动化会有所帮助,但在包含数千台主机的非常大的网格中,单个规则的数量很快就会变得难以管理。

0 投票
1 回答
124 浏览

node.js - Kubernetes/Istio - 出错时重启服务

我在 Kubernetes 中部署了一个应用程序。我正在使用 Istio 服务网格。当发生特定错误时,我的一项服务需要重新启动。这是可以使用 Istio 实现的吗?

我不想使用 cronjob。此外,让应用程序重新启动本身似乎是一种反模式。

该应用程序是一个带有 fastify 的 node js 应用程序。

0 投票
2 回答
276 浏览

proxy - 如何在 Istio 中制作断路器?

我正在尝试在 Istio 中配置断路器。这是yaml。

我在 JMeter 中有一个线程组列表,这些线程组将不断地访问与上述断路器关联的服务。收到错误响应后,它应该使服务不可用 1 分钟。但是,这并没有发生。

我误解了它是如何工作的吗?有没有办法做到这一点?

0 投票
0 回答
90 浏览

load-balancing - 如何实现具有持久连接的有状态应用程序的负载平衡 - Envoy 和 Rsocket

我正在研究服务器和客户端的架构模型,它们都通过 Rsocket 连接进行连接。我使用 Envoy 为服务器配置了一个负载均衡器。请求流程如下所示,

假设我有 3 个服务器实例和 1 个代理实例。

  1. 代理将使用其标头连接到任何一台服务器(使用 Envoy 中的 MAGLEV 负载平衡策略)。
  2. 所有后续请求都应定向到代理连接所在的特定服务器。

但是,如果我按比例放大/缩小服务器实例,则标头哈希值将被重新哈希,并且后续请求将重定向到代理连接(以前连接 - 仍驻留在旧服务器实例中)不存在于新服务器中的不同服务器实例实例。

因此,一种可能的解决方案是通过识别持有代理连接的正确服务器实例(需要对服务器代码进行一些更改)在服务器之间进行重定向。但我不太确定这是最好的解决方案。所以,我想知道我是否可以使用任何 Envoy 配置来解决这个问题,或者我可以实施什么逻辑来缓解这个问题。

0 投票
0 回答
45 浏览

kubernetes - Maistra ServiceMeshControlPlane 和 Mesh 在 OpenShift4 上的同一命名空间/项目中

假设我在 OpenShift 4 上有一个名为my-namespace.

是否可以在其中运行服务网格控制平面my-namespace,同时使这个命名空间成为ServiceMeshMemberRoll?

我可以以某种方式将 istio sidecar 注入到其中的任何部署中my-namespace吗?

似乎每当在命名空间中创建控制平面时,自动注入边车就会被禁用,因为标签maistra.io/ignore-namespace会自动添加到命名空间中,这会阻止控制器将边车注入任何部署,即使 pod 使用sidecar.istio.io/inject: 'true'. (来源

当我尝试添加my-namespace到控制器时,会从清单default ServiceMeshMemberRoll中删除成员。my-namespace

我是否正在尝试做一些本来不应该这样做的事情?

0 投票
0 回答
47 浏览

kubernetes - Kubernetes 仪表板不适用于 ServiceMesh

请帮助我理解为什么 Kubernetes 的仪表板不能与 ServiceMesh 一起使用。将 EKS 和 AppMesh 用于 ServiceMesh 通常,当我在没有 AppMesh 的名称空间上进行相同的安装时,它可以正常工作,但是当想要推送由 AppMesh 控制的流量时,我会收到权限错误:

它是否以某种方式连接到一个 pod 上的两个容器?并且它不能授予两者的访问权限?或者是什么原因?使用默认仪表板设置(只需重命名命名空间):

并添加了 appmesh VirtualNode:

有人遇到过这样的问题吗?

0 投票
1 回答
47 浏览

istio - 如何检测 Istio 中的微服务故障和自动恢复选择

我是 Istio 的新手。

我的问题是如何检测已经在 istio 中运行的服务中的故障?

如果出现故障,如何定义新版本服务的特定流量百分比?

谢谢。

0 投票
1 回答
252 浏览

microservices - 使用 Consul 作为 xds 管理服务器进行特使代理,无需 consul 连接

我正在开发一个项目,我想将其配置envoyconsulxds 服务器。但我不想使用consul connect. 我只想使用 consul 进行服务发现和 xds 服务器。

我已经使用-dev启用 grpc 端点的模式启动了领事代理,并且我已经注册了一个服务hello-service,我可以在consul ui.

我的准系统特使配置

我正在尝试从领事获取一些配置,例如集群/端点hello-service,但是当我启动特使进程时,我收到了这个警告。

我对这个错误的理解是与管理服务器的连接失败。但在领事日志中,我可以看到 grpc 端口已启动。

0 投票
0 回答
33 浏览

istio - 为什么 Istio 需要这么多听众

Istio 使用 15001 监听器来接收连接并将其转发给特定的监听器。比如在demo中,会转发给9080监听器。

为什么不能在15001监听器中直接处理所有请求?是性能原因,还是有其他考虑?