问题标签 [istio]

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 回答
3130 浏览

service - Istio 中的 Mixer 和 Pilot 有什么区别?

我已阅读文档,但似乎无法理解 Mixer 和 Pilot 之间的区别。有没有重叠?我的意思是我想在他们之间划出一个明确的界限,以了解他们的职责以及他们与网格中的特使代理的通信。如果可能,请添加不同用例的示例。

0 投票
2 回答
462 浏览

docker - bookinfo 示例应用程序在 istio 上崩溃

我正在尝试评估 istio 并尝试部署与 istio 安装一起提供的 bookinfo 示例应用程序。在这样做时,我面临以下问题。

问题:

istio 客户端和控制平面组件的安装非常顺利。

控制平面也可以正常启动。

但是,当我启动 bookinfo 应用程序时,该应用程序的代理初始化容器会崩溃,并显示一条神秘的“iptables:链已存在”日志消息。

0 投票
1 回答
286 浏览

trace - Istio 跟踪问题

我在 Istio 网站上做了一个类似于 bookinfo 应用程序的简单的 3 层服务。除了使用 zipkin 或 jaeger 进行跟踪外,一切似乎都运行良好。

澄清一下,我有 3 个服务 S1、S2、S3,它们都非常相似且微不足道,向下游传递请求并做一些工作。我可以在跟踪中看到 S1 和 S2,但看不到 S3。我进一步缩小了范围,当我使用 Istio 版本 0.5.0 时,我也可以在跟踪中看到 S3,但只是过了一段时间,但是,使用 Istio 版本 0.5.1,我只能看到 S1 和 S2在跟踪中,即使服务正常工作并且调用一直向下传播到 S3。

我能看到的唯一区别(我不确定这是否是一个问题)是 istio-proxy 中使用 istio 版本 0.5.0 的 S3 输出,但不是 0.5.1

“GET /readiness HTTP/1.1” 200 - 0 39 1 1 “-” “kube-probe/1.9+” “0969a5a3-f6c0-9f8e-a449-d8617c3a5f9f” “10.XX18:8080” “127.0.0.1:8080”

如果需要,我可以添加确切的 yaml 文件。此外,我不确定跟踪是否应该来自 istio-proxy,正如它在 istio 文档中显示的那样,但就我而言,我没有看到 istio-proxy,而只看到了 istio-ingress。

0 投票
1 回答
44 浏览

kubernetes - 在 Istio 中配置通过 PublicIP 将私有网络 IP 分配给 Pod

当我在 Istio 中部署示例 Bookinfo 应用程序时,我遇到了将公共 IP(172.16/...) 自动分配给 Pod 的问题。

现在我在云上的这个应用程序上运行,有什么方法可以配置 Istio(或 Kubernetes)来分配可用于 pod 的专用网络 IP,而不是像在本地机器中那样自动分配 PublicIP。

我知道在本地机器部署中只有 PublicIP 可用,因此这是一个自动选择。但是这里我们有可用于 Pod 的公共和私有网络 IP,因此是否有可能进行配置?

0 投票
1 回答
383 浏览

kubernetes - istioctl 命令给我错误“/home/ubuntu/.kube/config”不存在

我正在跟进 IstioSetup 中 istio 文档中的示例 我可以按照文档中的方式安装 istio 但是当我尝试运行 istioctl 命令示例时istioctl kube-inject -f samples/bookinfo/kube/bookinfo.yaml 出现如下错误

我已经使用 kismatic install 安装了 kubernetes 集群,并在安装 Kubernetes 1.9 和使用和不使用 ingress 的最后使用不同版本安装了多个。我在集群版本和非集群版本中尝试过相同的错误。

0 投票
2 回答
687 浏览

kubernetes - Istio 分布式跟踪仅显示 1 个跨度

我正在使用 Zipkin 遵循指南。我涉及 3 个微服务A -> B -> C,我正在将标头从 A 传播到 B,从 B 传播到 C。但是在 Zipkin 仪表板中,我只看到 and 的条目,A -> BB -> C不是A -> B -> C

这些是标题:

我可以看到在 Bx-b3-parentspanid中是空的,我想这是错误的,但我认为另一个正在工作......这怎么可能?

编辑:添加代码片段以显示标头传播

A -> B传播:

...

B -> C传播:

...

0 投票
1 回答
504 浏览

kubernetes - ISTIO: enable circuit breaking on egress

I am unable to get circuit breaking configuration to work on my elb through egress config.

ELB elb has success rate of 25% (75% 500 error & 25% with status 200), the elb has 4 instances, only 1 returns a successful response, other instances are configured to returns 500 error for testing purpose.

Setup

  • k8s: v1.7.4

  • istio: 0.5.0

  • env: k8s on aws

Egress rule

Destination Policy

Route rules: not set

Testing

.

Sending requests in parallel from the pod

Response enter image description here

0 投票
1 回答
1005 浏览

kubernetes - 基于 headers 用户代理的 Istio RouteRule 不起作用

我在 minikube 上运行了两个服务,Foo并且Bar. 当我访问该Foo服务时,它会请求Bar服务以检索一些数据。Bar服务有 2 个版本"1.0""2.0". 我已经设置了默认RouteRule配置,istio将所有请求路由到"1.0"

它工作正常,我可以看到所有请求都转发到"1.0". 现在我想RouteRule根据标题添加另一个,所以来自Chrome浏览器的所有请求都将被转发到"2.0"

它不起作用。所有请求仍然路由到"1.0". 我可以看到RouteRule已创建:

我可以在浏览器的开发人员工具中看到UserAgent标题存在。如何调试请求以查看为什么不转发到"2.0"

0 投票
1 回答
342 浏览

kubernetes - Istio RouteRules 不能一起工作

我有两个 IstioRouteRule用于httpDelay

对于httpReqTimeout

但是,我无法使这两者RouteRules一起工作。对于此配置,我有延迟,foo-server但请求超时不起作用,因此我从foo-server. 我试图改变httpDelay规则precedence: 2。在这种情况下,根本不会有任何延迟,我认为httpReqTimeout工作正常。在这两种情况下,我都可以看到创建了两个规则:

为什么这两个不RouteRules一起工作?

0 投票
2 回答
1220 浏览

grpc - 如何使用 envoy、nomad 和 consul 配置 gRPC 请求的动态路由

我们使用nomad将我们的应用程序(提供gRPC端点)部署为任务。然后使用nomad 的 service stanza将任务注册到Consul

我们的应用程序的路由是通过envoy proxy实现的。我们在 IP 上运行负载均衡的中央特使实例10.1.2.2

路由到哪个端点/任务的决定当前基于host标头,并且每个任务都注册为<$JOB>.our.cloud. 这导致了两个问题。

  1. 访问服务时,必须为负载均衡器 IP 注册 DNS 名称,这会导致/etc/hosts类似的条目

    使用 可以部分缓解这个问题dnsmasq,但是当我们添加新服务时仍然有点烦人。

  2. 不可能同时运行多个提供相同 gRPC 服务的服务。例如,如果我们决定测试一个服务的新实现,我们需要以job相同的名称以相同的名称运行它,并且需要实现在 gRPC 服务文件中定义的所有服务。

我们一直在讨论的一个可能的解决方案是使用tagsservice节的 来添加定义提供的 gRPC 服务的标签,例如:

但是Consul不鼓励这样做:

现在我们正在考虑使用像这样的标签来做这件事grpc-my-company-firstpackage__ServiceA......这看起来真的很恶心,虽然:-(

所以我的问题是:

  • 有没有人做过这样的事情?
  • 如果是这样,关于如何路由到由 Consul 自动发现的 gRPC 服务有什么建议?
  • 有人对此有其他想法或见解吗?
  • 这是如何在例如istio中完成的?