gRPC#

Для поддержки gRPC-приложений в ANIC необходимо добавить аннотацию angie.software/grpc-services в определение ресурса Ingress. Эта аннотация указывает, для каких сервисов нужно использовать gRPC.

Примечание

  • Необходимо включить прослушиватель HTTP/2 ( см. ключ http2 в ConfigMap).

  • Ресурсы Ingress для gRPC-приложений должны включать терминацию TLS.

Синтаксис:

angie.software/grpc-services: "service1[,service2,...]"

В примере ниже настроена балансировка нагрузки для трех приложений. Одно из них использует gRPC.

Пример:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: grpc-ingress
  annotations:
    angie.software/grpc-services: "grpc-svc"
spec:
  ingressClassName: angie
  tls:
  - hosts:
    - grpc.example.com
    secretName: grpc-secret
  rules:
  - host: grpc.example.com
    http:
      paths:
      - path: /helloworld.Greeter
        pathType: Prefix
        backend:
          service:
            name: grpc-svc
            port:
              number: 50051
      - path: /tea
        pathType: Prefix
        backend:
          service:
            name: tea-svc
            port:
              number: 80
      - path: /coffee
        pathType: Prefix
        backend:
          service:
            name: coffee-svc
            port:
              number: 80

В этом примере grpc-svc — это сервис для gRPC-приложения. Он будет доступен по пути /helloworld.Greeter.