【问题标题】:Google Cloud Build windows builder error "Failed to get external IP address: Could not get external NAT IP from list"Google Cloud Build windows builder错误“无法获取外部IP地址:无法从列表中获取外部NAT IP”
【发布时间】:2022-01-19 21:42:41
【问题描述】:

我正在尝试为我的 Windows Kubernetes 容器应用实现自动部署。我正在按照 Google 的 windows-builder 的说明进行操作,但触发器在大约 1.5 分钟后迅速失败并出现此错误:

2021/12/16 19:30:06 Set ingress firewall rule successfully
2021/12/16 19:30:06 Failed to get external IP address: Could not get external NAT IP from list
ERROR
ERROR: build step 0 "gcr.io/[my-project-id]/windows-builder" failed: step exited with non-zero status: 1

容器 gcr.io/[my-project-id]/windows-builder 确实存在,并且它与 Cloud Build 触发器位于同一个 GCP 项目中,正如 windows-builder 文档所要求的那样。

我根据 Google 的 docker-windows example 构建了我的代码。这是我的存储库文件结构:

repository
   cloudbuild.yaml
   builder.ps1
   worker
      Dockerfile

这是我的 cloudbuild.yaml:

steps:
# WORKER
- name: 'gcr.io/[my-project-id]/windows-builder'
  args: [ '--command', 'powershell.exe -file build.ps1' ]

# OPTIONS
options:
  logging: CLOUD_LOGGING_ONLY

这是我的builder.ps1:

docker build -t gcr.io/[my-project-id]/test-worker ./worker;
if ($?) {
  docker push gcr.io/[my-project-id]/test-worker;
}

这是我的 Dockerfile:

FROM gcr.io/[my-project-id]/test-windows-node-base:onbuild

有人知道我在这里做错了什么吗?任何帮助将不胜感激。

【问题讨论】:

    标签: containers google-cloud-build docker-for-windows


    【解决方案1】:

    从 GitHub 复制步骤并得到相同的错误。它抛出Failed to get external IP address... 错误,因为默认情况下source code 中禁用了VM 的外部IP 地址。通过在cloudbuild.yaml 中添加'--create-external-ip', 'true',我能够成功构建它。

    这是我的cloudbuild.yaml:

    steps:
    - name: 'gcr.io/$PROJECT_ID/windows-builder'
      args: [  '--create-external-ip', 'true',
               '--command', 'powershell.exe -file build.ps1' ]
    

    【讨论】:

    • 谢谢!这消除了错误,构建完成。但奇怪的是,容器永远不会在容器注册表中更新。我检查了构建日志,唯一看起来像错误的是一条消息,上面写着“系统找不到指定的路径”。我假设它正在谈论 build.ps1 文件,但我不确定。知道这里可能出了什么问题吗?当您运行作业时,您的容器是否真的得到了更新?
    • @MikeH 是的。请参阅此内容以供参考i.stack.imgur.com/GcDAj.png。我建议你从头开始有一个干净的石板。另外,如果它对您有帮助,请考虑支持我的回答。
    • 您解决了我原来的问题,所以我将其标记为完成。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2021-11-20
    • 2013-04-03
    • 2016-03-10
    • 1970-01-01
    • 2011-03-16
    • 2011-02-25
    • 2021-01-10
    相关资源
    最近更新 更多