Instio에서 MTL을 비활성화하는 방법은 무엇입니까?

Nov 19 2020

Kubernetes의 두 서비스를 Istio와 연결하는 데 문제가 있습니다. 내 서비스는 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으로 나는 내 서비스에 도달 할 수 없습니다. 조언이 있습니까?

답변

1 Jakub Nov 23 2020 at 15:41

mtls 비활성화

이 PeerAuthentication은 mtls를 비활성화하는 올바른 방법입니다.

apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
  name: "default"
  namespace: "istio-system"
spec:
  mtls:
    mode: DISABLE

그것에 대한 istio 문서 가 있습니다.


Elasticsearch 문제

istio 문서에 따르면 :

Istio로 Elasticsearch를 실행하기 위해 적절하게 설정해야하는 두 가지 Elasticsearch 구성 매개 변수가 있습니다 : network.bind_hostnetwork.publish_host . 기본적으로 이러한 매개 변수는 network.host 매개 변수로 설정됩니다. network.host가 0.0.0.0으로 설정된 경우 Elasticsearch는 대부분 게시 주소로 포드 IP를 선택하므로 추가 구성이 필요하지 않습니다.

기본 구성이 작동하지 않으면 network.bind_host를 0.0.0.0 또는 localhost (127.0.0.1)로 설정하고 network.publish_host를 포드 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의 네트워크 설정을 참조하십시오 .

작동하지 않으면 두 가지 github 문제가 있습니다.

  • https://github.com/istio/istio/issues/14662#issuecomment-723669123
  • https://github.com/elastic/cloud-on-k8s/issues/2770

사용을 제안하는

annotations:
  traffic.sidecar.istio.io/excludeOutboundPorts: "" 
  traffic.sidecar.istio.io/excludeInboundPorts: ""

그것에 대한 elasticsearch 문서 가 있습니다.