部署到 Google Kubernetes Engine 集群

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本文档介绍了如何将应用部署到 Google Kubernetes Engine 集群。

借助 Google Cloud Deploy,您可以将基于容器的工作负载部署到任何 Google Kubernetes Engine 集群。部署到 GKE 目标时,支持所有 Google Cloud Deploy 功能。

准备工作

在此 skaffold.yaml 文件中,deploy 节包含 kubectl,它表示 Skaffold 正在渲染并部署到 Kubernetes (GKE)。下方会列出您用于此应用的清单。

创建目标配置

每个目标都可以在交付流水线 YAML 中进行配置,也可以在单独的文件中配置。此外,您可以在同一文件中配置多个目标,但这些目标必须位于不同的 kind: Target 节中。

在目标定义中,创建一个指向 GKE 集群的 gke 节:

指定 GKE 集群的语法如下:

gke:
 cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]

此 GKE 资源标识符使用以下元素:

  • [project_name] 是运行此集群的 Google Cloud 项目的名称。

    您要部署到的集群不需要与交付流水线位于同一项目中。

  • [location] 是创建集群的区域。

  • [cluster_name] 是创建集群时为其指定的名称。

    您可以在 Google Cloud Console 的项目集群列表中找到此名称。

    Google Cloud 控制台中的集群列表

以下是指向 GKE 集群的目标配置示例:

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: dev
      description: development cluster
      gke:
       cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster

创建 Skaffold 配置

本部分提供了在部署到 GKE 集群时使用的简单 Skaffold 配置示例。

以下是用于部署到 GKE 集群的 skaffold.yaml 示例文件:

apiVersion: skaffold/v3alpha1
kind: Config
metadata:
  name: gke-application
deploy:
  kubectl:
    manifests:
      - [MANIFEST]

将 Skaffold 与 Google Cloud Deploy 搭配使用详细介绍了如何将 Skaffold 与交付流水线搭配使用。

准备 Kubernetes 清单

要将应用部署到 GKE,您需要向 Google Cloud Deploy 提供一个或多个 Kubernetes 清单,这些清单呈现后会应用于一个或多个目标集群以部署应用。

如果您没有这些清单,请在使用 Google Cloud Deploy 交付流水线部署之前创建这些清单。

您可以使用 Kustomize 或 LM 创建清单。如果您的清单是模板化的且需要呈现,您也可以使用 Kustomize 或 LM。

综合应用

现在您已经有了 Kubernetes 清单、skaffold.yaml 配置以及 Google Cloud Deploy 目标定义,并且将目标注册为 Google Cloud Deploy 资源,接下来就可以调用交付流水线以创建版本,并逐步完成流水线中定义的目标进度。

后续步骤