Я пытался развернуть приложение grpc для внешнего интерфейса конечными точками Google в кластере GKE и завершить TLS на самом балансировщике нагрузки в течение большей части 3 дней, и я очень растерялся, как заставить это работать.
Сначала я попробовал простое развертывание без конечных точек Google, чтобы убедиться, что балансировщик нагрузки работает. Более подробно описано здесь
https://github.com/kubernetes/ingress-gce/issues/18#issuecomment-454047010
Это не сработало. Затем я попытался развернуть приложение здесь
https://github.com/salrashid123/gcegrpc/tree/master/gke_ingress_lb
Кажется, это сработало хорошо, но я не совсем понимаю, что заставляет его работать. Мне кажется (как предположил кто-то другой), что это может быть потому, что приложение говорит на TLS на конечной точке grpc
Я попытался включить TLS в моей конечной точке grpc приложения, включая добавление проверки работоспособности grpc, как это было предложено кем-то другим, однако это не помогло.
Мой конфиг esp был таким простым, как
- name: endpoints-proxy
image: gcr.io/endpoints-release/endpoints-runtime:1
args: [
"--http2_port=8080",
"--backend=grpc://127.0.0.1:50051",
"--service=myapp.endpoints.myproject-34342.cloud.goog",
"--rollout_strategy=managed",
"--service_account_key=/etc/nginx/creds/endpoints-credentials.json"
]
Как именно можно завершить TLS на GLB вместе с прокси-сервером ESP и приложением grpc за ним? Кажется, что мне не хватает того, как заставить все эти вещи работать вместе