适用于 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 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:
使用
az extension add
命令安装aks-preview
扩展。az extension add --name aks-preview
使用
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 注册你的应用程序。 每个存储库只需执行一次此步骤。
使用
az aks draft setup-gh
命令将应用程序注册到 GitHub。az aks draft setup-gh
使用 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-gh
和 draft 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