Ошибка объекта Bazel Kubernetes: объекты не переданы для применения (Реестр контейнеров Google)

У меня есть правило k8s_object чтобы применить развертывание к моему кластеру Google Kubernetes. Вот моя установка:

load("@io_bazel_rules_docker//nodejs:image.bzl", "nodejs_image")
nodejs_image(
    name = "image",
    data = [":lib", "//:package.json"],
    entry_point = ":index.ts",
)

load("@io_bazel_rules_k8s//k8s:object.bzl", "k8s_object")
k8s_object(
  name = "k8s_deployment",
  template = ":gateway.deployment.yaml",
  kind = "deployment",
  cluster = "gke_cents-ideas_europe-west3-b_cents-ideas",
  images = {
    "gcr.io/cents-ideas/gateway:latest": ":image"
  },
)

Но когда я запускаю bazel run //services/gateway:k8s_deployment.apply , я получаю следующую ошибку

INFO: Analyzed target //services/gateway:k8s_deployment.apply (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //services/gateway:k8s_deployment.apply up-to-date:
  bazel-bin/services/gateway/k8s_deployment.apply
INFO: Elapsed time: 0.113s, Critical Path: 0.00s
INFO: 0 processes.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
$ /snap/bin/kubectl --kubeconfig= --cluster=gke_cents-ideas_europe-west3-b_cents-ideas --context= --user= apply -f -
2020/02/12 14:52:44 Unable to publish images: unable to publish image gcr.io/cents-ideas/gateway:latest
error: no objects passed to apply

ошибка: объекты не переданы для применения. Новое изображение не помещается в реестр контейнеров Google.

Странно, это сработало несколько дней назад. Но я ничего не изменил.

Вот полный код, если вам нужно присмотреться: https://github.com/flolude/cents-ideas/blob/069c773ade88dfa8aff492f024a1ade1f8ed282e/services/gateway/BUILD

Обновить

Я не знаю, связано ли это с этой проблемой, но когда я бегу

gcloud auth configure-docker

Я получаю некоторые предупреждения:

WARNING: `docker-credential-gcloud` not in system PATH.
gcloud's Docker credential helper can be configured but it will not work until this is corrected.
WARNING: Your config file at [/home/flolu/.docker/config.json] contains these credential helper entries:

{
  "credHelpers": {
    "asia.gcr.io": "gcloud", 
    "staging-k8s.gcr.io": "gcloud", 
    "us.gcr.io": "gcloud", 
    "gcr.io": "gcloud", 
    "marketplace.gcr.io": "gcloud", 
    "eu.gcr.io": "gcloud"
  }
}
Adding credentials for all GCR repositories.
WARNING: A long list of credential helpers may cause delays running 'docker build'. We recommend passing the registry name to configure only the registry you are using.
gcloud credential helpers already registered correctly.

Всего 1 ответ


Я установил google-cloud-sdk помощью snap install . Что я сделал, чтобы заставить его работать, это удалить google-cloud-sdk через

snap remove google-cloud-sdk

а потом я установил его через

sudo apt install google-cloud-sdk

Теперь работает нормально


Есть идеи?

10000