Kubernetes 및 Azure Arc 지원 Kubernetes 개요

완료됨

이 단원에서는 Kubernetes에 대해 알아보고 Azure Arc 지원 Kubernetes의 아키텍처 및 이점에 대해 알아봅니다.

Kubernetes

Kubernetes는 컨테이너화된 워크로드의 오케스트레이션을 위한 확장 가능한 오픈 소스 플랫폼입니다. 각 Kubernetes 배포는 복원력을 제공하기 위해 여러 클러스터형 서버 노드로 구성됩니다. 일부 서버는 다른 작업자 노드를 관리하는 컨트롤 플레인 노드입니다.

작업자 노드는 컨테이너화된 워크로드를 Kubernetes Pod로 호스트합니다. Pod는 동일한 노드에서 실행되는 서로 긴밀하게 결합된 여러 컨테이너를 포함할 수 있지만 대체적으로 컨테이너와 비슷합니다.

컨테이너 기반 격리 외에도 Kubernetes는 Pod 및 배포와 같은 기타 리소스를 네임스페이스로 격리할 수도 있습니다. 네임스페이스는 논리적 경계를 형성하여 서로 다른 컨테이너화된 워크로드에 액세스하는 사용자와 외부 애플리케이션 간의 격리를 제공합니다. 또한 네임스페이스를 사용하면 클러스터 내에서 리소스를 만들거나, 보거나, 관리할 수 있는 권한을 제한할 수도 있습니다.

Kubernetes 이점

Kubernetes는 수백 또는 수천 개의 컨테이너에서 사용하는 컴퓨팅, 네트워킹, 스토리지 구성 요소를 결합하는 다중 컨테이너 환경의 복잡성을 줄입니다. Kubernetes 선언적 관리 모델은 원하는 대상 구성을 설명하고 구현 세부 정보를 Kubernetes 컨트롤 플레인에 남겨 둡니다.

Kubernetes를 사용하면 데이터 센터를 통합 컴퓨팅 리소스로 취급할 수 있습니다. 컨테이너를 어디에 어떻게 배포할지 신경 쓰지 않고 필요에 따라 앱을 배포하고 스케일링하는 것만 생각하면 됩니다.

Kubernetes 챌린지

Kubernetes는 적절한 구성, 관리, 유지 관리를 해야 하는 플랫폼으로 세밀하게 사용자 지정할 수 있는 오케스트레이션 플랫폼입니다.

배포, 스케일링, 부하 분산, 로깅, 모니터링과 같은 기능은 모두 선택 사항입니다. 해당 요구 사항을 해결하는 최적의 구성을 찾아서 구현하는 것은 각자의 몫입니다.

Kubernetes 환경을 유지 관리할 책임이 있습니다. 예를 들어 운영 체제 및 Kubernetes 업그레이드를 관리해야 합니다. 네트워킹, 메모리 및 스토리지와 같은 클러스터 노드에 제공되는 하드웨어 리소스로 관리해야 합니다.

AKS(Azure Kubernetes Service)와 같은 관리형 Kubernetes 제품은 이러한 챌린지를 최소화되거나 제거할 수 있습니다.

Azure Arc를 지원하는 Kubernetes

Azure Arc 지원 Kubernetes를 사용하면 어디서나 실행되는 Kubernetes 클러스터를 연결하여 Azure에서 관리하고 구성할 수 있습니다.

Azure Arc는 로컬에 설치된 에이전트를 사용하여 Azure와 신뢰할 수 있는 채널을 설정합니다. Azure에 연결하려면 Kubernetes 클러스터의 전용 Azure-arc 네임스페이스 내에서 여러 에이전트를 Pod로 배포해야 합니다. 이런 에이전트는 Azure에 대한 연결을 유지하고 클러스터 상태 및 메타데이터를 해당 Azure 리소스와 동기화합니다.

Azure Arc 지원 Kubernetes는 CNCF(Cloud Native Computing Foundation) 인증 Kubernetes 클러스터와 함께 작동합니다. 여기에는 다른 퍼블릭 클라우드 공급자(예: GCP 또는 AWS)에서 실행되는 클러스터와 온-프레미스 데이터 센터에서 실행되는 클러스터(예: VMware vSphere 또는 Azure Stack HCI)가 포함됩니다.

Azure Arc 지원 Kubernetes 에이전트 이점

앞에서 설명한 일반적인 Azure Arc 이점 외에도 Azure Arc 지원 Kubernetes는 다음과 같은 기능을 제공합니다.

  • 다중 클라우드/하이브리드 환경에서 모든 Kubernetes 리소스를 관리하는 단일 컨트롤 플레인입니다.
  • Arc 지원 Kubernetes 클러스터는 Azure 서비스를 호스트하는 플랫폼입니다.
  • GitOps를 사용하여 애플리케이션 배포에 대한 지원이 향상되었습니다. GitOps를 사용하면 Kubernetes 클러스터의 원하는 상태를 설명하는 구성을 자동으로 배포할 수 있습니다. Azure Policy를 사용하여 특정 GitOps 기반 구성을 적용할 수 있습니다.
  • Kubernetes용 Azure Policy 및 중앙 집중식 정책 준수 보고를 사용하여 클러스터 및 해당 Pod에 영향을 주는 런타임 정책을 적용합니다. 예를 들어 Azure Acr 지원 Kubernetes 클러스터를 대상으로 하는 수신 트래픽에 HTTPS를 사용하거나 컨테이너가 지정된 특정 포트에서만 수신 대기하도록 할 수 있습니다.
  • Azure Monitor 컨테이너 인사이트를 사용하여 컨테이너를 모니터링합니다.

이 모듈의 나머지 단원에서는 이런 기능에 대해 자세히 알아봅니다.