Azure Policy 및 Azure Monitor를 사용하여 Azure Arc 지원 Kubernetes 관리

완료됨

Azure Arc는 Azure Policy 및 Azure Monitor 같은 다양한 Azure 서비스를 사용하여 관리를 중앙 집중화하고 간소화합니다.

이 단원에서는 이런 서비스를 사용하여 Azure Arc 지원 Kubernetes 클러스터를 관리하고 모니터링하는 방법을 알아봅니다.

Azure Policy

Azure Policy는 Kubernetes 클러스터 및 해당 구성 요소를 비롯한 대상 리소스 종류의 속성을 기반으로 하는 선언적 규칙을 사용합니다. 이런 규칙은 정책 정의를 형성하며, 관리자가 리소스 그룹, 구독, 관리 그룹에 대한 정책 할당을 통해 적용할 수 있습니다.

Kubernetes에 대한 Azure Policy

Kubernetes용 Azure Policy를 사용하면 회사는 모든 Azure Arc 지원 Kubernetes 클러스터에서 균일한 거버넌스 규칙을 적용하여 조직 표준에 부합하지 않는 것을 감지할 수 있습니다.

Arc 지원 Kubernetes용 Azure Policy 확장은 다음 작업을 수행합니다.

  • 허용 컨트롤러 Pod를 호스트하는 Kubernetes 클러스터를 대상으로 하는 Azure Policy 할당을 주기적으로 확인합니다.
  • 제약 조건을 적용하는 정책 정의를 클러스터에 사용자 지정 리소스로 배포합니다. 그러면 허용 제어 Pod가 적용됩니다.
  • 감사 및 규정 준수 데이터를 Azure Policy에 보고하므로 다른 Azure 또는 Azure Arc 지원 리소스와 마찬가지로 Azure Portal을 통해 상태를 검토할 수 있습니다.

Arc 지원 Kubernetes에 대한 기본 제공 정책 정의

Azure Policy는 일반적으로 사용되는 다음과 같은 정책 정의를 포함하여 Azure Arc 지원 Kubernetes에 대한 기본 제공 정의를 제공합니다.

정책 이름 정책 설명
Kubernetes 클러스터는 권한 있는 컨테이너를 허용하지 않아야 함 클러스터에서 권한 있는 컨테이너 생성을 방지합니다.
Kubernetes 클러스터는 HTTPS를 통해서만 액세스할 수 있어야 함 수신 연결에 HTTPS를 사용하도록 보장합니다.
Kubernetes 클러스터 서비스는 허용된 외부 IP만 사용해야 함 허용되는 외부 IP 주소만 사용되는지 확인합니다.
Kubernetes 클러스터 컨테이너 CPU 및 메모리 리소스 한도는 지정된 한도를 초과하지 않아야 함 컨테이너 CPU 및 메모리 리소스 제한을 적용합니다.
Kubernetes 클러스터 서비스는 허용된 포트에서만 수신 대기해야 함 허용된 포트에서만 수신 대기하도록 서비스를 제한합니다.
Kubernetes 클러스터 컨테이너는 허용된 이미지만 사용해야 함 컨테이너를 배포하는 데 사용할 수 있는 이미지를 신뢰할 수 있는 레지스트리의 이미지로만 제한합니다.
Kubernetes 클러스터 컨테이너는 허용된 기능만 사용해야 함 컨테이너의 공격 표면을 줄이는 기능을 제한합니다.
Kubernetes 클러스터 Pod는 승인된 호스트 네트워크와 포트 범위만 사용해야 함 클러스터에서 호스트 네트워크 및 허용 가능한 호스트 포트 범위에 대한 Pod 액세스를 제한합니다.

사용할 수 있는 더 많은 기본 제공 정책 정의가 있습니다. 모든 정책 정의를 보려면 Azure Portal에서 정책을 검색하여 선택하고 왼쪽 메뉴에서 정의를 선택한 다음, 범주 드롭다운 목록에서 Kubernetes를 선택합니다.

Kubernetes용 Azure Policy 구현

연결된 클러스터에서 Kubernetes용 Azure Policy를 구현하려면 Azure Policy 확장을 설치해야 합니다. Azure Arc 지원 Kubernetes의 경우 프로세스는 다음과 같은 개략적인 단계로 구성됩니다.

  1. Arc 지원 Kubernetes 리소스를 관리할 수 있는 권한이 있는 계정으로 Microsoft Entra 테넌트에 로그인합니다.
  2. 클러스터에 Azure Policy 확장 인스턴스를 만듭니다.
  3. Kubernetes 정책 정의 중 하나를 사용하여 정책 할당을 만듭니다.

정책 할당이 만들어지면 Azure Policy가 규정 준수하고 있는지 검사합니다.

Azure Monitor

Azure Monitor는 포괄적인 클라우드 기반 관리 기능을 Azure를 넘어 온-프레미스 데이터 센터와 Microsoft 이외의 클라우드 공급자로 확장합니다. Monitor는 Azure 서비스, Arc 지원 리소스, 온-프레미스 데이터 센터와 타사 클라우드 리소스에 메트릭, 활동 및 진단 로그, 이벤트를 수집하고 모니터링할 수 있습니다.

Azure Monitor 인터페이스의 기능은 다음과 같습니다.

  • 대시보드 및 통합 문서
  • 메트릭 탐색기 또는 Power BI와 같은 도구를 사용한 메트릭 분석
  • 경고로 트리거되는 작업과 경고 수신자를 지정하는 일반 작업 그룹

Azure Monitor 컨테이너 인사이트

Azure Monitor 컨테이너 인사이트는 Kubernetes 환경의 상태에 대한 포괄적인 인사이트를 제공하여 운영 안정성 및 비즈니스 연속성을 유지하는 데 도움이 됩니다. 메트릭은 Azure Arc 지원 Kubernetes를 포함하여 Kubernetes 환경의 컨트롤러, 노드, 컨테이너에서 수집됩니다.

컨테이너 인사이트는 다음 기능을 제공합니다.

  • 각 클러스터 노드에서 실행되는 컨테이너와 평균 프로세서 및 메모리 사용률을 확인하여 리소스 병목 상태를 감지할 수 있습니다.
  • 개별 Pod에서 실행되는 컨테이너를 식별하여 Pod의 전반적인 성능을 추적할 수 있습니다.
  • Pod를 지원하는 표준 프로세스와 관련이 없는 호스트에서 실행되는 워크로드의 리소스 사용률을 평가합니다.
  • 평균 부하와 부하가 가장 많은 클러스터의 동작을 비교하여 용량 요구 사항을 평가하고 클러스터가 유지할 수 있는 최대 부하를 예측할 수 있습니다.
  • 리소스 사용률이 허용되는 임계값을 초과하거나 클러스터에서 상태 변경이 발생하는 경우 사전에 알리도록 경고를 구성합니다.

Azure Arc 지원 Kubernetes 클러스터 모니터링

Azure Monitor 컨테이너 인사이트는 Linux용 Azure Monitor 에이전트의 컨테이너화된 버전을 사용합니다. 이 에이전트는 모니터링되는 클러스터에서 실행되어 클러스터 노드 및 컨테이너에서 성능 메트릭과 로그를 수집합니다. 이 에이전트는 Kubernetes 메트릭 API와 직접 상호 작용하여 수집된 데이터를 Azure에 업로드합니다.

Azure Arc 지원 Kubernetes 배포에 대한 Azure Monitor 컨테이너 인사이트를 구현하는 프로세스는 다음과 같은 개략적인 단계로 구성됩니다.

  1. Arc 지원 Kubernetes 리소스를 관리할 수 있는 권한이 있는 계정으로 Microsoft Entra 테넌트에 로그인합니다.
  2. 사용하려는 Log Analytics 작업 영역의 작업 영역 ID를 식별합니다.
  3. Log Analytics 작업 영역 ID를 사용하여 클러스터에 Azure Monitor Container 인사이트 확장 인스턴스를 만듭니다.