GCP Cloud Run: не удалось создать сервис - PullRequest
1 голос
/ 26 сентября 2019

Я пытаюсь использовать 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.Есть ли что-то, что мне не хватает?Есть что-то, что я делаю не так?

1 Ответ

0 голосов
/ 26 сентября 2019

Можете ли вы попытаться развернуть службу Cloud Run с файлом yaml?

Здесь файл

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  name: hello
  namespace: default
spec:
  traffic:
  - percent: 100
    latestRevision: true
  template:
    spec:
      containers:
      - image: gcr.io/projectname/hello-world

Просто выполните kubectl apply -f <file> с вашего бастиона

Если этоработает, это означает, что команда gcloud не может связаться с частным кластером (и вы можете открыть проблему по этому вопросу).

...