<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Istio - 태그 - lee's blog</title><link>https://ken-0913.github.io/myblog/tags/istio/</link><description>Istio - 태그 - lee's blog</description><generator>Hugo -- gohugo.io</generator><language>ko-kr</language><managingEditor>hyeonjae0913@gmail.com (ken-0913)</managingEditor><webMaster>hyeonjae0913@gmail.com (ken-0913)</webMaster><lastBuildDate>Thu, 16 Jul 2026 08:40:00 +0900</lastBuildDate><atom:link href="https://ken-0913.github.io/myblog/tags/istio/" rel="self" type="application/rss+xml"/><item><title>ICA 시험 정리 (5) Observability: Prometheus, Grafana, Jaeger, Kiali</title><link>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-05-observability/</link><pubDate>Thu, 16 Jul 2026 08:40:00 +0900</pubDate><author><name>ken-0913</name></author><guid>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-05-observability/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/istio-ica-05-observability-7cbed6a5.png" referrerpolicy="no-referrer">
            </div><p>ICA 시험 정리 시리즈 마지막 편이다.
Istio는 Data Plane의 Envoy proxy가 모든 트래픽을 관리하면서 서비스 간 통신마다 상세한 telemetry를 생성한다.
덕분에 observability 솔루션을 처음부터 구축하지 않고도 <strong>metrics</strong>, <strong>distributed tracing</strong>, <strong>시각화</strong>를 얻는다.</p>
<h2 id="observability-3요소" class="headerLink">
    <a href="#observability-3%ec%9a%94%ec%86%8c" class="header-mark"></a>Observability 3요소</h2><p>Istio observability는 세 가지 도구로 구성된다.
각 도구의 역할 구분이 시험 포인트다.</p>
<table>
	<thead>
			<tr>
					<th>도구</th>
					<th>역할</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Prometheus / Grafana</strong></td>
					<td>metrics 수집 및 시각화</td>
			</tr>
			<tr>
					<td><strong>Jaeger</strong></td>
					<td>distributed tracing</td>
			</tr>
			<tr>
					<td><strong>Kiali</strong></td>
					<td>Mesh 토폴로지 및 동작 분석</td>
			</tr>
	</tbody>
</table>
<p>이 도구들은 <code>kubectl apply -f samples/addons</code>로 함께 설치되며, 데모 용도이므로 프로덕션 성능·보안에는 튜닝되어 있지 않다.</p>]]></description></item><item><title>ICA 시험 정리 (4) Security: mTLS, 인증, 인가, 인증서 관리</title><link>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-04-security/</link><pubDate>Thu, 16 Jul 2026 08:30:00 +0900</pubDate><author><name>ken-0913</name></author><guid>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-04-security/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/istio-ica-04-security-49d67983.png" referrerpolicy="no-referrer">
            </div><p>ICA 시험 정리 시리즈 네 번째 편이다.
Istio Security는 <strong>Authentication(인증)</strong>, <strong>Authorization(인가)</strong>, <strong>mTLS</strong>, <strong>Certificate Management</strong>로 구성된다.
시험에서 리소스 종류와 정책 적용 범위, mTLS 모드가 특히 자주 출제된다.</p>
<h2 id="보안-아키텍처" class="headerLink">
    <a href="#%eb%b3%b4%ec%95%88-%ec%95%84%ed%82%a4%ed%85%8d%ec%b2%98" class="header-mark"></a>보안 아키텍처</h2><p>핵심 컴포넌트는 <strong>Istiod</strong> 내부의 CA(Certification Authority)다.
CA는 인증서 유효성을 검증하고 CSR(Certificate Signing Request)을 승인·서명한다.
워크로드가 시작되면 Envoy proxy가 Istio agent에게 인증서와 키를 요청하여 통신이 처음부터 암호화·인증된다.</p>
<p><strong>Configuration API Server</strong>는 인증·인가·보안 명명 정책을 Mesh 전체에 배포한다.
정책은 Sidecar, Ingress, Egress proxy 모두에 적용된다.
모든 proxy에 계층적으로 정책을 적용하는 이 방식이 <strong>Defense-in-Depth(심층 방어)</strong> 전략이다.</p>]]></description></item><item><title>ICA 시험 정리 (3) Traffic Management</title><link>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-03-traffic-management/</link><pubDate>Thu, 16 Jul 2026 08:20:00 +0900</pubDate><author><name>ken-0913</name></author><guid>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-03-traffic-management/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/istio-ica-03-traffic-management-38bae821.png" referrerpolicy="no-referrer">
            </div><p>ICA 시험 정리 시리즈 세 번째 편이다.
Istio는 애플리케이션 코드를 수정하지 않고 트래픽을 제어한다.
이번 편은 핵심 컴포넌트인 <strong>Gateway</strong>, <strong>Virtual Service</strong>, <strong>Destination Rule</strong>과 고급 기법인 Timeout, Retry, Fault Injection, Circuit Breaking, A/B Testing을 정리한다.</p>
<h2 id="핵심-컴포넌트-3종" class="headerLink">
    <a href="#%ed%95%b5%ec%8b%ac-%ec%bb%b4%ed%8f%ac%eb%84%8c%ed%8a%b8-3%ec%a2%85" class="header-mark"></a>핵심 컴포넌트 3종</h2><p>세 리소스의 역할 구분이 시험의 핵심이다.
<strong>Gateway</strong>는 트래픽을 받기만 하고, 실제 라우팅은 <strong>Virtual Service</strong>가 정의하며, 라우팅 이후 정책은 <strong>Destination Rule</strong>이 담당한다.</p>
<table>
	<thead>
			<tr>
					<th>컴포넌트</th>
					<th>역할</th>
					<th>주요 필드</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Gateway</strong></td>
					<td>Mesh 가장자리에서 inbound/outbound 트래픽 수용</td>
					<td><code>selector</code>, <code>servers.hosts</code>, <code>servers.port</code></td>
			</tr>
			<tr>
					<td><strong>Virtual Service</strong></td>
					<td>라우팅 규칙, 가중치, 헤더 매칭, Timeout, Retry, Fault</td>
					<td><code>hosts</code>, <code>gateways</code>, <code>http.match</code>, <code>http.route</code></td>
			</tr>
			<tr>
					<td><strong>Destination Rule</strong></td>
					<td>라우팅 이후 정책: Subset, LB, TLS, Circuit Breaking</td>
					<td><code>host</code>, <code>subsets</code>, <code>trafficPolicy</code></td>
			</tr>
	</tbody>
</table>
<h2 id="gateway" class="headerLink">
    <a href="#gateway" class="header-mark"></a>Gateway</h2><p>Istio Gateway는 Mesh 가장자리에서 동작하는 로드밸런서다.
전통적인 Kubernetes Ingress가 NGINX 같은 컨트롤러를 쓰는 것과 달리, Istio Ingress Gateway는 <strong>Envoy proxy</strong>로 inbound 트래픽을 가로챈다.</p>]]></description></item><item><title>ICA 시험 정리 (2) Istio 입문: 아키텍처와 설치</title><link>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-02-introduction/</link><pubDate>Thu, 16 Jul 2026 08:10:00 +0900</pubDate><author><name>ken-0913</name></author><guid>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-02-introduction/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/istio-ica-02-introduction-27a830a0.png" referrerpolicy="no-referrer">
            </div><p>ICA 시험 정리 시리즈 두 번째 편이다.
이번 편은 <strong>Monolith에서 Microservice로의 전환</strong>, <strong>Service Mesh</strong>, <strong>Istio 아키텍처</strong>, <strong>설치 흐름</strong>, <strong>Kiali</strong>를 다룬다.
시험에서는 Control Plane 구성 요소와 Sidecar 주입 과정이 자주 등장한다.</p>
<h2 id="monolith에서-microservice로" class="headerLink">
    <a href="#monolith%ec%97%90%ec%84%9c-microservice%eb%a1%9c" class="header-mark"></a>Monolith에서 Microservice로</h2><p>Monolith는 모든 기능을 하나의 코드베이스에 통합하므로, 작은 변경에도 전체 재배포가 필요하다.
Microservice로 전환하면 각 모듈을 독립적인 언어로 구현하고 독립적으로 배포·확장할 수 있다.
시험 예제로 자주 쓰이는 <strong>Bookinfo</strong> 애플리케이션은 Details, Reviews, Ratings, Product Page 4개 모듈로 구성된다.</p>
<p>전환에는 대가가 따른다.
인증, 인가, 로깅, 모니터링, 트래픽 관리 같은 **횡단 관심사(cross-cutting concerns)**가 각 서비스마다 중복 구현된다.
이 문제를 해결하는 전용 인프라 계층이 <strong>Service Mesh</strong>다.</p>]]></description></item><item><title>ICA 시험 정리 (1) 서비스 메시 기초: Kubernetes Service, Sidecar, Envoy</title><link>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-01-prerequisites/</link><pubDate>Thu, 16 Jul 2026 08:00:00 +0900</pubDate><author><name>ken-0913</name></author><guid>https://ken-0913.github.io/myblog/posts/istio-ica/istio-ica-01-prerequisites/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/banners/istio-ica-01-prerequisites-76560b35.png" referrerpolicy="no-referrer">
            </div><p>ICA(Istio Certified Associate) 시험을 준비하기 위한 정리 시리즈의 첫 편이다.
이번 편은 Service Mesh를 이해하기 위한 전제 개념인 <strong>Kubernetes Service</strong>, <strong>Sidecar</strong>, <strong>Envoy</strong>를 다룬다.
세 개념은 결국 Istio 아키텍처로 이어지는 밑바탕이 된다.</p>
<h2 id="kubernetes-service" class="headerLink">
    <a href="#kubernetes-service" class="header-mark"></a>Kubernetes Service</h2><p><strong>Pod</strong>는 Kubernetes의 가장 작은 배포 단위이지만 **일시적(ephemeral)**이다.
Deployment의 의도 상태를 유지하는 과정에서 Pod가 동적으로 생성·종료되며, 이때 Pod의 IP가 계속 변경된다.
그래서 프론트엔드가 개별 Pod IP를 직접 추적하는 방식은 현실적이지 않다.</p>
<p>Service는 **안정적인 IP(stable IP)**를 가지고 Pod 집합으로 트래픽을 라우팅하는 추상화 계층이다.
대상 Pod는 보통 <strong>label</strong>로 선택되므로, Pod에 올바른 label이 지정되어 있어야 Service가 정상 동작한다.</p>]]></description></item></channel></rss>