#grpc #google-kubernetes-engine #istio
#grpc #google-kubernetes-engine #istio
Вопрос:
Мы запускаем службы GRPC в движке Google Kubernetes с Istio. Мы выполнили следующую настройку для маршрутизации запросов, которая не работает.
Мы получаем следующую ошибку при вызове GRPC к сервису: ошибка подключения к восходящему потоку или отключение / сброс перед заголовками
Пожалуйста, дайте мне знать, если чего-то не хватает или есть обходной путь.
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: helloworld-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 50051
name: grpc
protocol: GRPC
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: helloworld
spec:
hosts:
- "*"
gateways:
- helloworld-gateway
http:
- match:
- port: 50051
route:
- destination:
host: helloworld
port:
number: 50051
Комментарии:
1. Запущено ли ваше приложение HelloWorld с помощью istio-proxy sidecar? Это означает, что вы запускали
istioctl kube-inject
при развертывании приложения или пространство имен помечено как istio-injection = включено? Кроме того, вы знаете, включен ли глобальный MTLS? Может быть, просто шлюз пытается установить соединение mTLS, в то время как приложение helloworld ожидает только незащищенных подключений.2. Привет, Роберт, спасибо за ответ. Вот мои комментарии: 1. Да, у нас включено пространство имен по умолчанию для istio-injection = включено (поэтому sidecar попадает туда автоматически) 2. Да, у нас включены глобальные MTLS, я все еще ищу решение. Пожалуйста, помогите.
3. Вероятно, отсутствует DestinationRule. Вы пытались настроить DR? istio.io/docs/reference/config/networking/v1alpha3 /…