1. 쿠버네티스 오픈 소스와 클라우드 매니지드
서비스 접점 소개
최영락
한국마이크로소프트
2022년 5월
2. 클라우드 매니지드 쿠버네티스 서비스
(Managed Kubernetes Services)
• 오픈 소스인 Kubernetes에 대한 서비스를 호스팅 형태로 제공
• “Cluster as a Service”
• 사용자 (고객) 구독에서 워크로드가 실행 & 호스트되는 노드 (nodes, worker nodes)들을 관리
• 해당 노드들을 관리하기 위한 클러스터 기능 및 사용자 (고객)이 사용하는 Customer Control Plane
(CCP)에 있는 컴포넌트들을 관리
• 자동화된 프로비저닝, 업그레이드 (Base OS 이미지, Kubernetes 버전), 동적 스케일링, 모니터링 지원
• 주요 접점에 대한 연동 컴포넌트
• Load balancers
• Persistent volumes
• DNS (e.g., Azure DNS)
• vNETs
• Kubenet
• Container Network Interfaces (e.g., Azure CNI), etc.
3. 참고: 쿠버네티스 Control Plane 및 Node 핵심 컴포넌트
Control Plane
• Kube-apiserver
• Etcd
• Kube-scheduler
• Kube-controller-manager
• Kube-addon-manager
• TunnelEnd: (CCP tunnel side)
Nodes
• Kubelet
• Kube-proxy
• Container Runtime
• CoreDNS
• TunnelFront
4. 한 눈에 보기: K8s vs AKS
Node 1
Network
Container Engine
Control Plane(1…N)
AKS Service Underlay VNET
Customer 1 Control Plane
Add-on Manager
Controller Manager TunnelEnd
Customer 2 Control Plane
Add-on Manager
Controller Manager TunnelEnd
Customer 3 Control Plane
Add-on Manager
Controller Manager TunnelEnd
Node N
Container Engine
Nodepool 1
CoreDNS
TunnelFront
Node 1
CoreDNS
TunnelFront
Node 2
Nodepool 1 (Linux) Nodepool 2 (Windows) Nodepool 1
Nodepool 2
Nodepool 3
Nodepool N
VNET
VirtualSubnet
VirtualSubnet
Node 1 Node 2
Node 3 Node 4
Node 5 Node 6
Node 7 Node 8
Node 9 Node 10
Node 11 Node 12
Node 13 Node 14
Node 15 Node N
VirtualSubnet
VirtualSubnet
Load Balancer Load Balancer Load Balancer
14. 요약
• 쿠버네티스 오픈 소스로 실제 많이 사용되는 로드밸런서,
스토리지 등까지 배워보려면 MetalLB, Longhorn 등 직접 설치 필요
• 매니지드 쿠버네티스 서비스에서는 클라우드 프로바이더에서
제공하는 리소스와 연동
• 연동을 위한 대표적인 방식이 Interface를 통한 방식
• CNI (Container Network Interface): 네트워크 인터페이스
• CSI (Container Storage Interface): 스토리지 인터페이스
• 참고: CRI (Container Runtime Interface – with containerd, docker, cri-o, …)