Я пытаюсь использовать Cloud Run с частным кластером GKE.Я создал кластер, используя следующую команду:
gcloud beta container clusters create cluster-name \
--create-subnetwork name=cloud-run-subnet \
--enable-master-authorized-networks \
--enable-ip-alias \
--enable-private-nodes \
--enable-private-endpoint \
--master-ipv4-cidr 172.16.0.32/28 \
--no-enable-basic-auth \
--no-issue-client-certificate \
--addons=HorizontalPodAutoscaling,HttpLoadBalancing,Istio,CloudRun \
--machine-type=n1-standard-1 \
--enable-stackdriver-kubernetes \
--scopes cloud-platform \
--zone us-central1-a
Я создал хост-бастион в том же VPC и подсети, который может связаться с этим кластером, используя следующую команду:
gcloud compute instances create bastion \
--zone us-central1-a \
--subnet cloud-run-subnet \
--machine-type=g1-small \
--scopes cloud-platform
Я установилkubectl на хосте бастиона и переключил контекст на этот кластер с помощью команды gcloud container clusters get-credentials
.
Я удостоверился, что Istio включен в пространстве имен по умолчанию с помощью следующей команды:
kubectl label namespace default istio-injection=enabled
Теперь, когда япопытаться развернуть службу с помощью приведенной ниже команды, я получаю сообщение об ошибке:
gcloud beta run deploy hello \
--image=gcr.io/projectname/hello-world \
--platform=gke \
--cluster=cluster-name \
--cluster-location=us-central1-a \
--connectivity=internal
Ошибка:
ERROR: (gcloud.beta.run.deploy) Error:
failed calling webhook "webhook.serving.knative.dev": Post https://webhook.knative-serving.svc:443/?timeout=30s: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting he
aders)
Я пробовал с --connectivity=internal
и --connectivity=external
Я получаю ту же ошибку.
Когда я пытаюсь создать службу с помощью консоли, я получаю следующую ошибку:
Failed to create a service
Tracking number: d123456789
Я сохранил тот же проект дляРеестр контейнеров ( gcr.io ) и кластер GKE.
Точные вещи отлично работают с общедоступными кластерами.Я не могу найти конкретную документацию, чтобы все это работало с частным кластером GKE.Есть ли что-то, что мне не хватает?Есть что-то, что я делаю не так?