istio внутренняя связь сервисов GRPC - PullRequest
0 голосов
/ 29 сентября 2019

У меня проблемы с наличием двух внутригрупповых сервисов GRPC (написано в netcore3.0). Я получаю Grpc.Core.RpcException: Status(StatusCode=Unavailable, Detail="Connection reset by peer")uri = <service>.default.svc.cluster.local) или Grpc.Core.RpcException: Status(StatusCode=Unimplemented, Detail="") с uri = user.default.svc.cluster.local:80.Странная часть заключается в том, что все службы работают нормально, если они взаимодействуют из разных кластеров.Я использую правильные URL.Конфигурация одного из сервисов приведена здесь.

apiVersion: v1
kind: Service
metadata:
  name: user
  labels:
    app: user
    service: user
spec:
  ports:
  - port: 80
    name: grpc-port
    protocol: TCP
  selector:
    app: user
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: user-v1
  labels:
    app: user
    version: v1
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: user
        version: v1
    spec:
      containers:
      - name: user
        image: ***
        imagePullPolicy: IfNotPresent
        env:
        - name: GOOGLE_APPLICATION_CREDENTIALS
          value: "***"
        ports:
        - containerPort: 80
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: user
spec:
  hosts:
  - user.default.svc.cluster.local
  http:
  - route:
    - destination:
        port:
          number: 80
        host: user.default.svc.cluster.local
        subset: v1
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: user
spec:
  host: user.default.svc.cluster.local
  subsets:
  - name: v1
    labels:
      version: v1
---
...