TECHNOLOGIES

Azure Kubernetes Service(AKS)

완전 관리형 Kubernetes 서비스를 사용하여 컨테이너화된 애플리케이션을 더 쉽게 배포하고 관리하십시오.

AKS(Azure Kubernetes Service)는 서버리스 Kubernetes, 통합 CI/CD(지속적인 통합 및 지속적인 업데이트) 환경,
엔터프라이즈급 보안과 거버넌스를 제공합니다. 배포 팀과 운영 팀을 단일 플랫폼에 통합하여 애플리케이션을 신속하게 빌드 및 제공하고 확장하실 수 있습니다.

Azure Kubernetes Service(AKS)란?

1. Azure Kubernetes Service(AKS)를 활용한 컨테이너 플랫폼 운영

Azure Kubernetes Services(AKS)는 Azure 클라우드 플랫폼에서 컨테이너 기반 인프라 운영을 제공하는 서비스입니다. Master 서버를 Azure에서 관리해주기 때문에 인프라 관리 부담은 줄어드는
대신, Azure 리소스와의 호환성은 높아졌습니다. AKS 활용하면 Azure 가상머신 노드를 사용하여 컨테이너를 구성하고 사용량에 따라서 손쉽게 Scale Up & Down을 수행할 수 있습니다.
또한 Azure CNI(Container Network Interface)를 활용하면 AKS에서 생성된 Pod와 Azure 가상네트워크 상의 리소스를 직접 통신시킬 수 있습니다. 때문에 인프라 구성 및 운영 효율성이 높아집니다.

2. Master 관리

Master 노드

AKS 클러스터 마다 API 서버, 스케줄러 등을 제공하는 단일 테넌트와 전용 Kubernetes Master가 있습니다.
이 마스터는 Azure에서 유지 및 관리합니다.

3. 다양한 배포 방식

Azure DevOps

AKS의 Pod는 사용자의 목적에 맞게 다양한 방식으로 배포될 수 있습니다. 개발의 편의성을 위해 Azure DevOps를 통해 CI / CD로 구성할 수도 있고, Azure Container Registry에 업로드한 이미지로 Private 환경에서 배포할 수도 있습니다. 그리고 Docker Hub의 Public 이미지를 활용할 수도 있습니다.
따라서 AKS를 활용하면 배포 방식에 따라 다양한 아키텍처를 구성 및 운영할 수 있습니다.

4. 보안

AKS 노드는 사용자가 유지 및 관리하는 Azure 가상 머신입니다. Azure 플랫폼은 Linux 노드에 대해 매일 밤 OS 보안 패치를 자동으로 적용합니다. 또한 가상네트워크에서는 트래픽 흐름을 필터링하기 위해 보안 그룹 규칙이 적용됩니다. 만약, 온-프레미스와 연결이 필요하다면, Azure에서 제공하는 Express Route(전용선)과 VPN 리소스를 활용할 수도 있습니다.

5. Azure CNI (Container Network Interface)

Azure CNI는 Azure 가상네트워크와 Pod 간 통신을 연결시켜 주는 Bridge 역할을 수행합니다.
Azure 가상네트워크 상의 리소스와 Pod 간 직접 통신이 가능하기 때문에, Azure와 AKS의 호환성 및 운영 효율성이 극대화되었습니다.

6. Persistent Volume

AKS 사용자는 yaml 파일 설정 만으로 Azure Disk를 볼륨으로 사용할 수 있습니다. Azure에서는 HDD와 SSD Disk를 제공하며,
필요한 경우 Azure File을 통해서 여러 노드에서 공유하는 네트워크 Volume(SMB 3.0)을 구성합니다.

7. 모니터링

AKS에서 Azure Monitor를 활용하면, 노드에서 실행중인 컨테이너와 평균 CPU 및 메모리 사용량을 확인할 수 있습니다.
또한 노드나 컨테이너의 하드웨어 리소스 사용률이 임계 값을 초과하는 경우 알람 구성이 가능합니다.