중요합니다
AKS 미리 보기 기능은 셀프 서비스에서 사용할 수 있습니다(옵트인 방식). 미리 보기는 "있는 그대로" 및 "사용 가능한 상태로" 제공되며 서비스 수준 계약 및 제한적 보증에서 제외됩니다. AKS 미리 보기의 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.
Azure Kubernetes Application Network 아키텍처는 관리 평면, 컨트롤 플레인 및 데이터 평면의 세 가지 계층으로 구성됩니다. 각 계층에는 AKS(Azure Kubernetes Service)에 대해 완전히 관리되는 앰비언트 기반 서비스 네트워크 솔루션을 함께 제공하는 고유한 책임이 있습니다. 이 아키텍처를 사용하면 사이드카 또는 애플리케이션을 변경하지 않고도 서비스 간에 보안 정책 기반 통신을 수행할 수 있습니다.
이 문서에서는 Azure Kubernetes Application Network의 아키텍처 계층, 상호 작용하는 방법 및 확장 가능한 클러스터 간 통신을 가능하게 하는 다중 클러스터 서비스 검색 모델에 대한 개요를 제공합니다. Azure Kubernetes Application Network에 대한 자세한 내용은 AKS용 Azure Kubernetes 애플리케이션 네트워크 개요를 참조하세요.
Application Network 아키텍처 계층 개요
아키텍처 계층은 다음과 같은 책임을 관리합니다.
- 관리 평면: Application Network 리소스 만들기, 업데이트 및 삭제 및 클러스터 멤버 자격 관리와 같은 Azure 리소스 작업을 처리합니다.
- 컨트롤 플레인: 각 멤버 클러스터에 대한 메시 구성, 인증서 수명 주기 및 서비스 검색을 관리합니다.
- 데이터 플레인: 앰비언트 모드를 사용하여, 멤버 클러스터 내에서 서비스 간 트래픽을 직접 보호합니다. 이 경우 애플리케이션에 사이드카나 변경이 필요하지 않습니다.
다중 클러스터 배포의 경우 Application Network는 서비스가 클러스터 경계를 넘어 투명하게 통신할 수 있도록 멤버 클러스터 간에 서비스 검색 정보를 동기화합니다.
다음 다이어그램에서는 Azure Kubernetes Application Network의 아키텍처 계층과 이러한 계층이 AKS 클러스터와 상호 작용하는 방법을 보여 줍니다.
관리 계층
관리 평면은 모든 Application Network 리소스 작업을 처리하는 Azure 리소스 공급자입니다. Application Network 리소스를 만들거나 멤버 클러스터를 조인하는 경우 관리 평면은 요청의 유효성을 검사하고, 인증서 스토리지용 Azure Key Vault와 같은 Azure 리소스를 프로비전하고, 멤버에 대한 지역 제어 평면 만들기를 오케스트레이션합니다.
Azure CLI(az appnet) 또는 ARM API를 통해 관리 평면과 상호 작용합니다. 관리 평면은 모든 다운스트림 프로비저닝을 조정하여 컨트롤 플레인 및 데이터 평면 구성 요소가 수동 개입 없이 배포되도록 합니다.
컨트롤 플레인
컨트롤 플레인은 AKS 클러스터 외부에서 실행되는 완전히 관리되는 인프라입니다. 멤버 클러스터가 Application Network에 조인하면 전용 컨트롤 플레인이 멤버 클러스터와 동일한 Azure 지역에 프로비전되어 컨트롤과 데이터 평면 구성 요소 간의 대기 시간을 낮게 유지합니다.
메모
다른 Azure 지역의 멤버는 해당 지역에 배포된 제어 평면을 가지고 있습니다.
컨트롤 플레인에는 다음 구성 요소가 포함됩니다.
- Istiod: 멤버 클러스터의 Kubernetes API 서버에 연결하여 서비스를 검색하고 구성 변경 내용을 확인합니다. xDS 구성을 데이터 평면의 ztunnel 및 웨이포인트 프록시로 전송합니다. 다중 클러스터 배포에서 Istiod는 다른 멤버 클러스터의 Kubernetes API 서버에 연결하여 서비스 검색 정보를 가져오고 클러스터 간 서비스 검색을 사용하도록 설정합니다.
- 인증서 관리: Azure Key Vault에서 지원되는 CA 인증서를 프로비전하고 회전합니다. 루트 CA는 모든 멤버 클러스터에서 공유 신뢰 경계를 설정하고 각 멤버는 수명이 짧은 워크로드 인증서를 발급하는 중간 CA를 받습니다. 자세한 내용은 Azure Kubernetes Application Network 보안 개요를 참조하세요.
- 수명 주기 관리: ztunnel, Istio CNI, 웨이포인트 프록시 및 CRD(사용자 지정 리소스 정의)를 포함하여 멤버 클러스터의 모든 데이터 평면 구성 요소를 배포하고 업그레이드합니다. 자세한 내용은 Azure Kubernetes Application Network 멤버에 대한 업그레이드 구성을 참조하세요.
데이터 평면
데이터 평면은 멤버 클러스터의 applink-system 네임스페이스에 배포된 구성 요소로 구성됩니다. Application Network는 Istio 앰비언트 모드를 사용하므로 워크로드에 사이드카가 삽입되지 않습니다.
데이터 평면에는 다음 구성 요소가 포함됩니다.
- Ztunnel: DaemonSet으로 배포된 노드 수준 L4 프록시입니다. Ztunnel은 노드에서 서비스 간 트래픽을 가로채고 mTLS 연결을 투명하게 설정하며 L4 권한 부여 정책을 적용합니다.
- 웨이포인트 프록시: HTTP 라우팅, 트래픽 이동, 오류 주입 및 L7 권한 부여를 제공하는 네임스페이스별 선택적 L7 프록시입니다. Waypoint 프록시는 L7 정책이 네임스페이스에 대해 구성된 경우에만 배포됩니다.
- 동서 게이트웨이: 다중 클러스터 배포에서 클러스터 간 트래픽을 처리합니다. 각 멤버 클러스터의 동서 게이트웨이 간에 네트워크 연결을 제공할 책임이 있습니다. 자세한 내용은 다중 클러스터 서비스 검색을 참조하세요.
- Istio CNI: 앰비언트 메시 트래픽 차단을 위해 Pod 네트워킹을 구성하는 DaemonSet입니다.
- CRD: 트래픽 관리 및 보안 정책을 구성하기 위한 Kubernetes 사용자 지정 리소스 정의입니다.
서비스 간에 요청이 이루어지면 ztunnel은 트래픽을 가로채고 대상의 ztunnel과 mTLS 연결을 설정하고 대상 워크로드에 요청을 전달합니다. L7 정책이 구성된 경우 트래픽은 대상에 도달하기 전에 웨이포인트 프록시를 통해 라우팅됩니다. 클러스터 간 트래픽의 경우 ztunnel은 동서 게이트웨이를 통해 라우팅하여 원격 멤버 클러스터의 워크로드에 도달합니다.
다중 클러스터 서비스 검색
Application Network는 여러 AKS 클러스터를 통합 서비스 메시에 연결할 수 있도록 지원합니다. 한 멤버 클러스터의 서비스는 클러스터 경계를 넘어 종단 간 mTLS를 적용하여 다른 멤버 클러스터의 서비스와 통신할 수 있습니다.
오픈 소스 Istio 다중 클러스터 배포에서 제어 평면은 일반적으로 다른 클러스터의 Kubernetes API 서버에 연결하여 서비스 및 구성 변경 내용을 검색합니다. Application Network는 클러스터 경계를 넘어 서비스를 검색할 수 있도록 제어 평면이 멤버 클러스터에서 서비스 정보를 가져오는 유사한 서비스 검색 모델을 따릅니다. 이 방법을 사용하면 한 멤버 클러스터의 워크로드가 애플리케이션을 변경하지 않고도 다른 클러스터에서 실행되는 서비스를 확인하고 통신할 수 있습니다. 새 멤버 클러스터를 추가하면 메시 멤버 자격이 확장되므로 새 클러스터의 서비스를 다른 멤버가 검색할 수 있습니다.
클러스터 간 트래픽은 각 멤버 클러스터에 배포된 동서 게이트웨이를 통해 흐릅니다. VNet 피어링, VPN 또는 기타 연결 솔루션을 통해 멤버 클러스터의 동서 게이트웨이 간에 네트워크 연결 가능성을 제공할 책임이 있습니다. 모든 클러스터 간 트래픽은 mTLS로 암호화됩니다.
구성 요소가 상호 작용하는 방법
컨트롤 플레인은 멤버 클러스터의 Kubernetes API 서버에 연결하고, 서비스 및 구성 변경을 감시하고, xDS 업데이트를 ztunnel 및 웨이포인트 프록시에 푸시합니다. 여러 멤버가 있는 경우 각 컨트롤 플레인은 관리되는 메시징을 통해 서비스 정보를 교환하여 모든 멤버가 메시 전체의 모든 서비스를 일관되게 볼 수 있도록 합니다.
인증서 관리는 Application Network 리소스를 만들고 각 멤버 클러스터에 대해 중간 CA를 발급할 때 루트 CA를 프로비전합니다. 워크로드 인증서는 24시간 유효 기간으로 발급되고 12시간마다 자동으로 회전됩니다. 루트 CA에서 중간 및 워크로드 인증서까지 전체 인증서 수명 주기는 수동 개입 없이 관리됩니다.
전체 인증서 계층 구조 및 회전 일정은 Azure Kubernetes Application Network 보안 개요를 참조하세요.
관련 콘텐츠
Azure Kubernetes Application Network에 대한 자세한 내용은 다음 문서를 참조하세요.