适用于 Azure Kubernetes 服务 (AKS) 的 Draft 扩展(预览版)

Draft 是一个开源项目,它通过采用非容器化应用程序并生成 Dockerfile、Kubernetes 清单、Helm 图表、Kustomize 配置以及与容器化应用程序关联的其他生成工件,来简化 Kubernetes 开发。 Draft 还可以创建一个 GitHub 操作工作流文件以在任何 Kubernetes 群集上快速构建并部署应用程序。

工作原理

Draft 提供以下命令来帮助简化 Kubernetes 上的开发:

  • draft create:创建 Dockerfile 和正确的清单文件。
  • draft setup-gh:设置你的 GitHub OIDC。
  • draft generate-workflow:生成用于在群集上进行部署的 GitHub 操作工作流文件。
  • draft up:组合使用前面的两个命令来设置你的 GitHub OIDC 并生成一个 GitHub 操作工作流文件。

先决条件

  • 如果没有 Azure 订阅,请在开始前创建一个试用版订阅
  • 安装最新版本的 Azure CLI 和 aks-preview 扩展。
  • 如果你还没有,则需要创建一个 AKS 群集和一个 Azure 容器注册表实例。

安装 Azure CLI aks-preview 扩展

重要

AKS 预览功能是可选择启用的自助功能。 预览功能是“按现状”和“按可用”提供的,不包括在服务级别协议和有限保证中。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:

  1. 使用 az extension add 命令安装 aks-preview 扩展。

    az extension add --name aks-preview
    
  2. 使用 az extension update 命令更新,确保拥有最新版本的扩展。

    az extension update --name aks-preview
    

使用 draft create 创建生成工件

可以使用 draft create,创建将应用程序部署到 AKS 群集所需的 Dockerfile、Helm 图表、Kubernetes 清单或 Kustomize 文件。

  • 使用 az aks draft create 命令创建生成工件。

    az aks draft create
    
    • 还可以使用 --destination 标志在特定目录上运行此命令,如以下示例所示:

      az aks draft create --destination /Workspaces/ContosoAir
      

使用 draft setup-gh 设置 GitHub OIDC

若要使用 Draft,你必须使用 draft setup-gh 向 GitHub 注册你的应用程序。 每个存储库只需执行一次此步骤。

使用 draft generate-workflow 生成用于进行部署的 GitHub 操作工作流文件

创建生成工件并设置 GitHub OIDC 后,你可以使用 draft generate-workflow 生成一个 GitHub 操作工作流文件,用以创建将应用程序部署到 AKS 群集的操作。 生成工作流文件后,必须将其提交到存储库中才能启动 GitHub 操作。

  • 使用 az aks draft generate-workflow 命令生成一个 GitHub 操作工作流文件。

    az aks draft generate-workflow
    
    • 还可以使用 --destination 标志在特定目录上运行此命令,如以下示例所示:

      az aks draft generate-workflow --destination /Workspaces/ContosoAir
      

使用 draft up 设置 GitHub OpenID Connect (OIDC) 并生成一个 GitHub 操作工作流文件

draft up 是单个命令,用于完成 GitHub OIDC 设置并生成用于进行部署的 GitHub 操作工作流文件。 它有效地组合了 draft setup-ghdraft generate-workflow 命令,这意味着首次在新存储库中开始工作时最常使用该命令,且该命令只需运行一次。 对 GitHub 操作工作流文件的后续更新可以使用 draft generate-workflow 进行。

  • 使用 az aks draft up 命令设置 GitHub OIDC 并生成一个 GitHub 操作工作流文件。

    az aks draft up
    
    • 还可以使用 --destination 标志在特定目录上运行此命令,如以下示例所示:

      az aks draft up --destination /Workspaces/ContosoAir
      

将应用程序路由与 Draft 配合使用,使你的应用程序可通过 Internet 访问

应用程序路由应用路由是在 Kubernetes 中安全启动和运行 Web 应用程序的最简单方法。 应用程序路由让你无需进行复杂的入口控制器、证书和 DNS 管理,同时为希望引入自己的配置的企业提供配置。 应用程序路由提供了一个基于 nginx 的托管入口控制器,你可以不受限制地使用该控制器,它还现成地集成了 Open Service Mesh,可以为群集内通信提供保护。

  • 若要使用应用程序路由设置 Draft,请使用 az aks draft update 并在出现提示时传入 DNS 名称和 Azure 密钥保管库中存储的证书。

    az aks draft update
    
    • 还可以使用 --destination 标志在特定目录上运行此命令,如以下示例所示:

      az aks draft update --destination /Workspaces/ContosoAir