lstio 설명
선도적인 서비스 메시를 통해 관찰 가능성, 트래픽 관리, 보안 및 정책을 간소화합니다.
Istio 서비스 메시
Istio는 개발자와 운영자가 분산 또는 마이크로서비스 아키텍처에서 직면하는 문제를 해결합니다. 처음부터 구축하든 기존 애플리케이션을 클라우드 네이티브로 마이그레이션하든 Istio가 도움이 될 수 있습니다.
배포된 모든 애플리케이션과 함께 프록시 "사이드카"를 추가함으로써 Istio를 사용하면 애플리케이션 인식 트래픽 관리, 놀라운 관찰 가능성 및 강력한 보안 기능을 네트워크에 프로그래밍할 수 있습니다.
서비스 메시란 무엇입니까?
최신 애플리케이션은 일반적으로 마이크로서비스의 분산 컬렉션으로 설계되며 각 마이크로서비스 컬렉션은 일부 개별 비즈니스 기능을 수행합니다. 서비스 메시는 애플리케이션에 추가할 수 있는 전용 인프라 계층입니다. 이를 통해 관찰 가능성, 트래픽 관리 및 보안과 같은 기능을 자신의 코드에 추가하지 않고도 투명하게 추가할 수 있습니다. "서비스 메시"라는 용어는 이 패턴을 구현하는 데 사용하는 소프트웨어 유형과 해당 소프트웨어를 사용할 때 생성되는 보안 또는 네트워크 도메인을 모두 설명합니다.
Kubernetes 기반 시스템과 같은 분산 서비스의 배포가 크기와 복잡성이 증가함에 따라 이해하고 관리하기가 더 어려워질 수 있습니다. 요구 사항에는 검색, 로드 밸런싱, 장애 복구, 메트릭 및 모니터링이 포함될 수 있습니다. 또한 서비스 메시는 종종 A/B 테스트, 카나리아 배포, 속도 제한, 액세스 제어, 암호화 및 종단 간 인증과 같은 보다 복잡한 운영 요구 사항을 처리합니다.
서비스 간 통신은 분산 응용 프로그램을 가능하게 합니다. 애플리케이션 클러스터 내부 및 전체에서 이 통신을 라우팅하는 것은 서비스 수가 증가함에 따라 점점 더 복잡해집니다. Istio는 이러한 복잡성을 줄이는 동시에 개발 팀의 부담을 덜어줍니다.
이스티오란?
Istio는 기존 분산 애플리케이션에 투명하게 계층화되는 오픈 소스 서비스 메시입니다. Istio의 강력한 기능은 서비스를 보호, 연결 및 모니터링하는 일관되고 보다 효율적인 방법을 제공합니다. Istio는 서비스 코드 변경이 거의 또는 전혀 없는 로드 밸런싱, 서비스 간 인증 및 모니터링을 위한 경로입니다. 강력한 컨트롤 플레인은 다음과 같은 중요한 기능을 제공합니다.
- TLS 암호화, 강력한 ID 기반 인증 및 권한 부여를 사용하여 클러스터에서 서비스 간 통신을 보호합니다.
- HTTP, gRPC, WebSocket 및 TCP 트래픽에 대한 자동 부하 분산
- 풍부한 라우팅 규칙, 재시도, 장애 조치 및 장애 주입을 통해 트래픽 동작을 세밀하게 제어
- 액세스 제어, 속도 제한 및 할당량을 지원하는 플러그형 정책 계층 및 구성 API
- 클러스터 수신 및 송신을 포함하여 클러스터 내의 모든 트래픽에 대한 자동 메트릭, 로그 및 추적
Istio는 확장성을 위해 설계되었으며 다양한 배포 요구 사항을 처리할 수 있습니다. Istio의 컨트롤 플레인은 Kubernetes에서 실행되며 해당 클러스터에 배포된 애플리케이션을 메시에 추가하거나 메시를 다른 클러스터로 확장하거나 Kubernetes 외부에서 실행되는 VM 또는 다른 엔드포인트를 연결할 수도 있습니다.
기여자, 파트너, 통합 및 배포자로 구성된 대규모 에코시스템은 다양한 시나리오를 위해 Istio를 확장하고 활용합니다. Istio를 직접 설치하거나 여러 공급업체에서 Istio를 통합하고 관리하는 제품을 제공할 수 있습니다.
작동 방식
Istio에는 데이터 평면과 제어 평면이라는 두 가지 구성 요소가 있습니다.
데이터 플레인은 서비스 간의 통신입니다. 서비스 메시가 없으면 네트워크는 전송되는 트래픽을 이해하지 못하며 트래픽의 유형이나 발신자 또는 수신자를 기반으로 결정을 내릴 수 없습니다.
서비스 메시는 프록시를 사용하여 모든 네트워크 트래픽을 가로채서 설정한 구성을 기반으로 광범위한 애플리케이션 인식 기능을 허용합니다.
Envoy 프록시는 클러스터에서 시작하는 각 서비스와 함께 배포되거나 VM에서 실행되는 서비스와 함께 실행됩니다.
컨트롤 플레인은 원하는 구성과 서비스 보기를 가져와서 프록시 서버를 동적으로 프로그래밍하여 규칙이나 환경이 변경되면 업데이트합니다.
===========================================================================================
lstio는 애플리케이션 네트워크 기능을 유연하고 쉽게 자동화할 수 있는 투명한 언어 독립적 방법을 제공하는 현대화된 서비스 네트워킹 레이어인 서비스 메시입니다. 클라우드 기반 애플리케이션을 구성하는 다양한 마이크로서비스를 관리하는 데 널리 사용되는 솔루션입니다. Istio 서비스 메시는 또한 이러한 마이크로서비스가 서로 통신하고 데이터를 공유하는 방법을 지원합니다.
조직이 클라우드로의 이동을 가속화하면서 필요에 따라 애플리케이션도 현대화하고 있습니다. 그러나 모놀리식 레거시 앱을 클라우드 기반 앱으로 전환하면 DevOps팀에 문제가 발생할 수 있습니다.
개발자는 클라우드에서 이동성을 보장하기 위해 느슨하게 결합된 마이크로서비스를 사용하여 앱을 어셈블하는 방법을 학습해야 합니다. 동시에 운영팀은 점점 더 커지는 하이브리드 및 멀티 클라우드 환경 내에서 새로운 클라우드 기반 앱을 관리해야 합니다. Istio를 사용하면 이러한 작업을 수행할 수 있습니다.
Istio의 정의
Istio는 조직에서 분산형 마이크로서비스 기반 앱을 어디서나 실행할 수 있도록 지원하는 오픈소스 서비스 메시입니다. 왜 Istio를 사용해야 하나요? Istio를 통해 조직은 마이크로서비스를 보호, 연결, 모니터링할 수 있으므로 엔터프라이즈 앱을 더욱 빠르고 안전하게 현대화할 수 있습니다.
Istio는 애플리케이션 코드를 변경할 필요 없이 서비스 간 트래픽 흐름을 관리하고 액세스 정책을 적용하며 원격 분석 데이터를 집계합니다. Istio는 기존의 분산형 애플리케이션에 투명하게 레이어링하여 배포 복잡성을 완화합니다.
Istio 서비스 메시의 이점
일관된 서비스 네트워킹 달성
네트워킹 운영자는 개발자 오버헤드를 추가하지 않고도 모든 서비스의 네트워킹을 일관성 있게 관리할 수 있습니다.
Istio 이점을 통한 서비스 보호
보안 운영자는 인증, 승인, 암호화를 비롯한 서비스 간 보안을 쉽게 구현할 수 있습니다.
애플리케이션 성능 향상
카나리아 롤아웃과 같은 권장사항을 구현하고 애플리케이션을 심도 있게 파악하여 성능을 개선하기 위해 집중해야 하는 부분을 파악할 수 있습니다.
Istio, Envoy, Kubernetes의 작동 방식
Istio와 Istio 아키텍처를 이해하기 위해서는 Envoy와 Kubernetes에 대해 알아야 합니다. Istio 대 Envoy 또는 Istio 대 Kubernetes의 문제가 아닙니다. 마이크로서비스 기반의 컨테이너화된 환경이 원활하게 작동하도록 이들을 함께 사용할 수 있습니다.
예를 들어 Istio 같은 서비스 메시는 제어 영역과 데이터 영역으로 구성됩니다. Istio는 Envoy의 확장된 버전을 데이터 영역으로 사용합니다. 그러면 Envoy가 Istio 서비스 메시의 모든 인바운드 트래픽과 아웃바운드 트래픽을 관리합니다.
반면 Kubernetes는 컨테이너화된 애플리케이션을 자동화하고 조정하여 이를 배포 및 확장하는 데 사용되는 많은 수동 프로세스를 제거하는 오픈소스 플랫폼입니다. Istio는 플랫폼에 독립적이지만, 개발자들은 Istio와 Kubernetes를 함께 사용하는 경우가 더 많습니다.
Istio는 플랫폼에 독립적이며 다양한 환경에서 실행되도록 설계되었습니다.
- 클라우드
- 온프레미스
- Kubernetes
- Mesos
Istio의 용도
안전한 클라우드 기반 앱
강력한 ID 기반 인증, 승인, 암호화를 통해 애플리케이션 수준에서 보안을 강화할 수 있습니다.
효율적인 트래픽 관리
다양한 라우팅 규칙, 재시도, 장애 조치, 결함 주입으로 트래픽 동작을 세밀하게 제어할 수 있습니다.
서비스 메시 모니터링
Istio의 강력한 추적, 모니터링, 로깅 기능으로 서비스 성능이 업스트림에 미치는 영향을 자세히 파악할 수 있습니다.
Kubernetes 및 가상 머신을 통한 간편한 배포
Istio는 컨테이너 및 가상 머신을 포함한 기존 워크로드와 최신 워크로드 모두에 대해 가시성과 네트워크 제어를 제공합니다.
고급 기능으로 부하 분산 간소화
클라이언트 기반 라우팅, 카나리아 롤아웃과 같은 고급 기능과 함께 모든 트래픽에 자동화된 부하 분산을 사용할 수 있습니다.
정책 시행
액세스 제어, 비율 제한, 할당량을 지원하는 플러그인 가능한 정책 레이어 및 구성 API를 사용하여 정책을 시행할 수 있습니다.