빠른 시작: AKS(Azure Kubernetes Service) Azure Linux 컨테이너 호스트를 사용하여 클러스터 만들기

AKS용 Azure Linux 컨테이너 호스트는 엄격한 AKS 수명 주기 통합을 통해 빠른 부팅 시간, 예측 가능한 업데이트 및 강력한 보안 기본값을 제공합니다. Microsoft 커널에서 CVE 응답까지 전체 스택을 소유하여 작업을 간소화하고 고객 오버헤드를 줄입니다. 자세한 내용은 AKS용 Azure Linux 참조하세요.

이 빠른 시작에서 다음을 수행하는 방법을 알아봅니다.

  • Kubernetes CLI kubectl을 설치합니다.
  • Azure 리소스 그룹을 만듭니다.
  • Azure Linux 컨테이너 호스트 클러스터를 만들어 배포합니다.
  • Azure Linux 컨테이너 호스트 클러스터에 연결하도록 kubectl를 구성합니다.

메모

Azure Linux 4.0은 현재 preview이며 평가 및 테스트 용도로 엄격하게 제한됩니다. 프로덕션 사용에 적합하지 않습니다.

사전 요구 사항

  • 최신 버전의 Azure CLI가 필요합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

환경 변수 설정

배포 전체에서 일관된 명명을 보장하려면 다음 환경 변수를 설정합니다. 이 빠른 시작에서는 리소스 그룹 이름을 testAzureLinuxResourceGroup, testAzureLinuxCluster에 대한 클러스터 이름 및 EastUS2로 설정합니다.

export RESOURCE_GROUP=testAzureLinuxResourceGroup
export CLUSTER_NAME=testAzureLinuxCluster
export LOCATION=EastUS2

리소스 그룹 만들기

Azure Linux 컨테이너 호스트를 사용하여 클러스터를 만들려면 다음을 사용합니다.

  • Azure 리소스 그룹: Azure 리소스가 배포되고 관리되는 논리 컨테이너입니다.
  • AKS: 프로덕션 준비 Kubernetes 클러스터를 신속하게 만들 수 있는 호스트된 Kubernetes 서비스입니다.

리소스 그룹을 만들 때 위치를 지정해야 합니다. 이 위치는 다음과 같습니다.

  • 리소스 그룹 메타데이터의 스토리지 위치입니다.
  • 리소스를 만들 때 다른 지역을 지정하지 않으면 Azure에서 리소스가 실행되는 위치입니다.

이전에 설정한 리소스 그룹 이름 및 지역 환경 변수와 함께 명령을 사용하여 az group create 리소스 그룹을 만듭니다.

az group create --name $RESOURCE_GROUP --location $LOCATION

예시 출력:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
  "location": "EastUS2",
  "managedBy": null,
  "name": "testAzureLinuxResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Azure Linux 컨테이너 호스트 클러스터 만들기

Azure Linux 컨테이너 호스트를 Azure Linux 이미지로 프로비전하기 위해 az aks create 명령과 --os-sku 매개 변수를 사용하여 AKS 클러스터를 만듭니다. 다음 예제에서는 리소스 그룹 testAzureLinuxResourceGrouptestAzureLinuxCluster라는 Azure Linux 컨테이너 호스트 클러스터를 만듭니다.

az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --os-sku AzureLinux

예시 출력:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup/providers/Microsoft.ContainerService/managedClusters/testAzureLinuxCluster",
  "location": "EastUS2",
  "name": "testAzureLinuxCluster",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "type": "Microsoft.ContainerService/managedClusters"
}

몇 분 후에 명령이 완료되고 클러스터에 대한 JSON 형식 정보를 반환합니다.

kubectl을 사용하여 클러스터에 연결

  1. kubectl 명령을 사용하여 Kubernetes 클러스터에 연결하도록 az aks get-credentials을 구성합니다. 다음 예제에서는 이전에 만든 리소스 그룹 및 클러스터 이름을 사용하여 Azure Linux 컨테이너 호스트 클러스터에 대한 자격 증명을 가져옵니다.

    az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. 클러스터 노드 목록을 반환하는 명령을 사용하여 kubectl get nodes 클러스터에 대한 연결을 확인합니다.

    kubectl get nodes
    

    예시 출력:

    NAME                           STATUS   ROLES   AGE     VERSION
    aks-nodepool1-00000000-0       Ready    agent   10m     v1.34.4
    aks-nodepool1-00000000-1       Ready    agent   10m     v1.34.4
    

    모든 노드는 Ready 상태를 표시하여 Azure Linux 컨테이너 호스트 클러스터가 실행 중이고 연결할 수 있는지 확인합니다.

자원을 정리하세요

이 클러스터를 계속 사용하지 않으려면 명령을 사용하여 az group delete 지속적인 요금이 발생하지 않도록 리소스 그룹을 삭제합니다. 리소스 그룹을 삭제하면 AKS 클러스터 및 연결된 모든 리소스가 제거됩니다.

az group delete --name $RESOURCE_GROUP --yes --no-wait

이제 Linux 컨테이너 호스트 클러스터를 Azure 실행 중이면 다음을 수행할 수 있습니다.