Help us learn about your current experience with the documentation. Take the survey.
创建 Azure AKS 集群
你可以通过基础设施即代码 (IaC) 在 Azure Kubernetes Service (AKS) 上创建集群。此过程使用 Azure 和 Kubernetes Terraform 提供程序来创建 AKS 集群。你可以使用 GitLab agent for Kubernetes 将集群连接到 GitLab。
开始之前:
步骤:
导入示例项目
要从 GitLab 使用基础设施即代码创建集群,你必须创建一个项目来管理集群。在本教程中,你将从示例项目开始,并根据你的需求进行修改。
首先,通过 URL 导入示例项目。
导入项目:
- 在左侧边栏顶部,选择 Create new ( ) 和 New project/repository。
- 选择 Import project。
- 选择 Repository by URL。
- 对于 Git repository URL,输入
https://gitlab.com/gitlab-org/ci-cd/deploy-stage/environments-group/examples/gitlab-terraform-aks.git。 - 完成字段并选择 Create project。
这个项目为你提供:
- 一个 Azure Kubernetes Service (AKS) 集群。
- 安装在集群中的 GitLab agent for Kubernetes。
注册 agent
要创建 GitLab agent for Kubernetes:
- 在左侧边栏,选择 Operate > Kubernetes clusters。
- 选择 Connect a cluster (agent)。
- 从 Select an agent 下拉列表中,选择
aks-agent并选择 Register an agent。 - GitLab 为 agent 生成一个注册令牌。请安全存储这个秘密令牌,因为你稍后会需要它。
- GitLab 提供了 agent 服务器 (KAS) 的地址,你稍后也会需要这个地址。
配置你的项目
使用 CI/CD 环境变量来配置你的项目。
必需配置:
- 在左侧边栏,选择 Settings > CI/CD。
- 展开 Variables。
- 将变量
ARM_CLIENT_ID设置为你的 Azure 客户端 ID。 - 将变量
ARM_CLIENT_SECRET设置为你的 Azure 客户端密钥。 - 将变量
ARM_TENANT_ID设置为你的服务主体。 - 将变量
TF_VAR_agent_token设置为上一个任务中显示的 agent 令牌。 - 将变量
TF_VAR_kas_address设置为上一个任务中显示的 agent 服务器地址。
可选配置:
文件 variables.tf
包含其他变量,你可以根据需要覆盖这些变量:
TF_VAR_location:设置你的集群区域。TF_VAR_cluster_name:设置你的集群名称。TF_VAR_kubernetes_version:设置 Kubernetes 的版本。TF_VAR_create_resource_group:允许启用或禁用新资源组的创建。(默认设置为 true)。TF_VAR_resource_group_name:设置资源组的名称。TF_VAR_agent_namespace:为 GitLab agent for Kubernetes 设置 Kubernetes 命名空间。
有关更多资源选项,请参阅 Azure Terraform provider 和 Kubernetes Terraform provider 文档。
配置你的集群
配置好项目后,手动触发集群的配置。在 GitLab 中:
- 在左侧边栏,选择 Build > Pipelines。
- 在 Play ( ) 旁边,选择下拉列表图标 ( )。
- 选择 Deploy 来手动触发部署任务。
当管道成功完成后,你可以查看新集群:
- 在 Azure 中:从 Azure portal,选择 Kubernetes services > View。
- 在 GitLab 中:在左侧边栏,选择 Operate > Kubernetes clusters。
使用你的集群
配置好集群后,它会连接到 GitLab 并准备好进行部署。要检查连接状态:
- 在左侧边栏,选择 Operate > Kubernetes clusters。
- 在列表中,查看 Connection status 列。
有关连接功能的更多信息,请参阅 GitLab agent for Kubernetes 文档。
删除集群
默认情况下,你的管道中不包含清理任务。要删除所有创建的资源,你必须在运行清理任务之前修改你的 GitLab CI/CD 模板。
要删除所有资源:
-
将以下内容添加到你的
.gitlab-ci.yml文件中:stages: - init - validate - test - build - deploy - cleanup destroy: extends: .terraform:destroy needs: [] -
在左侧边栏,选择 Build > Pipelines 并选择最近的管道。
-
对于
destroy任务,选择 Play ( )。