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
.