InfoGrab Docs

Azure AKS 클러스터 생성

요약

Infrastructure as Code(IaC)를 통해 Azure Kubernetes Service(AKS)에 클러스터를 생성할 수 있습니다. GitLab에서 Infrastructure as Code를 사용하여 클러스터를 생성하려면 클러스터를 관리할 프로젝트를 만들어야 합니다.

Infrastructure as Code(IaC)를 통해 Azure Kubernetes Service(AKS)에 클러스터를 생성할 수 있습니다. 이 프로세스는 Azure 및 Kubernetes Terraform 공급자를 사용하여 AKS 클러스터를 생성합니다. GitLab용 Kubernetes 에이전트를 사용하여 클러스터를 GitLab에 연결합니다.

시작하기 전에:

  • Microsoft Azure 계정과 구성된 보안 자격 증명.
  • GitLab CI/CD 파이프라인을 실행하는 데 사용할 수 있는 러너.

단계:

  1. 예시 프로젝트 가져오기.
  2. Kubernetes 에이전트 등록.
  3. 프로젝트 구성.
  4. 클러스터 프로비저닝.

예시 프로젝트 가져오기#

GitLab에서 Infrastructure as Code를 사용하여 클러스터를 생성하려면 클러스터를 관리할 프로젝트를 만들어야 합니다. 이 튜토리얼에서는 샘플 프로젝트로 시작하여 필요에 맞게 수정합니다.

URL로 예시 프로젝트 가져오기로 시작합니다.

프로젝트를 가져오려면:

  1. 오른쪽 상단 모서리에서 새로 만들기(+)를 선택하고 새 프로젝트/저장소를 선택합니다.
  2. 프로젝트 가져오기를 선택합니다.
  3. URL로 저장소 가져오기를 선택합니다.
  4. Git 저장소 URLhttps://gitlab.com/gitlab-org/ci-cd/deploy-stage/environments-group/examples/gitlab-terraform-aks.git을 입력합니다.
  5. 필드를 완성하고 프로젝트 만들기를 선택합니다.

이 프로젝트는 다음을 제공합니다:

에이전트 등록#

GitLab용 Kubernetes 에이전트를 만들려면:

  1. 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택합니다.
  2. **클러스터 연결(에이전트)**을 선택합니다.
  3. 에이전트 선택 드롭다운 목록에서 aks-agent를 선택하고 에이전트 등록을 선택합니다.
  4. GitLab이 에이전트에 대한 등록 토큰을 생성합니다. 나중에 필요하므로 이 비밀 토큰을 안전하게 보관하세요.
  5. GitLab은 에이전트 서버(KAS)의 주소도 제공합니다. 나중에 필요합니다.

프로젝트 구성#

CI/CD 환경 변수를 사용하여 프로젝트를 구성합니다.

필수 구성:

  1. 왼쪽 사이드바에서 설정 > CI/CD를 선택합니다.
  2. 변수를 확장합니다.
  3. 변수 ARM_CLIENT_ID를 Azure 클라이언트 ID로 설정합니다.
  4. 변수 ARM_CLIENT_SECRET을 Azure 클라이언트 시크릿으로 설정합니다.
  5. 변수 ARM_TENANT_ID를 서비스 주체로 설정합니다.
  6. 변수 TF_VAR_agent_token을 이전 작업에서 표시된 에이전트 토큰으로 설정합니다.
  7. 변수 TF_VAR_kas_address를 이전 작업에서 표시된 에이전트 서버 주소로 설정합니다.

선택 구성:

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용 Kubernetes 에이전트의 Kubernetes 네임스페이스를 설정합니다.

추가 리소스 옵션에 대해서는 Azure Terraform 공급자Kubernetes Terraform 공급자 문서를 참조하세요.

클러스터 프로비저닝#

프로젝트를 구성한 후 클러스터 프로비저닝을 수동으로 트리거합니다. GitLab에서:

  1. 왼쪽 사이드바에서 빌드 > 파이프라인을 선택합니다.
  2. 실행([play]) 옆의 드롭다운 목록 아이콘([chevron-lg-down])을 선택합니다.
  3. 배포를 선택하여 배포 작업을 수동으로 트리거합니다.

파이프라인이 성공적으로 완료되면 새 클러스터를 볼 수 있습니다:

  • Azure에서: Azure 포털에서 Kubernetes 서비스 > 보기를 선택합니다.
  • GitLab에서: 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택합니다.

클러스터 사용#

클러스터를 프로비저닝한 후 GitLab에 연결되어 배포할 준비가 됩니다. 연결을 확인하려면:

  1. 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택합니다.
  2. 목록에서 연결 상태 열을 봅니다.

연결 기능에 대한 자세한 내용은 GitLab용 Kubernetes 에이전트 문서를 참조하세요.

클러스터 제거#

기본적으로 파이프라인에 정리 작업이 포함되어 있지 않습니다. 생성된 모든 리소스를 제거하려면 정리 작업을 실행하기 전에 GitLab CI/CD 템플릿을 수정해야 합니다.

모든 리소스를 제거하려면:

  1. .gitlab-ci.yml 파일에 다음을 추가합니다:

    stages:
      - init
      - validate
      - test
      - build
      - deploy
      - cleanup
    
    destroy:
      extends: .terraform:destroy
      needs: []
    
  2. 왼쪽 사이드바에서 빌드 > 파이프라인을 선택하고 가장 최근 파이프라인을 선택합니다.

  3. destroy 작업에 대해 실행([play])을 선택합니다.

Azure AKS 클러스터 생성

원문 보기
요약

Infrastructure as Code(IaC)를 통해 Azure Kubernetes Service(AKS)에 클러스터를 생성할 수 있습니다. GitLab에서 Infrastructure as Code를 사용하여 클러스터를 생성하려면 클러스터를 관리할 프로젝트를 만들어야 합니다.

Infrastructure as Code(IaC)를 통해 Azure Kubernetes Service(AKS)에 클러스터를 생성할 수 있습니다. 이 프로세스는 Azure 및 Kubernetes Terraform 공급자를 사용하여 AKS 클러스터를 생성합니다. GitLab용 Kubernetes 에이전트를 사용하여 클러스터를 GitLab에 연결합니다.

시작하기 전에:

  • Microsoft Azure 계정과 구성된 보안 자격 증명.
  • GitLab CI/CD 파이프라인을 실행하는 데 사용할 수 있는 러너.

단계:

  1. 예시 프로젝트 가져오기.
  2. Kubernetes 에이전트 등록.
  3. 프로젝트 구성.
  4. 클러스터 프로비저닝.

예시 프로젝트 가져오기#

GitLab에서 Infrastructure as Code를 사용하여 클러스터를 생성하려면 클러스터를 관리할 프로젝트를 만들어야 합니다. 이 튜토리얼에서는 샘플 프로젝트로 시작하여 필요에 맞게 수정합니다.

URL로 예시 프로젝트 가져오기로 시작합니다.

프로젝트를 가져오려면:

  1. 오른쪽 상단 모서리에서 새로 만들기(+)를 선택하고 새 프로젝트/저장소를 선택합니다.
  2. 프로젝트 가져오기를 선택합니다.
  3. URL로 저장소 가져오기를 선택합니다.
  4. Git 저장소 URLhttps://gitlab.com/gitlab-org/ci-cd/deploy-stage/environments-group/examples/gitlab-terraform-aks.git을 입력합니다.
  5. 필드를 완성하고 프로젝트 만들기를 선택합니다.

이 프로젝트는 다음을 제공합니다:

에이전트 등록#

GitLab용 Kubernetes 에이전트를 만들려면:

  1. 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택합니다.
  2. **클러스터 연결(에이전트)**을 선택합니다.
  3. 에이전트 선택 드롭다운 목록에서 aks-agent를 선택하고 에이전트 등록을 선택합니다.
  4. GitLab이 에이전트에 대한 등록 토큰을 생성합니다. 나중에 필요하므로 이 비밀 토큰을 안전하게 보관하세요.
  5. GitLab은 에이전트 서버(KAS)의 주소도 제공합니다. 나중에 필요합니다.

프로젝트 구성#

CI/CD 환경 변수를 사용하여 프로젝트를 구성합니다.

필수 구성:

  1. 왼쪽 사이드바에서 설정 > CI/CD를 선택합니다.
  2. 변수를 확장합니다.
  3. 변수 ARM_CLIENT_ID를 Azure 클라이언트 ID로 설정합니다.
  4. 변수 ARM_CLIENT_SECRET을 Azure 클라이언트 시크릿으로 설정합니다.
  5. 변수 ARM_TENANT_ID를 서비스 주체로 설정합니다.
  6. 변수 TF_VAR_agent_token을 이전 작업에서 표시된 에이전트 토큰으로 설정합니다.
  7. 변수 TF_VAR_kas_address를 이전 작업에서 표시된 에이전트 서버 주소로 설정합니다.

선택 구성:

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용 Kubernetes 에이전트의 Kubernetes 네임스페이스를 설정합니다.

추가 리소스 옵션에 대해서는 Azure Terraform 공급자Kubernetes Terraform 공급자 문서를 참조하세요.

클러스터 프로비저닝#

프로젝트를 구성한 후 클러스터 프로비저닝을 수동으로 트리거합니다. GitLab에서:

  1. 왼쪽 사이드바에서 빌드 > 파이프라인을 선택합니다.
  2. 실행([play]) 옆의 드롭다운 목록 아이콘([chevron-lg-down])을 선택합니다.
  3. 배포를 선택하여 배포 작업을 수동으로 트리거합니다.

파이프라인이 성공적으로 완료되면 새 클러스터를 볼 수 있습니다:

  • Azure에서: Azure 포털에서 Kubernetes 서비스 > 보기를 선택합니다.
  • GitLab에서: 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택합니다.

클러스터 사용#

클러스터를 프로비저닝한 후 GitLab에 연결되어 배포할 준비가 됩니다. 연결을 확인하려면:

  1. 왼쪽 사이드바에서 운영 > Kubernetes 클러스터를 선택합니다.
  2. 목록에서 연결 상태 열을 봅니다.

연결 기능에 대한 자세한 내용은 GitLab용 Kubernetes 에이전트 문서를 참조하세요.

클러스터 제거#

기본적으로 파이프라인에 정리 작업이 포함되어 있지 않습니다. 생성된 모든 리소스를 제거하려면 정리 작업을 실행하기 전에 GitLab CI/CD 템플릿을 수정해야 합니다.

모든 리소스를 제거하려면:

  1. .gitlab-ci.yml 파일에 다음을 추가합니다:

    stages:
      - init
      - validate
      - test
      - build
      - deploy
      - cleanup
    
    destroy:
      extends: .terraform:destroy
      needs: []
    
  2. 왼쪽 사이드바에서 빌드 > 파이프라인을 선택하고 가장 최근 파이프라인을 선택합니다.

  3. destroy 작업에 대해 실행([play])을 선택합니다.