Pulumi 推送 docker 图片到 GCR

Pulumi push docker image to GCR

我正在学习如何使用 Pulumi,我想知道我是否可以正确配置 pulumi 以将图像推送到 GCR。我在 index.ts

中有以下内容
const appImage = new docker.Image("ledgerImage", {
    imageName: 'us.gcr.io/qwil-build/ledger',
    build: "../../",
});

当我运行pulumi preview看到镜像构建成功:

 2:51PM /Users/paymahn/qwil/ledger/pulumi/infra pulumi ⬆ ⬇ ◼
 ❮❮❮ pulumi preview
Previewing update (qwil/dev):

     Type                                 Name                  Plan       Info
 +   pulumi:pulumi:Stack                  ledger-dev            create     1 message
 +   ├─ docker:image:Image                ledgerImage           create
 +   ├─ gcp:compute:Address               cloud-sql-private-ip  create
 +   ├─ kubernetes:core:Service           ledger                create
 +   ├─ gcp:servicenetworking:Connection  private_vpc           create
 +   ├─ gcp:sql:DatabaseInstance          ledger_db             create
 +   ├─ gcp:sql:SslCert                   clientCert            create
 +   ├─ gcp:sql:User                      master                create
 +   ├─ kubernetes:core:Secret            ledger-db-tls         create
 +   └─ kubernetes:extensions:Deployment  ledger                create     1 warning

Diagnostics:
  pulumi:pulumi:Stack (ledger-dev):

  kubernetes:extensions:Deployment (ledger):
    warning: extensions/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use apps/v1/Deployment instead.

Resources:
    + 10 to create

Permalink: https://app.pulumi.com/qwil/ledger/dev/previews/3f96f06f-ba49-4f52-91db-2884389a6b62

但是,当我访问永久链接时,我在映像构建步骤最后的差异日志视图中看到以下输出:Successfully pushed to docker。当我访问我们的私人 GCR 存储库时,我没有看到任何 updates/new 图像推送。

我的问题是:

  1. Pulumi预览时是否推送图片?
  2. push时pulumi是根据镜像名来决定仓库的吗?
  3. 如果是,为什么我的预览输出显示图像已推送到 docker?

您的问题:

  1. 在预览期间,Image 资源将构建图像和 return 目标图像名称,而不推送。在正常更新期间,它会做同样的事情,以及标记和推送图像。
  2. 是的。
  3. 这里的输出有点混乱,见 (1)。

这是推送到 GCR 的 docker 图片的示例,昨天刚刚为我工作:https://github.com/pulumi/examples/pull/519/files#diff-982498c859f8161c992d7246993ab441R48-R53