我在使用 Istio 连接 Kubernetes 上的两个服务时遇到问题。
我的服务向 elasticsearch 发出 POST 请求。
2020-11-18T21:51:53.758079131Z org.elasticsearch.client.ResponseException: method [POST], host [http://elasticsearch:9200], URI [/_bulk?timeout=1m], status line [HTTP/1.1 503 Service Unavailable]
2020-11-18T21:51:53.758087238Z upstream connect error or disconnect/reset before headers. reset reason: connection failure
我读了一些关于此问题的问题/GitHub 问题,可能的原因之一可能是mtls
,那么我该如何禁用它呢?
我正在尝试这样做:
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "default"
namespace: "istio-system"
spec:
mtls:
mode: DISABLE
但有了这个PeerAuthentication
,我什至无法到达我的服务。
你有什么建议吗?
禁用 mtl
此 PeerAuthentication 是禁用 mtls 的正确方法。
apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
name: "default"
namespace: "istio-system"
spec:
mtls:
mode: DISABLE
有 istio文档 https://istio.io/latest/docs/tasks/security/authentication/authn-policy/#关于那个。
弹性搜索问题
根据 istio 文档:
要使用 Istio 运行 Elasticsearch,需要适当设置两个 Elasticsearch 配置参数:网络.bind_host and 网络.publish_host。默认情况下,这些参数设置为 network.host 参数。如果network.host设置为0.0.0.0,Elasticsearch很可能会选择pod IP作为发布地址,并且不需要进一步配置。
如果默认配置不起作用,您可以将network.bind_host设置为0.0.0.0或localhost(127.0.0.1),将network.publish_host设置为pod IP。例如:
...
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
env:
- name: network.bind_host
value: 127.0.0.1
- name: network.publish_host
valueFrom:
fieldRef:
fieldPath: status.podIP
...
参考Elasticsearch 的网络设置 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html#modules-network了解更多信息。
如果这不起作用,则存在两个 github 问题:
- https://github.com/istio/istio/issues/14662#issuecomment-723669123 https://github.com/istio/istio/issues/14662#issuecomment-723669123
- https://github.com/elastic/cloud-on-k8s/issues/2770 https://github.com/elastic/cloud-on-k8s/issues/2770
建议使用
annotations:
traffic.sidecar.istio.io/excludeOutboundPorts: ""
traffic.sidecar.istio.io/excludeInboundPorts: ""
有弹性搜索文档 https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-service-mesh-istio.html关于那个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)