<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Egress on homelab89</title>
    <link>https://blog.homelab89.com/docs/istio/egress/</link>
    <description>Recent content in Egress on homelab89</description>
    <generator>Hugo</generator>
    <language>ko-KR</language>
    <lastBuildDate>Fri, 03 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.homelab89.com/docs/istio/egress/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>DestinationRule 만들기 — 기초부터 심화까지</title>
      <link>https://blog.homelab89.com/docs/istio/egress/destinationrule-fundamentals/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/egress/destinationrule-fundamentals/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;ABSTRACT&lt;/div&gt;
&lt;p&gt;DR은 &amp;ldquo;어디로 보낼지&amp;rdquo;(VS의 일)가 아니라 **&amp;ldquo;도착이 결정된 목적지와 어떻게 통신할지&amp;rdquo;**를 정하는
리소스다. host 문자열이 서비스 레지스트리와 매칭되어 Envoy cluster에 컴파일되는 전 과정,
trafficPolicy 필드가 cluster의 어느 칸으로 흩어지는지, 레벨 3층(top/subset/port)의 병합
규칙(&amp;ldquo;통째 교체&amp;rdquo;), 같은 host 다중 DR의 조용한 병합, 그리고 만들었으면 반드시 도는 검증 3단계까지.
모든 예시는 홈랩 실측(2026-07-03, mesh-test namespace)이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>tcpKeepalive 필드 노트 — time / interval / probes는 각각 무엇을 제어하는가</title>
      <link>https://blog.homelab89.com/docs/istio/egress/tcp-keepalive-fields/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/egress/tcp-keepalive-fields/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;ABSTRACT&lt;/div&gt;
&lt;p&gt;DR &lt;code&gt;connectionPool.tcp.tcpKeepalive&lt;/code&gt;의 세 필드는 Envoy가 만든 개념이 아니라 &lt;strong&gt;리눅스 커널의
TCP keepalive 소켓 옵션 3개에 1:1 매핑&lt;/strong&gt;된다. Envoy는 upstream 소켓에 옵션을 설정만 하고,
probe를 보내는 주체는 커널이다. 이 한 설정이 &lt;strong&gt;서로 다른 두 역할&lt;/strong&gt;(중간장비 세션 유지 / 죽은 상대 감지)을
겸한다는 것, 그리고 각 역할을 결정하는 필드가 다르다는 것이 이 노트의 본체다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Egress 4-CRD 직관 — &#34;한 번의 curl = 두 hop&#34;, 4개를 어떤 순서로 어떻게 채우나</title>
      <link>https://blog.homelab89.com/docs/istio/egress/crd-mental-model/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/egress/crd-mental-model/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;ABSTRACT&lt;/div&gt;
&lt;p&gt;egress gateway 설정이 &amp;ldquo;Gateway·VirtualService·ServiceEntry·DestinationRule을 왜 4개나, 어느 필드를 어디에&amp;quot;로
막히는 이유는 &lt;strong&gt;멘탈모델 없이 필드부터 보기 때문&lt;/strong&gt;이다. 이 문서는 거꾸로 간다 — 먼저 &amp;ldquo;한 번의 외부 호출이
두 hop으로 쪼개지고, 4개 CRD는 각자 다른 hop의 다른 질문에 답하는 부품&amp;quot;이라는 그림을 세운 뒤, &lt;strong&gt;실제로
두 패턴(passthrough / outer-mTLS)을 어떤 순서로 어떻게 만들었는지&lt;/strong&gt;를 그때의 YAML과 함께 따라간다.
결론: 4개는 따로 노는 게 아니라 &lt;strong&gt;두 hop을 굴리기 위한 질문 4개&lt;/strong&gt;이고, 패턴 전환은 &amp;ldquo;3개 델타&amp;quot;일 뿐이다.
필드 단위 레퍼런스(=사전)는 &lt;a href=&#34;../../../public/istio-egress/ref__src-egress-gateway.html&#34;&gt;Egress Gateway 정본&lt;/a&gt;·&lt;a href=&#34;../../../public/istio-egress/id__src-https-over-mtls.html&#34;&gt;HTTPS over mTLS 해부&lt;/a&gt;, 검증 랩은 &lt;a href=&#34;../../../public/istio-egress/cfg__guide-dual-gateway.html&#34;&gt;이중 gateway 가이드&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Egress TCP 문제별 처방전 — 어떤 문제에, 어떤 설정을, 어디에, 어떻게</title>
      <link>https://blog.homelab89.com/docs/istio/egress/tcp-tuning/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/egress/tcp-tuning/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;ABSTRACT&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;../../../public/istio-egress/ref__src-tcp-bottlenecks.html&#34;&gt;TCP 병목 정본&lt;/a&gt;이 &amp;ldquo;왜 병목이 생기는가&amp;quot;의 정본이라면, 이 문서는
&lt;strong&gt;egressgateway에서 실제로 발생하는 TCP 문제 5가지를 하나씩 놓고 — 증상 → 어떤 설정을 → 어디에(리소스) →
어떻게(YAML) → 검증 — 순서로 처방하는 실행 문서&lt;/strong&gt;다. 예시 채널 하나
(peak 동시 연결 1,500 / 신규 250 conn/s / FW idle timeout 30분 / Calico natOutgoing on)의 실측값으로
모든 숫자를 도출하고, 마지막에 4개 레이어 &lt;strong&gt;전체 YAML 종합본&lt;/strong&gt;을 둔다.
값을 복사하지 말고 도출식을 복사할 것.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Istio 회로 차단은 connection pool 한도로 부하를 빠르게 잘라내고 outlier detection으로 unhealthy 인스턴스를 격리해 연쇄 장애를 끊는다</title>
      <link>https://blog.homelab89.com/docs/istio/egress/circuit-breaking-mechanisms/</link>
      <pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/egress/circuit-breaking-mechanisms/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;이 문서가 다루는 것&lt;/div&gt;
&lt;p&gt;Istio의 &amp;ldquo;circuit breaking&amp;quot;은 단일 기능이 아니라 &lt;strong&gt;두 개의 독립된 방어선&lt;/strong&gt;이다 — ① &lt;code&gt;connectionPool&lt;/code&gt; 한도(동시성·pending·retry 상한 = Envoy &lt;code&gt;circuit_breakers&lt;/code&gt;)로 &lt;strong&gt;클라이언트가 upstream을 과부하시키지 못하게 빠르게 실패&lt;/strong&gt;시키고, ② &lt;code&gt;outlierDetection&lt;/code&gt;으로 &lt;strong&gt;에러를 뱉는 endpoint를 LB pool에서 일시 격리&lt;/strong&gt;한다. 둘 다 &lt;code&gt;CircuitBreaker&lt;/code&gt; CRD가 아니라 &lt;strong&gt;DestinationRule &lt;code&gt;trafficPolicy&lt;/code&gt;&lt;/strong&gt; 에 정의되고 istiod가 Envoy cluster로 컴파일한다. 이 note는 &lt;em&gt;왜 이 메커니즘이 존재하고 어떻게 동작하는가&lt;/em&gt;에 집중하고, 필드별 컴파일 매핑·전체 YAML 레퍼런스는 &lt;a href=&#34;../../../public/istio/xds__src-cluster-anatomy.html&#34;&gt;Envoy Cluster 해부&lt;/a&gt;로 위임한다.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
