[Azure] AKS(Azure Kubernetes Service) 클러스터 생성하기

Kubernetes는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리하는 오픈 소스 플랫폼이며, 다양한 환경에서 일관된 애플리케이션 실행을 가능하게 해주는 컨테이너 오케스트레이션 도구입니다.

 

Azure AKS(Azure Kubernetes Service)는 Microsoft Azure에서 제공하는 관리형 Kubernetes 서비스로, 컨테이너화된 애플리케이션을 쉽게 배포, 관리 및 확장할 수 있도록 지원합니다. 자동화된 클러스터 관리, 보안 통합, 오토스케일링 및 DevOps 도구와의 연계를 제공하여 운영 부담을 줄이고 생산성을 향상시킵니다.

또한, Azure Monitor 및 Azure Security Center와 통합되어 모니터링, 로깅, 보안 정책 적용이 용이합니다.

 

Azure 콘솔을 통해서 간단히 AKS(Azure Kubernetes Service) 클러스터를 생성하는 방법을 알아보도록 하겠습니다.

 

 

 


AKS(Azure Kubernetes Service) 클러스터 생성하기

Azure 콘솔에서 'Kubernetes Services' 또는 'AKS'를 검색하여 Kubernetes Services를 클릭합니다.

 

 

AKS(Azure Kubernetes Service) 클러스터를 생성하기 위해 'Create' 버튼 클릭 후 'Kubernetes cluster' 옵션을 선택합니다.

 

 

Basics 설정

AKS(Azure Kubernetes Service) 클러스터를 구성하는 기본 옵션을 설정합니다.

 

'Cluster preset configuration' 값에 따라 클러스터에서 사용할 수 있는 기능과 node의 수가 다릅니다.
간단하게 클러스터를 구성하는 것 이므로 'Dev/Test' 값으로 선택합니다.
[참고링크] Cluster preset 정보

 

 

'Kubernetes cluster name', 'Region', 'AKS pricing tier', 'Kubernetes version'를 설정합니다.

AKS pricing tier(Free, Standard, Premium)는 Kubernetes 컨트롤 플레인 관리를 위한 가격 계층이며 저는 'Free'를 선택하였습니다.
[참고링크] AKS pricing tier 정보

 

Kubernetes version은 현재 기준으로 최신 버전인 1.31.3 버전을 선택하였습니다.

Automatic upgrade 설정과 Node security channel type 사용하지 않도록 선택하였습니다.

 

마지막으로 인증 방법인 'Authentication and Authorization' 설정은 AKS 클러스터를 배포할 때 생성되는 기본 Kubernetes 사용자 계정을 활용하여 인증을 수행하도록 설정하였습니다.

 

 

Node Pools 설정

Azure Kubernetes Service(AKS)에서 Node Pools 설정은 클러스터 내의 가상 머신(노드) 그룹으로, 워크로드를 실행하는 기본 단위입니다.

Node Pools은 System Node Pool(시스템 노드 풀)과 User Node Pool(사용자 노드 풀)이 존재합니다.

  • System Node Pool(시스템 노드 풀)
    • 클러스터의 기본 노드 풀이며, AKS 시스템 서비스(예: CoreDNS, kube-proxy, metric-server 등)가 실행되며 최소 1개 이상 존재해야 하고 제거할 수 없습니다.
  • User Node Pool(사용자 노드 풀)
    • 워크로드를 실행하는 전용 노드 풀이며, 여러 개 생성 가능하며, 다양한 VM 크기 및 스케일링 설정을 적용할 수 있습니다.

 

 

기본 설정으로 'agentpool' 이름의 시스템 노드 풀이 생성된 상태로 존재합니다.
최소 사양으로 AKS를 구성할 것이므로 해당 시스템 노드 풀을 제거하고, 다시 만들어보겠습니다.

 

 

'Node pool name', 'Mode', 'Scale method', 'Node count'를 설정합니다.

'Mode'는 시스템 노드 풀을 만들기 위해 System을 선택합니다.

최소 사양을 위해 'Scale method'는 Manual로 선택하고 1개의 Node만 생성되도록 'Node count'를 설정합니다.

 

 

'Node size' 설정을 통해 노드 풀 구성 시 사용할 컴퓨팅 리소스인 가상머신(VM)의 타입을 선택해보도록 하겠습니다.
Choose a size 버튼을 클릭합니다.

vCPU 2, RAM 4 GiB인 D2lds_v5 타입을 선택하였습니다.

 

 

'Node size' 설정을 완료하면 아래와 같이 선택한 타입을 확인하실 수 있습니다.

 


동일한 방법으로 사용자 노드 풀도 생성합니다.

 

 

Networking 설정

Azure Kubernetes Service(AKS)의 Container Networking Interface (CNI) 설정을 통해 Pod와 노드 간 네트워크 통신을 설정할 수 있습니다.

AKS는 'Network configuration' 설정을 통해 기본적으로 3가지 네트워크 모델을 지원합니다.

    1. Azure CNI Overlay
    • Pod는 VNET 외부의 Overlay 네트워크에서 IP를 할당받아 VNET의 IP 주소 소모를 줄임
    • NAT을 통해 외부와 연결되며, 대규모 클러스터에 적합하고 성능이 우수함
    1. Azure CNI (Node Subnet 방식)
    • Pod는 VNET의 IP를 직접 할당받아 Azure 리소스와 네트워크 통합이 원활함
    • VNET의 IP를 많이 소모하지만, 네트워크 성능이 가장 우수하며 NSG/UDR 적용 가능
    1. Kubenet
    • Pod는 노드의 IP를 공유하며, NAT을 통해 외부와 통신하여 IP 사용량이 적음
    • Azure VNET과의 직접 연결이 어려워 소규모 클러스터나 테스트 환경에 적합

 

 

각 모델의 특징이 있으며 구성 환경에 따라 모델을 선택하여 사용합니다.

'DNS name prefix' 설정을 통해 Kubernetes API 서버의 DNS 이름을 설정합니다.

 

 

AKS 생성 (Review + create)

Basics 설정, Node Pools 설정, Networking 설정까지 완료하면 Review + create 버튼을 클릭하여 AKS를 생성합니다.

 

 

프로비저닝에 시간이 좀 소요되며 정상적으로 AKS 클러스터가 생성됨을 확인하실 수 있습니다.

 

 


AKS 상태 확인

Azure 콘솔의 Kubernetes 서비스에서 상태를 확인하고자 하는 AKS 클러스터를 클릭합니다.

AKS 클러스터의 시작 및 종료를 할 수 있는 버튼이 있습니다.
클러스터의 상태를 확인할 수 있으며 Kubernetes의 버전 정보 또한 확인하실 수 있습니다.

 

 

 


 

Azure 콘솔을 통해서 간단히 AKS(Azure Kubernetes Service) 클러스터를 생성하는 방법에 대해 알아봤습니다.

 

AKS(Azure Kubernetes Service) 클러스터는 기본 설정(Basics), 노드 풀(Node Pools), 네트워킹(Networking) 설정을 통해 구성되며, 필요에 따라 기타 설정 및 정책 등을 적용할 수 있습니다. 설정 완료 후 "Review + create" 버튼을 클릭하여 AKS를 생성하며, 생성된 클러스터의 상태 및 버전을 Azure 콘솔에서 확인할 수 있습니다.

 

Microsoft Azure에서 제공하는 Azure AKS(Azure Kubernetes Service) Kubernetes 서비스를 통해 컨테이너화된 애플리케이션을 쉽게 배포하고 운영해보시기 바랍니다.

 

지금까지 AKS(Azure Kubernetes Service) 클러스터를 생성하는 방법을 알아보는 시간을 가졌습니다.

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://learn.microsoft.com/ko-kr/azure/aks/automatic/quick-automatic-managed-network?pivots=azure-portal

 

 

 

+ Recent posts