0

我在集群中安装了 Istio,在命名空间 proto 中的一个 pod 上安装了 sidecar。然后我在另一个命名空间中安装了 elasticsearch,其中有边车。问题是我无法从 proto 命名空间中的 pod 内部卷曲 elasticsearch,但我可以从完全相同的 pod 中执行此操作,但在另一个没有边车的命名空间中。

这是错误:

/app # curl -k https://elasticsearch-elasticsearch-cluster.logging.svc.cluster.local:9200 curl: (35) 连接到 elasticsearch-elasticsearch-cluster.logging.svc.cluster.local 的未知 SSL 协议错误:9200

有人知道这里可能是什么问题吗?

4

2 回答 2

0

尝试在服务规范中为端口 9200 指定一个以 开头的名称tcp,例如,tcp-elastic-search-port或者将协议的端口指定为TCP。它将指示 Istio 将该端口的流量视为 tcp。

该问题可能与协议方面的 Istio 端口处理有关 - 请参阅https://istio.io/docs/setup/kubernetes/sidecar-injection.html#pod-spec-requirements

于 2018-05-15T08:07:30.210 回答
-1

好的,所以我解决了这个问题。在不同类型的安装之后,以及在新的干净集群上,我通过从 istio master 分支安装 helm chart 来让它工作,并在 values.yaml 文件中激活自动 sidecar 注入。

最新 istio 版本 0.7.1 的 helm chart 不工作,手动 sidecar 注入也不工作,所以我需要通过在 helm chart 中激活它来使用自动。

我不确定为什么它以前不起作用,我现在可以从另一个没有边车的命名空间卷曲我的弹性搜索,并且出口规则按预期工作。

谢谢,无论如何帮助:)

于 2018-05-15T14:28:00.653 回答