Azure Kubernetes Service
권위 있는 지침 — 필수 준수
이 스킬은 사용자 요구사항을 기반으로 권장 AKS 클러스터 구성을 생성하며, Day-0 결정(네트워킹, API 서버 — 나중에 변경하기 어려움)과 Day-1 기능(생성 후 활성화 가능)을 구분합니다. 명령어는 CLI 참조를 참조하세요.
빠른 참조
| 속성 | 값 |
|---|---|
| 최적 용도 | AKS 클러스터 계획 및 Day-0 결정 |
| MCP 도구 | mcp_azure_mcp_aks |
| CLI | az aks create, az aks show, kubectl get, kubectl describe |
| 관련 스킬 | azure-diagnostics (AKS 문제 해결), azure-validate (준비 상태 확인) |
이 스킬을 사용하는 경우
사용자가 다음을 원할 때 이 스킬을 활성화하세요:
- 새 AKS 클러스터 생성
- 프로덕션 워크로드를 위한 AKS 클러스터 구성 계획
- AKS 네트워킹 설계 (API 서버 접근, 파드 IP 모델, 이그레스)
- AKS ID 및 시크릿 관리 설정
- AKS 거버넌스 구성 (Azure Policy, Deployment Safeguards)
- AKS 관측 가능성 활성화 (Container Insights, Managed Prometheus, Grafana)
- AKS 업그레이드 및 패치 전략 정의
- AKS 비용 가시성 및 분석 활성화
- AKS Automatic과 Standard SKU 차이 이해
- AKS 클러스터 설정 및 구성을 위한 Day-0 체크리스트 획득
규칙
- 컴퓨팅, 네트워킹, 보안 및 기타 설정 프로비저닝에 대한 사용자의 요구사항부터 시작합니다.
azureMCP 서버를 사용하고mcp_azure_mcp_aks를 먼저 선택하여 클라이언트가 제공하는 정확한 AKS 전용 MCP 도구를 검색합니다. 작업에 가장 적합한 가장 작은 발견된 AKS 도구를 선택하고, 필요한 기능이 AKS MCP 표면을 통해 노출되지 않는 경우에만 Azure CLI(az aks)로 대체합니다.- 사용자의 제어 대 편의성 요구에 따라 AKS Automatic 또는 Standard SKU 중 더 적합한 것을 결정합니다. 특정 사용자 지정이 필요하지 않은 경우 기본값으로 AKS Automatic을 사용합니다.
- 특히 나중에 변경하기 어려운 Day-0 결정(네트워킹, API 서버 접근)에 대해 클러스터 구성 선택에 대한 결정과 근거를 문서화합니다.
필수 입력 (필요한 것만 질문)
사용자가 확실하지 않은 경우 안전한 기본값을 사용합니다.
- AKS 환경 유형: dev/test 또는 프로덕션
- 리전, 가용성 영역, 선호하는 노드 VM 크기
- 예상 규모 (노드/클러스터 수, 워크로드 크기)
- 네트워킹 요구사항 (API 서버 접근, 파드 IP 모델, 인그레스/이그레스 제어)
- 보안 및 ID 요구사항 (이미지 레지스트리 포함)
- 업그레이드 및 관측 가능성 기본 설정
- 비용 제약
워크플로우
1. 클러스터 유형
- AKS Automatic (기본값): 대부분의 프로덕션 워크로드에 가장 적합하며, 보안, 안정성 및 성능에 대한 사전 구성된 모범 사례로 큐레이팅된 경험을 제공합니다. Node Auto-Provisioning (NAP)에서 지원하지 않는 네트워킹, 자동 확장 또는 노드 풀 구성에 대한 특정 사용자 지정 요구사항이 없는 경우 사용합니다.
- AKS Standard: 환경 구성에 대한 완전한 제어가 필요한 경우 사용하며, 설정 및 관리에 추가 오버헤드가 필요합니다.
2. 네트워킹 (파드 IP, 이그레스, 인그레스, 데이터플레인)
파드 IP 모델 (주요 Day-0 결정):
- Azure CNI 오버레이 (권장): 프라이빗 오버레이 범위의 파드 IP, VNet 라우팅 불가, 대규모 환경으로 확장 가능하며 대부분의 워크로드에 적합
- Azure CNI (VNet 라우팅 가능): VNet의 파드 서브넷 또는 노드 서브넷에서 직접 파드 IP 할당, 파드가 VNet 또는 온프레미스에서 직접 주소 지정 가능해야 하는 경우 사용
데이터플레인 및 네트워크 정책:
- Azure CNI powered by Cilium (권장): eBPF 기반의 고성능 패킷 처리, 네트워크 정책 및 관측 가능성 제공
이그레스:
- 정적 이그레스 게이트웨이: 안정적이고 예측 가능한 아웃바운드 IP 제공
- 제한된 이그레스의 경우: UDR + Azure Firewall 또는 NVA
인그레스:
- App Routing 추가 기능과 Gateway API — HTTP/HTTPS 워크로드에 권장되는 기본값
- Istio 서비스 메시와 Gateway API — 고급 트래픽 관리, mTLS, 카나리 릴리스용
- Application Gateway for Containers — WAF 통합 L7 부하 분산용
DNS:
- 모든 노드 풀에서 LocalDNS를 활성화하여 안정적이고 성능 좋은 DNS 확인
3. 보안
- 모든 곳에서 Microsoft Entra ID 사용 (컨트롤 플레인, 파드용 Workload Identity, 노드 접근). 정적 자격 증명을 피합니다.
- 시크릿은 Secrets Store CSI 드라이버를 통한 Azure Key Vault 사용
- Azure Policy + Deployment Safeguards 활성화
- etcd/API 서버에 저장 데이터 암호화 활성화; 노드 간 전송 중 암호화 활성화
- 서명되고 정책 승인된 이미지만 허용 (Azure Policy + Ratify), Azure Container Registry 선호
- 격리: 네임스페이스, 네트워크 정책, 범위 제한 로깅 사용
4. 관측 가능성
- AKS 관측 가능성(로그 + 메트릭)을 위해 Managed Prometheus 및 Container Insights를 Grafana와 함께 사용합니다.
- 보안 모니터링 및 문제 해결을 위해 Log Analytics 작업 영역에 컨트롤 플레인 로그 및 감사 로그를 수집하도록 진단 설정을 활성화합니다.
- 기타 모니터링 및 문제 해결 도구로는 AKS용 Agentic CLI, Application Insights, Resource Health Center, AppLens 감지기, Azure Advisor를 사용합니다.
5. 업그레이드 및 패치
- 제어된 업그레이드 시점을 위해 유지보수 기간 구성
- 컨트롤 플레인 및 노드 OS의 자동 업그레이드를 활성화하여 보안 패치 및 Kubernetes 버전을 최신 상태로 유지
- 엔터프라이즈 안정성(2년 지원)을 위해 AKS 환경을 Premium 계층으로 업그레이드하여 LTS 버전 고려
- Fleet 업그레이드: 테스트에서 프로덕션 환경까지 단계별 롤아웃을 위해 AKS Fleet Manager 사용
6. 성능
- 빠른 노드 시작을 위해 임시 OS 디스크 사용 (
--node-osdisk-type Ephemeral) - 노드 OS로 Azure Linux 선택 (더 작은 공간, 더 빠른 부팅)
- HPA를 넘어 이벤트 기반 자동 확장을 위해 KEDA 활성화
7. 노드 풀 및 컴퓨팅
- 전용 시스템 노드 풀: 최소 2개 노드, 시스템 워크로드 전용으로 테인트 처리 (
CriticalAddonsOnly) - 모든 풀에서 노드 자동 프로비저닝 (NAP) 을 활성화하여 비용 절감 및 응답성 있는 확장
- 호스트 수준 최적화를 위해 최신 세대 SKU (v5/v6) 사용
- B-시리즈 VM 회피 — 버스트 가능한 SKU는 성능/안정성 문제 유발
- 프로덕션 워크로드에는 최소 4 vCPU 이상의 SKU 사용
- SLO에 따라 토폴로지 확산 제약 조건을 설정하여 호스트/영역 간 파드 분산
8. 안정성
- 3개의 가용성 영역에 배포 (
--zones 1 2 3) - 영역 중복 컨트롤 플레인 및 API 서버 가용성 99.95% SLA를 위해 Standard 계층 사용
- 런타임 보호를 위해 Microsoft Defender for Containers 활성화
- 모든 프로덕션 워크로드에 PodDisruptionBudgets 구성
- 장애 도메인 간 파드 분산을 위해 토폴로지 확산 제약 조건 사용
9. 비용 제어
- 배치/중단 가능 워크로드에 스팟 노드 풀 사용 (최대 90% 절감)
- 개발/테스트 클러스터 중지/시작:
az aks stop/start - 안정적인 워크로드에는 예약 인스턴스 또는 Savings Plans 고려
가드레일 / 안전
- 시크릿(토큰, 키)을 요청하거나 출력하지 마십시오.
- Day-0 중요 결정에 대해 요구사항이 모호한 경우, 사용자에게 명확한 질문을 하십시오. Day-1 활성화 기능의 경우, 2~3개의 안전한 옵션과 장단점을 제시하고 보수적인 기본값을 선택하십시오.
- 무중단을 약속하지 마십시오. 워크로드 보호 장치(PDB, 프로브, 레플리카)와 단계별 업그레이드 및 안정성/성능 모범 사례를 조언하십시오.
MCP 도구
| 도구 | 목적 | 주요 매개변수 |
|---|---|---|
mcp_azure_mcp_aks | 클라이언트가 노출한 정확한 AKS 전용 도구를 검색하는 AKS MCP 진입점 | 먼저 호출 가능한 AKS 도구를 검색한 후 해당 도구의 매개변수 사용 |
오류 처리
| 오류 / 증상 | 예상 원인 | 해결 방법 |
|---|---|---|
| MCP 도구 호출 실패 또는 시간 초과 | 잘못된 자격 증명, 구독 또는 AKS 컨텍스트 | az login 확인, az account show로 활성 구독 컨텍스트 확인, 구독 식별자를 사용자에게 표시하지 않고 대상 리소스 그룹 확인 |
| 할당량 초과 | 리전별 vCPU 또는 리소스 제한 | 할당량 증가 요청 또는 다른 리전/VM SKU 선택 |
| 네트워킹 충돌 (IP 고갈) | 오버레이/CNI에 비해 파드 서브넷이 너무 작음 | IP 범위 재계획; 클러스터 재생성 필요할 수 있음 (Day-0) |
| Workload Identity 작동 안 함 | OIDC 발급자 또는 페더레이션 자격 증명 누락 | --enable-oidc-issuer --enable-workload-identity 활성화, 페더레이션 ID 구성 |