Bazel k8s_deploy не применяет ресурсы Kubernetes к кластеру - PullRequest
1 голос
/ 02 февраля 2020

У меня есть несколько правил Bazel для развертывания Kubernetes

  1. развертываний :
load("@k8s_deploy//:defaults.bzl", "k8s_deploy")
k8s_object(
  name = "k8s_deployment",
  kind = "deployment",
  cluster = "cents-ideas",
  template = ":ideas.deployment.yaml",
  images = {
    "gcr.io/cents-ideas/ideas:latest": ":image"
  },
)
услуги :
k8s_object(
  name = "k8s_service",
  kind = "service",
  template = ":ideas.service.yaml",
)

И я собрал все эти k8s_object в один k8s_objects как этот :

load("@io_bazel_rules_k8s//k8s:objects.bzl", "k8s_objects")
k8s_objects(
    name = "k8s",
    objects = [
      ":k8s_deployment",
      ":k8s_service"
    ]
)

Наконец, у меня есть файл cloudbuild.yaml, который запускает правило k8s_objects:

steps:
  - id: 'push docker images and deploy changes to kubernetes'
    name: gcr.io/cloud-builders/bazel
    args: ['run', '//:kubernetes']

Но ресурсы Kubernetes не применяются к кластеру , хотя Cloud Build завершается успешно: cloud build

Здесь - это полный журнал сборки.

Таким образом, в основном изображения помещаются в контейнер реестра, а затем измененные .yaml файлы регистрируются, но не применяется к моему кластеру Google Kubernetes Engine.

1 Ответ

4 голосов
/ 02 февраля 2020

Я думаю, что вам нужно добавить суффикс к цели с помощью «.create» или «.replace», см. docs

Так что вам нужно что-то вроде:

bazel run //:k8s.create

где k8s - ваше целевое имя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...