Сброс соединения по пиру при указании TLS traffi c в Istio - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть распределенная база данных (Consul), которую я хочу запустить в Istio в Кубернетесе. Связь между узлами зашифрована и проверена с использованием mTLS. Я использую безголовый сервис, чтобы позволить партнерам достигать друг друга:

apiVersion: v1
kind: Service
metadata:
  name: cluster
  namespace: consul
spec:
  clusterIP: None
  publishNotReadyAddresses: true
  selector:
    app: consul
  ports:
  - name: tcp-server
    port: 8300
    targetPort: 8300
  - name: tcp-serflan
    protocol: TCP
    port: 8301
    targetPort: tcp-serflan
  - name: udp-serflan
    protocol: UDP
    port: 8301
    targetPort: udp-serflan

Однако, когда я называю порт tcp-server на безголовом сервисе tls-server, вместо этого я вижу множество ошибок сброса соединения :

2020/02/18 08:46:44 [INFO] serf: EventMemberUpdate: consul-0
2020/02/18 08:47:33 [ERR] agent: Coordinate update error: rpc error making call: stream closed
2020/02/18 08:47:38 [WARN]  raft: Heartbeat timeout from "10.0.3.146:8300" reached, starting election
2020/02/18 08:47:38 [INFO]  raft: Node at 10.0.2.114:8300 [Candidate] entering Candidate state in term 106
2020/02/18 08:47:38 [ERROR] raft: Failed to make RequestVote RPC to {Voter 54224806-ed63-0d1b-ae2c-9c1a09de43c4 10.0.3.146:8300}: EOF
2020/02/18 08:47:38 [ERROR] raft: Failed to make RequestVote RPC to {Voter 5b2e92ce-61d8-032e-dd94-c0d9eb1319a0 10.0.1.209:8300}: read tcp 10.0.2.114:40018->10.0.1.209:8300: read: connection reset by peer
2020/02/18 08:47:47 [WARN]  raft: Election timeout reached, restarting election
2020/02/18 08:47:47 [INFO]  raft: Node at 10.0.2.114:8300 [Candidate] entering Candidate state in term 107
2020/02/18 08:47:47 [ERROR] raft: Failed to make RequestVote RPC to {Voter 54224806-ed63-0d1b-ae2c-9c1a09de43c4 10.0.3.146:8300}: read tcp 10.0.2.114:40762->10.0.3.146:8300: read: connection reset by peer
2020/02/18 08:47:47 [ERROR] raft: Failed to make RequestVote RPC to {Voter 5b2e92ce-61d8-032e-dd94-c0d9eb1319a0 10.0.1.209:8300}: read tcp 10.0.2.114:40062->10.0.1.209:8300: read: connection reset by peer

Как Istio / Envoy обрабатывает трафик TLS c, который может быть причиной этой проблемы? Traffi c - это TLS traffi c (я делаю this ), поэтому представляется необходимым сделать вид, что traffi c is TCP.

  • Консульская версия: 1.6.2
  • Версия Istio: 1.4.4
...