构建和部署 Windows IIS 工作负载
本页介绍了如何使用 Skaffold 构建和部署 Windows 应用容器。
Skaffold 可处理构建、推送和部署应用的工作流。Skaffold 配置 skaffold.yaml
位于生成的制品的根文件夹中。如需了解如何修改 skaffold.yaml
文件,请参阅 Skaffold 文件参考文档。
准备工作
本文档假定您已完成迁移并查看了生成的迁移制品。
构建容器映像
通过 Migrate to Containers CLI 生成的配置,您可以在 Windows 机器上构建单架构映像,以及在 Linux 机器上使用 Cloud Build 构建多架构映像。
如果您使用 Cloud Shell,则 Skaffold 已安装。如果您需要安装 Skaffold,请参阅安装 Skaffold。
在 Windows 机器上构建单架构映像
在 Windows 机器上,使用 Skaffold 构建单架构容器映像:
skaffold build -d REPOSITORY_PATH --cache-artifacts=false
将 REPOSITORY_PATH 替换为工件仓库的路径。例如 us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME
。
如果您想在同一步骤中构建和部署容器映像,则可以将 build
命令替换为 run
命令。
在 Linux 机器上构建多架构映像
设置以下环境变量:
- 必填
CLOUDBUILD_PROJECT
:您要运行 Cloud Build 的项目REGION
:将运行 Cloud Build 的区域ZONE
:将运行 Cloud Build 的可用区
- 可选 - 如果未指定网络和子网,则使用默认 VPC 和默认子网。
NETWORK
:将在其中创建 Windows 构建器虚拟机的网络(VPC 名称)SUBNETWORK
:将在其中创建 Windows 构建器的子网
请按照构建多架构映像中的说明操作。
如果要为 Cloud Build 使用自定义工作器池(例如,为了避免创建防火墙规则),请设置以下环境变量:
- 必填
WORKERPOOL
:工作器池的名称WORKERPOOL_REGION
:工作器池的区域
- 可选
USE_INTERNAL_IP
:如果 workerpool 通过共享 VPC 连接到NETWORK
,则为 true
以下是运行 Windows build 的命令:
export CLOUDBUILD_PROJECT=CLOUDBUILD_PROJECT
export REGION=REGION
export ZONE=ZONE
skaffold build -d REPOSITORY_PATH
将 REPOSITORY_PATH 替换为工件仓库的路径。例如 us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME
。
如果您想在同一步骤中构建和部署容器映像,则可以将 build
命令替换为 run
命令。
部署容器映像
容器映像构建完成后,使用 Skaffold 进行部署:
skaffold run -d REPOSITORY_PATH
将 REPOSITORY_PATH 替换为工件仓库的路径。例如 us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME
。
后续步骤
- 了解如何监控迁移后的工作负载。
- 了解如何排查 Windows 映像的 Skaffold 构建失败问题。