연습 - Azure Kubernetes Service 클러스터 만들기

완료됨

이 연습에서는 서비스를 사용하는 많은 고객의 요구를 충족하도록 여러 노드를 사용하는 AKS 클러스터를 만듭니다. 워크로드 리소스를 만들고 관리하는 최상의 방법을 제공하므로 ‘단일 컨트롤 플레인과 여러 노드’ 아키텍처를 사용하기로 결정합니다.

AKS는 Portal 또는 Azure CLI를 통해 Linux 및 Windows 노드 풀을 모두 지원하지만 Windows 노드 풀을 사용하려는 경우 추가 필수 구성 요소 및 명령을 사용하여 클러스터를 만들어야 합니다. 추가하려는 노드 풀의 유형에 따라 OS를 선택합니다.

중요

이 연습을 수행하려면 사용자의 Azure 구독이 필요하며 요금이 발생할 수 있습니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  1. 리소스를 배포하려는 계정으로 Azure Cloud Shell에 로그인합니다.

    중요

    모든 스크립트를 Bash를 사용하여 실행하므로 아직 Cloud Shell을 만들지 않은 경우 실행 중인 셸로 Bash를 선택합니다.

  2. 연습 전체에서 다시 사용할 구성 값에 대한 변수를 만듭니다.

    export RESOURCE_GROUP=rg-contoso-video
    export CLUSTER_NAME=aks-contoso-video
    export LOCATION=eastus
    

    LOCATION 변수를 가장 가까운 지역으로 업데이트합니다. 이 예에서는 eastus을(를) 사용합니다.

  3. az group create 명령을 실행하여 리소스 그룹을 만듭니다. 새로운 이 리소스 그룹에 모든 리소스를 배포합니다.

    az group create --name=$RESOURCE_GROUP --location=$LOCATION
    
  4. az aks create 명령을 실행하여 AKS 클러스터를 만듭니다.

    az aks create \
        --resource-group $RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --node-count 2 \
        --generate-ssh-keys \
        --node-vm-size Standard_B2s \
        --network-plugin azure
    

    해당 명령은 rg-contoso-video 리소스 그룹 내에 aks-contoso-video라는 새 AKS 클러스터를 만듭니다. 클러스터에는 --node-count 매개 변수에 의해 정의되는 두 개의 노드가 있습니다. 이 연습에서는 비용을 고려하여 노드 두 개만 사용합니다. --node-vm-size 매개 변수는 클러스터 노드를 Standard_B2s 크기의 VM으로 구성합니다. 이러한 노드는 시스템 모드의 일부입니다.

    Important

    표준 B2s VM은 노드 풀을 만드는 데 필요하지만 무료 계층 구독에서는 사용할 수 없습니다. 제한을 받는 경우 표준 업그레이드로 업그레이드해야 합니다.

  5. az aks nodepool add 명령을 실행하여 기본 Linux 운영 체제를 사용하는 다른 노드 풀을 추가합니다.

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name userpool \
        --node-count 2 \
        --node-vm-size Standard_B2s
    

    해당 명령은 기존 AKS 클러스터(이전 명령에서 만들어짐)에 새 노드 풀(사용자 모드)을 추가합니다. 이 새 노드 풀은 시스템 노드 풀과 달리 애플리케이션 및 워크로드를 호스트하는 데 사용됩니다.

  1. Cloud Shell에서 다음 명령을 실행하여 kubectl을 통해 Kubernetes 클러스터를 연결합니다.

    az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

    이 명령은 ~/.kube/config 파일에 클러스터에 액세스하기 위한 모든 정보를 포함하는 항목을 추가합니다. Kubectl을 사용하면 단일 명령줄 인터페이스에서 여러 클러스터를 관리할 수 있습니다.

  2. kubectl get nodes 명령을 실행하여 클러스터에 연결할 수 있는지 검토하고 구성을 확인합니다.

    kubectl get nodes
    

    출력에는 두 개의 노드 풀에 사용할 수 있는 4개의 노드가 나열됩니다.

NAME                                STATUS   ROLES   AGE    VERSION
aks-nodepool1-21895026-vmss000000   Ready    agent   245s   v1.23.12
aks-nodepool1-21895026-vmss000001   Ready    agent   245s   v1.23.12
aks-userpool-21895026-vmss000000    Ready    agent   105s   v1.23.12
aks-userpool-21895026-vmss000001    Ready    agent   105s   v1.23.12