У меня есть несколько правил Bazel для развертывания Kubernetes
- развертываний :
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](https://i.stack.imgur.com/Cb2Dv.png)
Здесь - это полный журнал сборки.
Таким образом, в основном изображения помещаются в контейнер реестра, а затем измененные .yaml
файлы регистрируются, но не применяется к моему кластеру Google Kubernetes Engine.