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。

开始之前

  • 一个 Microsoft Azure 账户,并已配置好一套 安全凭据
  • 一个可用于运行 GitLab CI/CD 管道的 runner

步骤

  1. 导入示例项目
  2. 注册 Kubernetes agent
  3. 配置你的项目
  4. 配置你的集群

导入示例项目

要从 GitLab 使用基础设施即代码创建集群,你必须创建一个项目来管理集群。在本教程中,你将从示例项目开始,并根据你的需求进行修改。

首先,通过 URL 导入示例项目

导入项目:

  1. 在左侧边栏顶部,选择 Create new ( plus ) 和 New project/repository
  2. 选择 Import project
  3. 选择 Repository by URL
  4. 对于 Git repository URL,输入 https://gitlab.com/gitlab-org/ci-cd/deploy-stage/environments-group/examples/gitlab-terraform-aks.git
  5. 完成字段并选择 Create project

这个项目为你提供:

注册 agent

要创建 GitLab agent for Kubernetes:

  1. 在左侧边栏,选择 Operate > Kubernetes clusters
  2. 选择 Connect a cluster (agent)
  3. Select an agent 下拉列表中,选择 aks-agent 并选择 Register an agent
  4. GitLab 为 agent 生成一个注册令牌。请安全存储这个秘密令牌,因为你稍后会需要它。
  5. GitLab 提供了 agent 服务器 (KAS) 的地址,你稍后也会需要这个地址。

配置你的项目

使用 CI/CD 环境变量来配置你的项目。

必需配置

  1. 在左侧边栏,选择 Settings > CI/CD
  2. 展开 Variables
  3. 将变量 ARM_CLIENT_ID 设置为你的 Azure 客户端 ID。
  4. 将变量 ARM_CLIENT_SECRET 设置为你的 Azure 客户端密钥。
  5. 将变量 ARM_TENANT_ID 设置为你的服务主体。
  6. 将变量 TF_VAR_agent_token 设置为上一个任务中显示的 agent 令牌。
  7. 将变量 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 providerKubernetes Terraform provider 文档。

配置你的集群

配置好项目后,手动触发集群的配置。在 GitLab 中:

  1. 在左侧边栏,选择 Build > Pipelines
  2. Play ( play ) 旁边,选择下拉列表图标 ( chevron-lg-down )。
  3. 选择 Deploy 来手动触发部署任务。

当管道成功完成后,你可以查看新集群:

  • 在 Azure 中:从 Azure portal,选择 Kubernetes services > View
  • 在 GitLab 中:在左侧边栏,选择 Operate > Kubernetes clusters

使用你的集群

配置好集群后,它会连接到 GitLab 并准备好进行部署。要检查连接状态:

  1. 在左侧边栏,选择 Operate > Kubernetes clusters
  2. 在列表中,查看 Connection status 列。

有关连接功能的更多信息,请参阅 GitLab agent for Kubernetes 文档

删除集群

默认情况下,你的管道中不包含清理任务。要删除所有创建的资源,你必须在运行清理任务之前修改你的 GitLab CI/CD 模板。

要删除所有资源:

  1. 将以下内容添加到你的 .gitlab-ci.yml 文件中:

    stages:
      - init
      - validate
      - test
      - build
      - deploy
      - cleanup
    
    destroy:
      extends: .terraform:destroy
      needs: []
  2. 在左侧边栏,选择 Build > Pipelines 并选择最近的管道。

  3. 对于 destroy 任务,选择 Play ( play )。