无法使用 Istio sidecar 从 pod 卷曲弹性搜索
Can't curl elasticsearch from pod with Istio sidecar
我在我的集群中安装了 Istio,在我的 pods 命名空间原型之一上安装了 sidecar。然后我在另一个命名空间中安装了 elasticsearch,该命名空间有 sidecar。问题是我无法从 proto 命名空间中的 pods 内部卷曲 elasticsearch,但我可以从完全相同的 pod 中执行此操作,但在另一个没有边车的命名空间中。
这是错误:
/app # curl -k https://elasticsearch-elasticsearch-cluster.logging.svc.cluster.local:9200
curl: (35) 连接到 elasticsearch-elasticsearch-cluster.logging.svc.cluster.local:9200
时发生未知 SSL 协议错误
有人知道这里的问题是什么吗?
尝试在服务规范中为端口 9200 指定一个以 tcp
开头的名称,例如 tcp-elastic-search-port
,或者也将协议的端口指定为 TCP
。它将指示 Istio 将该端口的流量视为 tcp。
这个问题可能与 Istio 端口处理有关,在协议方面 - 请参阅 https://istio.io/docs/setup/kubernetes/sidecar-injection.html#pod-spec-requirements。
好的,我解决了这个问题。在不同类型的安装之后,以及在新的干净集群上,我通过从 istio master 分支安装 helm chart 并在 values.yaml 文件中激活自动 sidecar 注入来让它工作。
最新 istio 版本 0.7.1 的 helm chart 不工作,手动 sidecar 注入也不工作,所以我需要使用自动,通过在 helm chart 中激活它。
我不确定为什么它以前不起作用,我现在可以从另一个没有 sidecar 的命名空间卷曲我的 elasticsearch,并且出口规则按预期工作。
谢谢你的帮助:)
我在我的集群中安装了 Istio,在我的 pods 命名空间原型之一上安装了 sidecar。然后我在另一个命名空间中安装了 elasticsearch,该命名空间有 sidecar。问题是我无法从 proto 命名空间中的 pods 内部卷曲 elasticsearch,但我可以从完全相同的 pod 中执行此操作,但在另一个没有边车的命名空间中。
这是错误:
/app # curl -k https://elasticsearch-elasticsearch-cluster.logging.svc.cluster.local:9200 curl: (35) 连接到 elasticsearch-elasticsearch-cluster.logging.svc.cluster.local:9200
时发生未知 SSL 协议错误有人知道这里的问题是什么吗?
尝试在服务规范中为端口 9200 指定一个以 tcp
开头的名称,例如 tcp-elastic-search-port
,或者也将协议的端口指定为 TCP
。它将指示 Istio 将该端口的流量视为 tcp。
这个问题可能与 Istio 端口处理有关,在协议方面 - 请参阅 https://istio.io/docs/setup/kubernetes/sidecar-injection.html#pod-spec-requirements。
好的,我解决了这个问题。在不同类型的安装之后,以及在新的干净集群上,我通过从 istio master 分支安装 helm chart 并在 values.yaml 文件中激活自动 sidecar 注入来让它工作。
最新 istio 版本 0.7.1 的 helm chart 不工作,手动 sidecar 注入也不工作,所以我需要使用自动,通过在 helm chart 中激活它。
我不确定为什么它以前不起作用,我现在可以从另一个没有 sidecar 的命名空间卷曲我的 elasticsearch,并且出口规则按预期工作。
谢谢你的帮助:)