질문과 대답 - Azure Arc 지원 Kubernetes 및 GitOps

이 문서에서는 Azure Arc 지원 Kubernetes 및 GitOps에 대해 질문과 대답을 다룹니다.

Azure Arc 지원 Kubernetes 및 AKS(Azure Kubernetes Service)의 차이점은 무엇인가요?

AKS는 Azure에서 제공하는 관리되는 Kubernetes 제품입니다. AKS는 복잡성 및 운영 오버헤드의 대부분을 Azure로 오프로드하여 Azure에서의 관리되는 Kubernetes 클러스터 배포를 간소화합니다. Kubernetes 마스터는 Azure에서 관리되므로 에이전트 노드만 관리하고 유지 관리합니다.

Azure Arc 지원 Kubernetes를 사용하면 Kubernetes 클러스터를 Azure에 연결하여 Azure Monitor 및 Azure Policy와 같은 Azure의 관리 기능을 확장할 수 있습니다. 기본 Kubernetes 클러스터 자체를 유지 관리합니다.

Azure에서 실행되는 AKS 클러스터를 Azure Arc에 연결해야 하나요?

현재 대부분의 시나리오에서는 AKS(Azure Kubernetes Service) 클러스터를 Azure Arc에 연결할 필요가 없습니다. 클러스터를 연결하여 클러스터 맨 위에 App Services 및 Data Services와 같은 특정 Azure Arc 지원 서비스를 실행할 수 있습니다. 이는 Azure Arc 지원 Kubernetes의 사용자 지정 위치 기능을 사용하여 수행할 수 있습니다.

AKS-HCI 클러스터와 Azure Stack Edge의 Kubernetes 클러스터를 Azure Arc에 연결해야 하나요?

AKS-HCI 클러스터 또는 Azure Stack Edge의 Kubernetes 클러스터를 Azure Arc에 연결하면 클러스터에 Azure Resource Manager의 리소스 표현이 제공됩니다. 이 리소스 표현을 통해 클러스터 구성, Azure Monitor, Azure Policy(Gatekeeper) 등의 기능을 이러한 연결된 Kubernetes 클러스터로 확장할 수 있습니다.

Azure Arc 지원 Kubernetes 클러스터가 Azure Stack Edge에 있는 경우 Azure Stack HCI의 AKS(2021년 4월 업데이트 이상 버전) 또는 Windows Server 2019 Datacenter의 AKS(2021년 4월 업데이트 이상 버전)에서 Kubernetes 구성은 무료로 포함됩니다.

만료된 Azure Arc 지원 Kubernetes 리소스를 해결하려면 어떻게 해야 하나요?

Azure Arc 지원 Kubernetes 클러스터와 연결된 시스템이 할당한 관리 ID는 Azure Arc 서비스와 통신하기 위해 Azure Arc 에이전트에서만 사용됩니다. 이 시스템이 할당한 관리 ID와 연결된 인증서의 만료 기간은 90일이며 에이전트는 46일에서 90일 사이에 이 인증서 갱신을 시도합니다. 관리 ID 인증서가 만료되지 않도록 하려면 인증서를 갱신할 수 있도록 클러스터가 46일과 90일 사이에 한 번 이상 온라인 상태가 되도록 해야 합니다.

관리 ID 인증서가 만료되면 리소스가 Expired로 간주되고 모든 Azure Arc 기능(예: 구성, 모니터링 및 정책)이 클러스터에서 작동을 중지합니다.

지정된 클러스터에 대해 관리 ID 인증서가 만료되는 시기를 확인하려면 다음 명령을 실행합니다.

az connectedk8s show -n <name> -g <resource-group>

출력에서 managedIdentityCertificateExpirationTime 값은 관리 ID 인증서가 만료되는 시기를 나타냅니다(해당 인증서의 경우 90D 표시).

managedIdentityCertificateExpirationTime 값이 과거의 타임스탬프를 나타내는 경우 위 출력의 connectivityStatus 필드는 Expired로 설정됩니다. 이러한 경우 Kubernetes 클러스터에서 Azure Arc를 다시 사용하려면 다음을 수행합니다.

  1. 클러스터에서 Azure Arc 지원 Kubernetes 리소스 및 에이전트를 삭제합니다.

    az connectedk8s delete -n <name> -g <resource-group>
    
  2. 클러스터에 에이전트를 배포하여 Azure Arc 지원 Kubernetes 리소스를 다시 만듭니다.

    az connectedk8s connect -n <name> -g <resource-group>
    

참고 항목

az connectedk8s delete는 또한 클러스터 상단의 구성 및 클러스터 확장을 삭제합니다. az connectedk8s connect를 실행한 후 Azure Policy를 사용하거나 수동으로 클러스터에 구성 및 클러스터 확장을 다시 만듭니다.

이미 CI/CD 파이프라인을 사용하고 있는 경우 Azure Arc 지원 Kubernetes 또는 AKS 및 GitOps 구성을 계속 사용할 수 있나요?

예, CI/CD 파이프라인을 통해 배포를 수신하는 클러스터에서 구성을 계속 사용할 수 있습니다. 기존 CI/CD 파이프라인과 비교할 때 GitOps 구성에는 몇 가지 추가 이점이 있습니다.

드리프트 조정

CI/CD 파이프라인은 파이프라인 실행 중에 한 번만 변경 내용을 적용합니다. 그러나 클러스터의 GitOps 운영자는 Git 리포지토리를 지속적으로 폴링하여 원하는 상태의 클러스터에 있는 Kubernetes 리소스를 가져옵니다. GitOps 운영자가 클러스터에 있는 리소스의 실제 상태가 필요한 리소스 상태와 다른 것을 알게 되면 이 드리프트가 조정됩니다.

대규모로 GitOps 적용

CI/CD 파이프라인은 Kubernetes 클러스터에 대한 이벤트 기반 배포(예: Git 리포지토리에 푸시)에 유용합니다. 그러나 모든 Kubernetes 클러스터에 동일한 구성을 배포하려면 CI/CD 파이프라인에 각 Kubernetes 클러스터의 자격 증명을 수동으로 구성해야 합니다.

Azure Arc 지원 Kubernetes의 경우 Azure Resource Manager에서 GitOps 구성을 관리하므로 구독 또는 리소스 그룹의 범위 내에서 Azure Policy를 사용하여 모든 Azure Arc 지원 Kubernetes 및 AKS 리소스에 대해 동일한 구성 만들기를 자동화할 수 있습니다. 이 기능은 정책 할당 후에 생성된 Azure Arc 지원 Kubernetes 및 AKS 리소스에도 적용됩니다.

이 기능은 규정 준수 및 거버넌스 요구 사항을 충족하기 위해 전체 Kubernetes 클러스터 인벤토리에 있는 기준 구성(예: 네트워크 정책, 역할 바인딩 및 Pod 보안 정책)을 적용합니다.

클러스터 규정 준수

각 GitOps 구성의 규정 준수 상태는 Azure에 다시 보고됩니다. 이를 통해 실패한 배포를 추적할 수 있습니다.

Azure Arc 지원 Kubernetes는 클러스터 지역 외부에 고객 데이터를 저장하나요?

단일 지역에 고객 데이터를 저장할 수 있는 기능은 현재 아시아 태평양 지역의 동남 아시아 지역(싱가포르) 및 브라질 지역의 브라질 남부(상파울루 주)에서만 사용할 수 있습니다. 다른 모든 지역의 경우 고객 데이터는 지역에 저장됩니다. 이는 Azure Arc 지원 Open Service Mesh 및 Azure Arc 지원 Kubernetes에서 지원되는 Azure Key Vault Secrets Provider 확장에 적용됩니다. 다른 클러스터 확장의 경우 고객 데이터를 저장하는 방법을 알아보려면 해당 설명서를 참조하세요. 자세한 내용은 보안 센터를 참조하세요.

다음 단계