Шлюз Istio не работает с одной сетью в режиме кластера - PullRequest
0 голосов
/ 17 февраля 2020

мы создаем два кластера kubernetes на gke в совместно используемом vp c и устанавливаем istio в режиме совместно используемого кластера, следуя https://istio.io/docs/setup/install/multicluster/shared-vpn/.

Мастер кластер deol

kubectl get deploy -n istio-system

NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
istio-citadel            1/1     1            1           25h
istio-galley             1/1     1            1           25h
istio-pilot              1/1     1            1           25h
istio-policy             1/1     1            1           25h
istio-sidecar-injector   1/1     1            1           25h
istio-telemetry          1/1     1            1           25h
prometheus               1/1     1            1           25h

kubectl get svc -n istio-system
NAME                     TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                                  AGE
istio-citadel            ClusterIP   10.124.13.87   <none>        8060/TCP,15014/TCP                       25h
istio-galley             ClusterIP   10.124.3.171   <none>        443/TCP,15014/TCP,9901/TCP,15019/TCP     25h
istio-pilot              ClusterIP   10.124.3.199   <none>        15010/TCP,15011/TCP,8080/TCP,15014/TCP   25h
istio-policy             ClusterIP   10.124.4.65    <none>        9091/TCP,15004/TCP,15014/TCP             25h
istio-sidecar-injector   ClusterIP   10.124.6.71    <none>        443/TCP                                  25h
istio-telemetry          ClusterIP   10.124.10.67   <none>        9091/TCP,15004/TCP,15014/TCP,42422/TCP   25h
prometheus               ClusterIP   10.124.15.53   <none>        9090/TCP                                 25h

на удаленном кластере

kubectl get deploy -n istio-system
NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
istio-citadel            1/1     1            1           25h
istio-ingressgateway     1/1     1            1           119m
istio-sidecar-injector   1/1     1            1           25h

kubectl get svc -n istio-system
NAME                     TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                                                                                                                      AGE
istio-citadel            ClusterIP      10.149.13.77    <none>          8060/TCP,15014/TCP                                                                                                           25h
istio-ingressgateway     LoadBalancer   10.149.3.163    35.246.93.170   15020:32722/TCP,80:31918/TCP,443:31710/TCP,15029:32189/TCP,15030:30764/TCP,15031:31324/TCP,15032:31483/TCP,15443:31980/TCP   20h
istio-pilot              ClusterIP      None            <none>          15003/TCP,15005/TCP,15007/TCP,15010/TCP,15011/TCP,8080/TCP,15014/TCP                                                         25h
istio-policy             ClusterIP      None            <none>          9091/TCP,15004/TCP,15014/TCP                                                                                                 25h
istio-sidecar-injector   ClusterIP      10.149.11.141   <none>          443/TCP                                                                                                                      25h
istio-telemetry          ClusterIP      None            <none>          9091/TCP,15004/TCP,15014/TCP,42422/TCP                                                                                       25h

kubectl get gateway -n istio-system
NAME             AGE
ingressgateway   119m

Но когда я создаю шлюз и vs в пространстве имен по умолчанию, указывающем на kubernetes sv c и развертывание, то я не могу получить к нему доступ извне .

сворачивание в конечную точку дает

* Rebuilt URL to: 35.246.93.170/
*   Trying 35.246.93.170...
* TCP_NODELAY set
* Connection failed
* connect to 35.246.93.170 port 80 failed: Connection refused
* Failed to connect to 35.246.93.170 port 80: Connection refused
* Closing connection 0

проверку шлюза шлюза на удаленном входе, я не могу найти порт 80 на этом открытом.

Но если я создаю шлюз в главном кластере, каким-то образом у этого шлюза тоже открывается этот порт 80, что странно.

После попытки нескольких комбинаций я вижу, что шлюз и виртуальная служба в удаленном кластере не получают подобрано мной sh и выбрана только конфигурация на мастере.

Это предполагаемое поведение или я что-то здесь упускаю.

...