deploy.cloudrun: sandboxLauncher 字段被默默删除(在固定的 google.golang.org/api Container 结构中丢失)
标题
dept.cloudrun':sandbox Launcher' 球场静悄悄地投出(漏入被钉住的`google.golang.org/api' Contrain struct)
单位
** 预期行为**
使用“sandboxLauncher: true' set 在集装箱上通过“scaffoldle部署”(或通过Cloud Plusion,它使用skaffold'的`deploud.cloudrun' 部署人员内部)安装“云跑”服务,应导致修改,使该集装箱实际上[Cloud Run Sandboxes](https://docs.cloud.google.com/run/docs/reference/sandbox-cli]得以使用。
** 实际行为**
球场被默默地忽略了——没有出错,也没有警告. 由此产生的修订从未启用过沙盒发射器,尽管该清单明确规定了这一点。 只有在事后检查已部署的修订(例如gcloud运行的修订描述.-format=export'),并注意sandbox Launcher'的缺失,才能发现这种情况。
** 原因(通过阅读供应商来源确定)**
pkg/skaffold/dept/cloudrun/dept.go ' 将YAML从google.golang.org/api/run/v1 ' 中显示为集装箱 ' ,然后发送到云跑管理API。 google.golang.org/api'的版本,即Skaffold目前所发的指针(测试时的v.0.283.0')没有在该集装箱'上定义`桑德博克-劳恩彻'字段。 由于Go's JSON/YAML 默默地放下未知的字段,“sandboxLauncher: true”在来源清单中被丢弃,在skaffold或Cloud部署日志中任何地方都没有出错或警告。
相形之下,`gcloud beta run 部署-sandbox-launder'和一个直接'gcloud run 服务替换'(或Cloud Run admin API直接)确实正确应用了这个字段——确认字段名称/位置是正确的,空白具体在skaffold的销售客户端库版本中,而不是在显示本身中.
** 云部署用户的情况为何更糟**
via Cloud 部署,这不仅仅是一个"球场还没有被支持"的缺口——它实际上无法从用户的一方被修复. Cloud 部署为每个发布轨道(default SkaffoldVersion',见gcloud 部署 获取-config')一个固定的、由Google管理 skaffold版本打针,用户无法推翻或升级。 因此,即使在登记了某个较新的google.golang.org/api'发布后,一个Cloud Explain的用户在Google撞倒被封住的skaffold引擎版本之前,是无法取到的。 独立的skaffold'CLI用户至少可以选择自己建造更新的skaffold。
我们发现的唯一工作是完全绕过内置的运行: ' 目标类型,并使用一种云部署[海关目标类型](https://cloud.google.com/depload/docs/custom-targes),该类型将直接gcloud运行服务取而代之'。
** 要复制的种子**
- 编写 " 云跑道 " 服务清单,其中装有 " 沙箱 " 。
- 使用 " 云层 " 部署类型(或通过 " 云层 " 部署方式使用内置 " 跑: " 目标)进行部署。 . . . . . . .
内容来源: GoogleContainerTools/skaffold