kubernetes - Bazel k8s_deploy 不会将 Kubernetes 资源应用到集群
问题描述
我有多个用于部署 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
像这样:
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 成功了:
这是完整的构建日志。
所以基本上图像被推送到容器注册表,然后.yaml
记录修改的文件,但不应用于我的 Google Kubernetes Engine 集群。
解决方案
推荐阅读
- sql - 如何在 ASP.NET MVC 和 SQL Server 中修复“对象在 Null 时应具有值”
- reactjs - 当我在visualstudio代码中保存js文档时创建空间
- hadoop - 无法使用 Java 代码连接到 Hive
- reactjs - 获取 TypeError: _react.default.memo 仅当我在我的应用程序中使用 FavoriteIcon 时才不是一个函数
- jquery - 如何获取地图的当前位置?(传单.js)
- jquery - 如果存在具有类的子元素,则删除父 div,而不删除其他实例
- python - Sqlite - 如何选择“variable1”=“variable2”?
- java - 为什么我从 RestController 在 Angular/Postman 中得到 {"empty":false}?
- javascript - 如何在javascript中缓存方法?
- c# - 两种情况如何处理