我有多个用于部署Kubernetes的Bazel规则
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
放到一个像this这样的单一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']
但是,尽管Cloud Build成功,但Kubernetes资源并未应用于集群:
Here是完整的构建日志。
因此,基本上将图像推送到容器注册表,然后记录已修改的
.yaml
文件,但是而不是应用于我的Google Kubernetes Engine集群。
最佳答案
关于kubernetes - Bazel k8s_deploy不将Kubernetes资源应用于集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60025908/