【发布时间】:2020-02-02 12:05:58
【问题描述】:
我有多个用于部署 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 放在一个 k8s_objects 中,例如 this:
load("@io_bazel_rules_k8s//k8s:objects.bzl", "k8s_objects")
k8s_objects(
name = "k8s",
objects = [
":k8s_deployment",
":k8s_service"
]
)
最后,我有一个运行k8s_objects 规则的cloudbuild.yaml 文件:
steps:
- id: 'push docker images and deploy changes to kubernetes'
name: gcr.io/cloud-builders/bazel
args: ['run', '//:kubernetes']
但 Kubernetes 资源并没有应用到集群,虽然 Cloud Build 成功了:
Here 是完整的构建日志。
所以基本上图像被推送到容器注册表,然后记录修改后的.yaml 文件,但不应用于我的 Google Kubernetes Engine 集群。
【问题讨论】:
标签: kubernetes google-kubernetes-engine bazel google-cloud-build