问题标签 [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 回答
1538 浏览

kubernetes - Kubernetes 的健康检查如何与 Istio 一起工作?

我正在使用 k8s 和 Istio 作为服务网格。我想知道如果服务 A 中的 pod 没有准备好(Readiness 不健康),Istio 将如何处理这个 pod?有没有办法配置负载均衡规则(L3/L4 层的负载均衡)?

0 投票
1 回答
354 浏览

kubernetes - 在 kubernetes 中使用 service Mesh 时还需要 CNI 吗?

一旦我开始在 Kubernetes 集群中使用服务网格(例如 Istio),是否仍然需要 CNI(例如 Flannel、Calico)?

0 投票
1 回答
344 浏览

kubernetes - 如何处理服务网格中的重大更改

我正在使用 Kubernetes 构建一个示例微服务应用程序,以找出未来项目的最佳实践和一些模式。我使用 Istio 作为服务网格来处理东西向流量,并且我对这些概念(VirtualServices、DestinationRules,...)有基本的了解。服务网格允许我轻松推出新版本的微服务并将流量重定向到新实例(例如使用加权分布)。当考虑到语义版本控制时,这对更新非常有效PatchMinor因为理论上它们不会改变现有的合同,因此可以作为现有服务的直接替代品。现在我想知道如何正确处理服务的重大更改,所以是Major版本更新。

很难找到这方面的信息,但由于我得到的信息有限,我现在正在考虑两种方法:

  1. 服务的每个主要版本(例如user-service)都有自己的VirtualService,以便客户端可以正确地处理它(通过不同的服务名称,例如user-service-v1)。然后使用 Istio 将主要版本(例如1.*)的流量正确路由到不同的可用服务(例如user-service v1.3.1user-service v1.4.0)。

  2. 我将一个整体VirtualService用于特定的微服务(例如user-service)。这VirtualService包含许多路由定义以使用例如客户端发送的标头(例如x-major-version=1)将请求匹配到目的地。

总的来说,两种方法之间没有太大的区别。客户端显然需要通过设置标头或通过解析不同的服务名称来指定他想要谈论的主要版本。所描述的方法是否有任何限制,使一种优于另一种?或者还有其他我完全想念的选择吗?非常感谢任何帮助和指点!

0 投票
1 回答
1127 浏览

kubernetes - 默认用户禁止创建命名空间,尝试为 EKS 安装 meshery

我执行了以下命令:

我收到如下错误:

我之前执行的步骤如下:

要完成的目标: 为 EKS 集群安装和配置 Meshery。

参考链接:

  1. https://meshery.layer5.io/docs/installation/platforms/eks
  2. https://github.com/layer5io/meshery/blob/master/docs/pages/installation/kubernetes.md

编辑:我根据您的建议设置了 kube 上下文,但仍然没有到达那里:

0 投票
1 回答
192 浏览

kubernetes - 无法访问用完 istio 服务网格的 api

我正在使用 minikube 运行服务网格,并尝试使用 fortio 访问在 minikube 之外运行的 api:

但这给了我错误:

下面是我创建的服务入口和destinationRule 对象:

0 投票
1 回答
159 浏览

linkerd - 我可以将 Envoy 与 Linkerd 一起使用吗?

大多数服务网格使用 Envoy 作为 sidecar 代理,但这似乎不是 Linkerd 的默认选项。我们已经在使用 Envoy 作为入口,并且真的不想在混合中添加新的代理。我们可以将 Linkerd 与 Envoy 一起使用吗?

0 投票
1 回答
621 浏览

kubernetes - 带有上下文路径的 istio 虚拟服务路由目的地

我有 docker 容器在 tomcat(bitnami jasperreports)上运行 jasperreports 的 istio 配置。应用程序本身可以通过 http://IP:8080/jasperserver 的上下文路径访问。

我打算在我的 kubernetes 配置中使用 istio,使用 http 网关和虚拟服务公开服务。除了目标主机和端口号之外,我还可以在虚拟服务配置中添加“jasperserver”的上下文路径吗?

这是我当前的虚拟服务配置

0 投票
1 回答
517 浏览

kubernetes-ingress - 用于 Min TLS1.2 的 Istio Ingress-Gateway 的默认密码套件

有没有办法检查 Ingress 网关使用的默认密码套件?我的网关启用了 MTLS,最低 TLS 版本为 1.2。

0 投票
2 回答
1198 浏览

routes - 在负载均衡器中向 HTTP 请求添加自定义标头

我有一个容器化的应用程序/服务部署在带有 istio 服务网格的 openshift 容器平台中。在 istio 虚拟服务 yaml 中,我想验证 http 请求是否具有标头(例如:版本)和值 v1。我在验证标头的虚拟服务 yaml 中添加了以下配置。但是我正在寻找可用的选项来使用 loadbalancer/ingress/openshif 路由等在 HTTP 请求中注入此标头。因为我的 istio-ingressgateway 服务是使用 ClusterIp 部署的。我已经使用 openshift 路由将外部流量发送到 ingressgateway。请分享将标头添加到http请求的可能方法

0 投票
2 回答
604 浏览

nginx - Linkerd 使用 Nginx 入口控制器拆分流量

我已经部署了一个 Linkerd 服务网格,并且我的 Kubernetes 集群配置了 Nginx 入口控制器作为 DaemonSet,并且所有入口在 Linkerd 上也可以正常工作。最近,我添加了流量拆分功能来运行我的蓝/绿设置,我可以通过单独的入口资源访问这些服务。我已经创建了一个 apex-web 服务,如此处所述。如果我在内部与您联系此服务,它会完美运行。我创建了另一个入口资源,但无法在集群外部测试蓝/绿功能。我想提一下,我已经将(注入 Linkerd 代理)连接到我所有的 Nginx pod,但它正在503 Service Temporarily Unavailable从 Nginx 返回“”消息。

我浏览了文档并在之后创建了入口,我可以确认以下注释已添加到入口资源中。

但是集群的外部仍然没有运气。

我正在使用给定的 emojivoto 应用程序进行测试,所有流量拆分和 apex-web 服务都在这个培训存储库中。

我不太确定出了什么问题以及如何从集群外部解决此问题。如果有人帮助我解决这个 Linkerd、Blue/Green 问题,我将不胜感激。