두 세계의 장점: Sidecarless와 Sidecar 모델을 결합한 새로운 서비스 메시

01 서문

Istio 커뮤니티는 2022년 9월에 Ambient라는 새로운 아키텍처를 출시했습니다. 이는 Sidecar를 구조적으로 레이어 4 및 레이어 7 프록시로 변환하기 때문에 이 모델을 Sidecarless 모델이라고도 합니다. Alibaba Cloud Service Grid ASM은 대기 모드를 지원하는 업계 최초의 관리형 서비스 그리드입니다.

이 기사는 Alibaba Cloud Service Grid의 ASM 제품 기술의 최신 진행 상황에 대해 2023 Yunqi 컨퍼런스에서 공유된 실제 기록을 기반으로 합니다. Alibaba Cloud 네이티브 제품 라인 서비스 그리드 팀의 Shi Zehuan과 Yin Hang은 4개 부분을 사용하여 독자를 소개합니다. ASM 구현 방법 이 새로운 형태의 서비스 그리드는 Sidecarless 및 Sidecar 모드의 통합과 서비스 그리드의 서버리스화입니다.

02 서비스 그리드 아키텍처의 진화

클라우드 네이티브 기술 시스템 하에서 서비스 그리드가 점점 더 대중화됨에 따라 점점 더 많은 기업 기술 팀이 생산 환경에서 서비스 그리드를 사용하고 있습니다. 많은 친구들이 이미 서비스 그리드에 대해 배웠다고 생각합니다. 편의상 그들은 이제 막 연락을 시작했습니다. 서비스 그리드 학생들이 후속 콘텐츠를 보다 원활하게 이해할 수 있도록 먼저 서비스 그리드의 고전적인 사이드카 모드를 소개하겠습니다.

전통적인 서비스 그리드 아키텍처는 구성 요소의 책임에 따라 제어 플레인과 데이터 플레인으로 구분됩니다. 제어 플레인은 서비스 그리드의 관리자 역할을 하며 필요에 따라 데이터 플레인 구성 요소에 대한 다양한 구성을 제공합니다. 실행자 역할을 하며 제어 평면을 기반으로 구성할 수 있습니다. 제공된 구성은 트래픽을 제어하고 서비스 그리드 기능의 실제 실행자입니다.

트래픽 라우팅, 로드 밸런싱, 결함 주입, 요청 응답 조작 또는 인증, 제로 트러스트 네트워크 등과 같은 서비스 그리드 기능을 구현하기 위해 서비스 그리드 인젝터(Injector)는 전용 서비스 실행 서버를 애플리케이션 Pod에 주입합니다. 그리드 지원 컨테이너는 애플리케이션과 동일한 포드에 있으며 네트워크 네임스페이스를 공유합니다. 이 컨테이너는 서비스 그리드의 사이드카입니다.

Sidecar는 애플리케이션 컨테이너와 네트워크 네임스페이스를 공유하므로 iptables 규칙을 통해 컨테이너에 있는 그리드 프록시 프로세스로 애플리케이션 트래픽을 쉽게 가로챌 수 있습니다. 이것이 전형적인 Sidecar 아키텍처입니다.

ASM은 데이터 플레인에서 컨트롤 플레인을 분리하여 관리 방식으로 배포합니다. Istio와 비교하여 ASM은 몇 가지 중요한 이점을 가지고 있습니다. 우선, ASM은 완전한 라이프사이클 관리 기능을 갖추고 있습니다. 서비스 그리드 운영 및 유지 관리 실무에서 서비스 그리드의 복잡한 구성과 커뮤니티의 빠른 반복으로 인해 서비스 설치 및 업그레이드에 몇 가지 어려움이 있는 경우가 많습니다. ASM의 라이프사이클 관리 기능을 통해 사용자는 구성 문제나 호환성 및 적응 문제를 고려할 필요 없이 클릭 한 번으로 서비스 메시 인스턴스를 생성, 삭제 및 업그레이드할 수 있습니다.

둘째, ASM은 잘못된 구성 및 진단을 보호하는 기능을 제공합니다. 일부 고객이 서비스 그리드를 사용할 때 구성 오류로 인해 기대에 미치지 못하는 결과가 발생하는 것이 일반적인 문제라는 것을 관찰했습니다. ASM은 이러한 문제를 점검 항목 및 진단으로 변환합니다. 항목은 잘못된 구성을 최대한 빨리 차단하고 경고하여 서비스 그리드 운영 및 유지 관리 담당자가 적시에 문제를 찾아 해결할 수 있도록 돕습니다. 클라우드 네이티브 애플리케이션을 위한 네트워크 인프라로서 서비스 그리드는 애플리케이션이 관찰 가능한 플랫폼과 연결되도록 도울 수 있으며, 이를 위해 ASM은 한 번의 클릭으로 여러 클라우드 서비스에 빠르게 연결할 수 있는 기능을 제공하여 사용자가 클라우드 네이티브 생태계에 빠르게 연결할 수 있도록 돕습니다.

마지막으로 ASM은 엔터프라이즈 수준의 다중 클러스터 모드 지원을 제공하며, ASM을 통해 사용자는 다중 데이터 평면 클러스터 그리드를 신속하게 구현할 수 있습니다.

ASM은 현재 일부 제어 평면 구성 요소를 서버리스로 만들고 있으며, 서버리스 구성 요소는 자동 탄력적 확장을 실현하고 요청 시 사용할 수 있습니다. Serverless 기반의 기능을 기반으로 더 높은 스케줄링 효율성과 시작 속도 최적화가 달성되며, 이미지 캐싱을 통해 준비 시간과 시작 시간이 크게 단축됩니다.

03 새로운 데이터 플레인 모델

사이드카 패턴은 매우 직관적이고 효과적이지만 여전히 몇 가지 단점이 있습니다.

1) 사이드카 삽입은 워크로드를 방해합니다. 삽입을 삽입하거나 취소하려면 워크로드를 다시 시작해야 합니다. 사이드카 구성(예: 리소스)을 조정하려면 워크로드를 다시 시작해야 할 수도 있습니다. 사이드카와 워크로드는 강력하게 바인딩되어 있습니다.

2) 리소스 활용도가 이상적이지 않으며 최악의 상황에 대처하기 위해 각 사이드카는 리소스의 일부를 예약해야 하며 클러스터 크기가 클수록 유휴 리소스가 많아집니다.

3) 트래픽 캡처 및 프로토콜 식별과 같은 레이어 7 처리의 계산 비용은 높지만 모든 요청이 HTTP 프로토콜이거나 사이드카에서 처리되어야 하는 것은 아닙니다.

위와 같은 이유로 서비스 메시를 더 많은 시나리오에 적합하게 만들려면 덜 방해적이고 저렴한 방법이 필요합니다 . 따라서 2022년 9월 Istio 커뮤니티에서는 Sidecar의 기능을 레이어 4 및 레이어 7 프록시로 분할하고 레이어 4 및 레이어 7 프록시의 배포가 워크로드와 분리되는 Sidecarless Ambient 모드를 출시했습니다. 이는 매우 좋습니다. 일부 시나리오에서 사이드카 모드의 단점을 보완합니다. ASM은 Ambient 모드를 지원하는 업계 최초의 관리형 서비스 그리드입니다.

대기 모드에서 4레이어 프록시는 주로 전송 레이어의 관찰 가능성, 라우팅 및 통신 암호화에 중점을 두는 반면, 7레이어 프록시는 7레이어 프로토콜을 기반으로 트래픽 관리, 보안 및 관찰 가능성 측면에서 보다 복잡한 동작 처리를 수행합니다. . 사용자는 애플리케이션에 대해 프록시를 활성화할지 여부와 실제 비즈니스 요구 사항에 따라 활성화할 프록시 계층을 점진적으로 선택할 수 있습니다.

L4 처리 계층인 데이터 플레인 Ztunnel에서 L4 프록시를 호출합니다. L4 처리 계층은 애플리케이션의 모든 4계층 통신을 전달하는 역할을 담당합니다. ztunnel의 기능을 통해 애플리케이션은 제로 트러스트 보안을 얻을 수 있습니다. 그리드에 합류한 직후 MTLS, 인증 및 권한 부여 정책을 포함한 기능. ztunnel이 DaemonSet 모드로 배포된 후 CNI를 사용하여 노드에서 트래픽 차단 규칙을 구성하여 ztunnel 인스턴스에 대한 그리드의 Pod 트래픽을 가로챕니다. ztunnel은 트래픽을 전송하기 전에 MTLS를 통해 암호화합니다. 피어 ztunnel은 트래픽을 해독한 다음 이를 애플리케이션에 전달합니다. 위 경로의 도움으로 ztunnel은 TCP 모니터링 표시기, 액세스 로그 등도 수집할 수 있습니다.

7레이어 프록시를 Waypoint 프록시라고 부르는데, Waypoint 프록시는 클래식 아키텍처의 Sidecar와 마찬가지로 Envoy 기반 프록시이며 Ambient Mesh 모드에서 7레이어 프로토콜을 기반으로 보다 고급 기능을 구현하는 데 사용됩니다. 예를 들어 요청 헤더 및 자격 증명을 기반으로 서비스 메시에 대해 회로 차단, 트래픽 셰이핑, 트래픽 분할, 재시도, 오류 주입, 역할 기반 액세스 제어 권한 부여 정책 등과 같은 고급 정책을 적용할 수 있습니다. 노드 수준에서 배포되는 Ztunnel 에이전트에 비해 Waypoint 에이전트는 서비스 수준에서 배포되며, 사용자는 특정 서비스에 대해 7계층 에이전트를 활성화 또는 비활성화하거나 배포 규모를 임의로 확장하거나 필요에 따라 배포할 수 있습니다. 클러스터의 리소스 활용률을 높입니다.

L4 및 L7 에이전트의 특정 기능을 이해한 후 L4 및 L7이 분리된 대기 모드의 네트워크 토폴로지를 살펴보겠습니다.

다음으로 L4 프록시부터 시작하여 대기 모드의 트래픽 경로를 살펴보겠습니다.

1. 대기 모드의 애플리케이션 포드가 시작되면 CNI 플러그인은 해당 IP 주소를 노드 네트워크 네임스페이스 아래의 ipset에 기록합니다.

2. 요청이 시작되면 트래픽 데이터 패킷이 Pod의 veth pair 인터페이스를 통해 노드 네트워크 네임스페이스에 도달합니다. ipset에 있는 주소의 데이터 패킷은 노드의 iptables 규칙에 의해 캡처되고 처리됩니다.

3. Iptables 규칙은 패킷을 0x100으로 표시합니다.

4. 노드의 정책 라우팅 규칙은 0x100으로 표시된 모든 패킷이 istio 발신 네트워크 인터페이스를 통해 대상 192.168.127.2로 전달되도록 지정합니다.

5. ztunnel 프록시 포드의 투명 프록시 iptables 규칙은 pistioout에서 ztunnel 아웃바운드 포트 15001로 패킷을 보냅니다.

6. ztunnel은 패킷을 처리하여 대상 서비스(httpbin)의 IP 주소로 전달합니다. 이 주소는 Node B의 httpbin의 veth 장치 주소이므로 패킷은 Node B로 라우팅됩니다.

7. 패킷이 노드 B에 도달한 후 인바운드 트래픽에 대한 규칙은 패킷이 istioin 인터페이스로 라우팅되도록 합니다.

8. 데이터 패킷은 istioin과 pistioin으로 구성된 터널을 통해 ztunnel Pod로 들어갑니다.

9. Ztunnel Pod의 iptables 규칙은 pistioin에서 패킷을 캡처하고 태그를 기반으로 포트 15008로 전달합니다.

10. ztunnel 포드는 패킷을 처리하여 대상 포드로 보냅니다.

레이어 4 프록시가 아웃바운드 데이터를 전달할 때 대상 애플리케이션이 레이어 7 프록시를 활성화한 경우 레이어 4 프록시는 HBONE 터널을 통해 대상 애플리케이션의 레이어 7 프록시로 트래픽을 전달하고 트래픽은 다음을 통해 레이어 7로 들어갑니다. 연결은 포트 15008에서 청취하는 Listener를 종료합니다. 에이전트, 이 Listener는 특정 필터를 통해 처리됩니다. HBOONE 트래픽의 압축을 풀고 신원 인증을 완료한 후 트래픽은 후속 처리를 위해 기본 내부 수신기로 전송됩니다. 기본 리스너에서는 서비스 IP+포트를 기준으로 트래픽을 매칭하고, Layer 7 트래픽 정책을 실행하여 대상 클러스터를 결정합니다. 마지막으로 트래픽은 connect_originate라는 내부 리스너로 들어가고, 이 리스너는 HBONE 터널을 사용하여 계속해서 업스트림 대상으로 트래픽을 전달합니다.

Ambient Mesh의 트래픽 경로에 관심이 있는 독자 는 Ambient 모드의 트래픽 경로에 대한 보다 심층적이고 자세한 분석이 제공되는 저자의 다른 기사를 참조할 수도 있습니다 .

04 사이드카리스와 사이드카 모드를 통합한 새로운 형태

새로운 아키텍처에서 사이드카 모드는 사이드카리스 모드와 충돌하지 않으며 사용자는 두 모드를 혼합하여 혼합 배포할 수 있으며 이 기능을 사용하면 필요에 따라 점진적으로 전환을 완료할 수 있습니다. ASM의 관리형 대기 모드는 리소스 오버헤드를 최대 60%까지 줄이고, 운영 및 유지 관리 작업을 50%까지 줄이고, 특정 시나리오에서 요청 대기 시간을 40%까지 줄일 수 있습니다.

ASM은 통합 컨트롤 플레인 API를 통해 데이터 플레인에 대한 구성 관리 플랫폼을 제공하고, 통합 형태의 사이드카 모드의 사이드카, 레이어 4 에이전트, 사이드카리스 모드의 레이어 7 에이전트, 심지어 관리형 에이전트까지 요구에 따라 다양한 구성을 제공합니다.

7레이어 프록시는 더 풍부한 서비스 그리드 기능을 제공하므로 실제 프로덕션에서는 7레이어 프록시가 비즈니스 애플리케이션의 확장 및 축소와 동시에 확장 및 축소되어야 할 가능성이 더 높습니다. 새로운 아키텍처에서 레이어 7 에이전트 배포의 유연성을 기반으로 ASM은 관리형 레이어 7 에이전트를 제공하여 서버리스 형태로 레이어 7 에이전트를 배포하고 레이어 7 에이전트의 운영 및 유지 관리 복잡성을 보호하며 사용자는 용량을 계획할 필요가 없습니다. Layer 7 에이전트는 고급화할 필요가 없으며, Layer 7 에이전트에 대한 운영 및 유지 관리 작업을 수행할 필요가 없습니다. 비즈니스 요구에 따라 언제든지 원클릭으로 Layer 7 에이전트를 배포, 재활용, 확장 및 축소할 수 있습니다. .

7레이어 프록시 호스팅 기술 아키텍처를 살펴보면 사용자는 K8s 표준 게이트웨이 API를 통해 7레이어 프록시를 선언할 수 있으며 ASM 호스팅 측에 위치한 Waypoint 프록시 컨트롤러는 게이트웨이 API를 감시합니다. CR이 생성되거나 변경되면 Waypoint Proxy Controller는 Gateway API의 사양에 따라 Waypoint Proxy 워크로드의 수명주기 관리를 수행합니다. 사용자는 게이트웨이 API를 통해 ASM에서 호스팅하는 웨이포인트 프록시 풀 또는 사용자 클러스터의 ECI 서버리스 노드에 7계층 프록시를 배포하도록 지정할 수 있습니다.

05 고객사례

Lixun Logistics는 Belle 산하의 서비스 제공업체로 패션 산업에 중점을 두고 기업에 전문 물류 및 공급망 솔루션을 제공합니다. Lixun Logistics는 전국에 70개 이상의 옴니채널 물리적 클라우드 창고와 6개의 중앙 전자상거래 창고를 보유하고 있으며 총 면적은 100만 평방미터 이상입니다. 서비스는 300개 이상의 도시와 3000개 이상의 비즈니스 구역을 포괄하며 다음과 같은 서비스를 제공합니다. 많은 유명 패션 브랜드와 브랜드가 입점해 있으며, 옴니채널 배송 서비스를 제공합니다.

현재 Luxeon Logistics는 핵심 생산 시스템을 100% ASM으로 전환했습니다. ASM은 Luxeon Logistics가 관리되고 운영이 필요 없는 아키텍처와 풍부한 제품화 기능을 통해 그리드 구현 과정에서 구현 주기를 최소 50% 단축하는 데 도움을 주었습니다 . 또한 Luxeon Logistics 운영 및 유지 관리 팀이 네트워크 트래픽 관리, 보안 구성 관리 등의 측면에서 운영 및 유지 관리 효율성을 최소 40% 높일 수 있도록 도왔습니다. Luxi Logistics가 ASM으로 전환한 후 운영 및 유지보수 담당자는 ASM에서 제공하는 다양한 API를 통해 교통 규칙, 보안, 관측 가능성과 관련된 모든 구성을 완료했습니다. ASM 게이트웨이를 사용하여 맞춤형 인증 서비스에 접속하면 출입구의 보안이 강화되며 ASM의 외부 서비스 등록 기능을 통해 그리드 내부와 외부 서비스 간 통신을 개방하고 제품화 기능을 통해 통합 관측 플랫폼에 효율적으로 액세스합니다. ASM에서 제공하는 관찰 가능한 데이터 생성부터 수집, 쿼리 및 검색, 대시보드 시각적 표시, 그리드 토폴로지에 대한 즉각적인 통찰력, 그리드 서비스 상태 평가에 이르기까지 관찰 가능한 완전한 솔루션 세트를 얻습니다.

마지막으로 먼저 Alibaba Cloud Service Grid가 제공하는 엔터프라이즈급 서비스 그리드 기능에 대한 개요를 살펴보겠습니다. 서비스 그리드 기능 수준에는 이기종 서비스의 통합 관리, 멀티 클러스터 및 클러스터 간 애플리케이션의 네트워크 관리, CI/CD 도구와 통합된 애플리케이션의 그레이스케일 릴리스 및 배포, 애플리케이션 클라우드 아키텍처의 원활한 진화, Kserve가 포함됩니다. AI 기반 탄력적 서비스 관리 등 통합 및 호환성 측면에서 ASM은 웹 사용자 인터페이스를 지원하고 완전한 OpenAPI를 제공하여 강력하고 유연한 통합 기능을 제공하는 동시에 Istio 사용 사양과 완벽하게 호환되며 표준 K8s API를 통해 서비스를 지원합니다. 그리드 인스턴스의 구성이 변경됩니다.

ASM 제어 평면의 핵심 구성 요소는 완전 관리형 설계를 채택합니다. 표준 버전과 엔터프라이즈 버전은 통합된 유연한 아키텍처를 사용하여 완전한 다중 버전 지원을 제공합니다. 또한 트래픽 관리 향상, 프로토콜 향상, 적응형 등 다양한 기능을 제공합니다. XDS 최적화, 소프트웨어 및 하드웨어 통합 최적화, 그리드 진단 분석, 확장 센터, 이기종 서비스 등록 통합 등을 위한 강력한 사용자 정의 기능

ASM은 이기종 컴퓨팅 인프라에서 실행되는 애플리케이션 서비스에 대한 통합 그리드 거버넌스 기능을 제공하는 클라우드 네이티브 애플리케이션용 네트워크 플랫폼입니다. ASM의 강력한 이기종 컴퓨팅 시설 지원 기능을 기반으로 ASM은 사용자가 K8s 노드에서 실행되는 워크로드, ECI 노드에서 실행되는 서버리스 워크로드, 관리되는 서버리스 구성 요소, 심지어 다른 퍼블릭 클라우드 또는 IDC의 워크로드까지 이종적으로 통합할 수 있도록 지원합니다. 시설은 연결되고 통합 관리되며 운영 및 유지보수가 이루어집니다. 더 많은 ASM 기능을 보려면 ASM 홈페이지를 방문하거나 ASM 공식 웹사이트 문서를 통해 자세히 알아보세요.

ASM 홈페이지:
https://www.aliyun.com/product/servicemesh?spm=5176.28508143.J_4VYgf18xNlTAyFFbOuOQe.183.e939154a6Av1f8

저자 : Shi Zehuan, Yin Hang

원본 링크

이 기사는 Alibaba Cloud의 원본 콘텐츠이므로 허가 없이 복제할 수 없습니다.

OpenAI는 모든 사용자에게 ChatGPT Voice Vite 5를 무료로 공개합니다. 공식 출시됩니다. 운영자의 마법 작전: 백그라운드에서 네트워크 연결을 끊고, 광대역 계정을 비활성화하고, 사용자가 광 모뎀을 강제로 변경하도록 합니다. Microsoft 오픈 소스 터미널 채팅 프로그래머가 ETC 잔액을 조작하고 연간 260만 위안 이상 횡령 Redis의 아버지가 사용하는 Pure C 언어 코드는 Telegram Bot 프레임워크를 구현합니다. 오픈 소스 프로젝트 관리자라면 이런 답변을 어디까지 견딜 수 있습니까? Microsoft Copilot Web AI는 중국 OpenAI를 지원하는 12월 1일 공식 출시될 예정입니다 . 전 CEO이자 사장인 Sam Altman과 Greg Brockman이 Microsoft에 합류했습니다. Broadcom은 VMware의 성공적인 인수를 발표했습니다.
{{o.이름}}
{{이름}}

Supongo que te gusta

Origin my.oschina.net/yunqi/blog/10150797
Recomendado
Clasificación