У меня есть служба gRP C, и мой посланник работает локально на моем мини-кубе. Я пытаюсь подключить службу gRP C к посланнику, чтобы посланник мог перекодировать HTTP в gRP C (или наоборот).
Настройки кластера:
- name: service-grpc
connect_timeout: 1.25s
type: LOGICAL_DNS
lb_policy: ROUND_ROBIN
dns_lookup_family: V4_ONLY
http2_protocol_options: {}
tls_context:
common_tls_context:
alpn_protocols: ["h2"]
upstream_connection_options:
tcp_keepalive: {}
health_checks:
- timeout: 5s
interval: 5s
interval_jitter_percent: 25
reuse_connection: false
unhealthy_threshold: 3
healthy_threshold: 1
grpc_health_check:
service_name: ""
load_assignment:
cluster_name: service-grpc
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: "myservice-service.service"
port_value: 443
Настройки транскодера:
- name: envoy.grpc_json_transcoder
config:
proto_descriptor: "/myservice.pb"
services: ["proto.MyService"]
match_incoming_request_route: true
convert_grpc_status: true
print_options:
always_print_primitive_fields: true
Маршруты:
- match: { prefix: "myservice/v1" }
route:
cluster: service-grpc
timeout: 60s
Однако я получаю следующую ошибку и не знаю, в чем конкретно проблема.
[source / common / config / grpc_mux_subscription_impl. cc: 82] gRP C конфигурация для type.googleapis.com/envoy.api.v2.Listener отклонено: ошибка при добавлении / обновлении слушателя (ей) listener1: transcoding_filter : Невозможно зарегистрировать «proto.MyService.MyMethod» для сопоставителя пути