
31. What components are common in a service mesh?
- A. tracing and log storage
- B. circuit breaking and Pod scheduling
- C. data plane and runtime plane
- D. service proxy and control plane
[해석]
What components are common : 일반적인(일반적으로 사용되는or흔히 사용되는) 구성요소들은 무엇인가?
in a service mesh: 서비스 메시에서
"서비스 메시에서 일반적인(일반적으로 사용되는or흔히 사용되는) 구성 요소들은 무엇인가?"
[풀이]
※ 서비스 메시(Service Mesh)란?: 여러 개의 작은 서비스(마이크로서비스)들이 서로 효율적이고 안전하게 통신할 수 있또록 돕는 구조이다. 쉽게 말하면, 수많은 작은 서비스들이 서로 주고받는 네트워크 통신을 관리하고, 보안, 로깅, 관찰 등을 도와주는 역할을 수행하는 것이다.
A. tracing and log storage (추적 및 로그 저장소)
※ tracing: 요청이 여러 서비스를 거치며 이동한 경로를 기록한다
※ log storage: 시스템이 기록한 로그 데이터를 저장하는 저장소
※ 둘 다 서비스 메시와 연관될 수 있지만, 반드시 포함되는 핵심 구성요소는 아니며 부가적인 기능에 가깝다.
B. circuit breaking and Pod scheduling (서킷 브레이킹 및 Pod 스케줄링)
※ circuit breaking: 문제가 발생한 서비스로의 요청을 차단해주는 기술
※ Pod scheduling: 쿠버네티스에서 Pod가 어떤 노드에서 실행될지 정하는 기능
※ 서비스 메시의 핵심 기능이라기보다는, 서로 관련이 없는 요소끼리 묶여있다.
C. data plane and runtime plane (데이터 플레인 및 런타임 플레인)
※ data plane: 서비스 간의 실제 트래픽을 전달하고 처리한다.
※ runtime plane: 이 용어는 일반적으로 서비스 메시에서 사용되지 않는다.
※ 용어가 부정확하게 사용됨
D. service proxy and control plane (서비스 프록시 및 컨트롤 플레인)
※ service proxy: 각 서비스 옆에서 실제 통신을 관리하고 조정하는 작은 소프트웨어
※ control plane: 서비스 프록시들의 동작과 설정을 중앙에서 관리하고 명령을 내리는 관리 시스템
※ 서비스 메시의 가장 핵심적인 두 가지 구성 요소이며, 정확한 설명
service proxy와 control plane에 대해 더 자세히 알아보자.
※ Service Proxy란?
서비스 프록시는 마이크로서비스(혹은 Pod, 컨테이너) 앞에 위치해서, 해당 서비스로 들어오거나 나가는 트래픽을 대신 처리해주는 네트워크 컴포넌트이다.
■ 주요 역할
1. 트래픽 관리: 요청의 라우팅, 분산, 재시도, 타임아웃, 장애 전파 차단(써킷 브레이커) 등
2. 보안: mTLS(서비스 간 암호화), 인증/인가, 접근 제어
3. 관측: 트래픽 로그, 모니터링, 분산 추적(Tracing), 메트릭 수집
4. 정책 적용: Rate limiting, 필터링, 접근 정책 등
■ 동작 구조
Sidecar Proxy: 각 서비스(혹은 Pod)마다 하나씩 붙어서 서비스의 네트워크 트래픽을 모두 통제함
즉, Service Proxy는 서비스 앞에 붙어서 트래픽을 대신 받아 처리해주는 대리인이라고 보면 된다.
※ Control Plane란?
컨트롤 플레인은 네트워크 정책, 트래픽 라우팅 등 전체 서비스 메시에 대한 중앙 관리/제어 및 설정을 담당하는 컴포넌트이다.
■ 주요 역할
1. 정책 및 구성 관리: 전체 프록시(데이터 플레인)에 정책/설정 전달
2. 상태 수집: 서비스 헬스체크, 메트릭 수집 및 가시화
3. 서비스 디스커버리: 전체 네트워크의 서비스 위치 관리
4. 보안 정책 중앙 관리: 인증서 관리, mTLS 구성, 접근 정책 관리
5. 트래픽 제어: 롤아웃, 카나리 배포, 트래픽 분할 등
■ 동작 구조
중앙 집중형: 대부분의 Service Mesh 솔루션은 하나 이상의 Control Plane을 두고, 각 서비스 프록시(데이터 플레인)와 통신하며 명령을 내린다.
즉, Control Plane은 전체 서비스 네트워크를 중앙에서 제어/관리하는 두뇌 역할을 한다.
※ Service Proxy와 Contorl Plane의 관계
1. Service Proxy는 실제로 트래픽을 처리하는 Data Plane 역할을 한다.
2. Control Plane은 여러 Proxy를 중앙에서 관리/제어/설정하는 역할을 한다.
3. Control Plane이 정책을 Proxy들에게 전달하면, Proxy는 실시간으로 해당 정책을 반영해서 트래픽을 처리한다.
=====================================================
32. Which storage operator in Kubernetes can help the system to self-scale, self-heal, etc?
- A. Rook
- B. Kubernetes
- C. Helm
- D. Container Storage Interface (CSI)
[해석]
Which storage operator in Kubernetes: 쿠버네티스에서 어떤 스토리지 오퍼레이터가
can help the system: 시스템이 ~할 수 있게 도와주는가?
to self-scale, self-heal, etc: 스스로 확장하고, 스스로 복구하는 등의 기능을
"쿠버네티스에서 시스템이 스스로 확장하고, 스스로 복구하는 등의 기능을 할 수 있도록 도와주는 스토리지 오퍼레이터는 무엇인가요?"
[풀이]
※ Storage operator란?: 쿠버네티스 환경에서 스토리지 리소스를 자동으로 관리해주는 소프트웨어 컴포넌트이다. Operator 패턴을 사용해서 사용자가 원하는 스토리지 상태를 선언하면, Operator가 이를 감시하고 자동으로 생성/설정/복구/확장/삭제 등 일련의 작업을 자동화해준다.
※ 쿠버네티스는 기본 기능만으로도 스토리지 연결은 가능하지만, 스토리지 배포와 운영이 복잡하고 고가용성(HA) 및 백업/복구, 확장과 같은 고급 기능은 수동으로 처리해야한다. 이런 문제를 자동화하고 운영 부담을 줄이기 위해 Storage Operator가 등장했다.
A. Rook
※ Rook은 쿠버네티스의 대표적인 Storage operator이다. 쿠버네티스 클러스터 내부에서 스토리지를 자동으로 관리하고, 스스로 규모를 확장하거나 장애가 발생했을 때 자동 복구(self-healing)하는 기능을 제공한다.
B. Kubernetes
※ 쿠버네티스 자체는 컨테이너 오케스트레이션 도구이다. 주로 컨테이너 애플리케이션의 배포와 관리에 사용된다.
C. Helm
※ Helm은 쿠버네티스 애플리케이션을 쉽게 배포하고 관리할 수 있도록 도와주는 패키지 매니저이다.
D. Container Storage Interface (CSI)
※ CSI는 쿠버네티스와 다양한 스토리지 시스템 간의 표준화된 인터페이스(연결 방식)이다. 스토리지의 연결 및 마운트를 표준화하는 역할이며, 스토리지 자체의 관리, 확장, 복구 등을 수행하는 오퍼레이터는 아니다.