<?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>Health-Check on homelab89</title>
    <link>https://blog.homelab89.com/tags/health-check/</link>
    <description>Recent content in Health-Check on homelab89</description>
    <generator>Hugo</generator>
    <language>ko-KR</language>
    <lastBuildDate>Sun, 07 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.homelab89.com/tags/health-check/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HAProxy Walkthrough — L7 offload &#43; on-marked-down</title>
      <link>https://blog.homelab89.com/docs/istio/graceful-termination/haproxy-walkthrough/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/graceful-termination/haproxy-walkthrough/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;ABSTRACT&lt;/div&gt;
&lt;p&gt;홈랩 graceful termination 실험의 &lt;code&gt;haproxy-current.cfg&lt;/code&gt;(143줄)를 읽는다. 단, &lt;strong&gt;목적은 cfg 줄 해설이 아니라 한 문장의 멘탈모델을 세우는 것&lt;/strong&gt;: 실험의 전부는 한 backend(443→IGW)에서 벌어지는 &lt;strong&gt;&amp;ldquo;누가 먼저 끊느냐&amp;quot;의 경합&lt;/strong&gt;이다 — pod의 preStop이 Envoy listener를 먼저 drain하느냐, LB의 &lt;code&gt;on-marked-down shutdown-sessions&lt;/code&gt;가 먼저 RST를 쏘느냐. 이 경합을 가능하게 만드는 단 하나의 트릭이 &lt;strong&gt;data 포트(&lt;code&gt;30080&lt;/code&gt;)와 health 포트(&lt;code&gt;check port 30180&lt;/code&gt;)의 분리&lt;/strong&gt;다. 결론 셋: ① HAProxy cfg는 current/improved가 동일하고 개선 변수는 IGW manifest의 preStop 스크립트에 격리돼 있다, ② &lt;code&gt;retries 3&lt;/code&gt;은 &lt;code&gt;option redispatch&lt;/code&gt;가 있어야 5xx를 흡수해 감추고, 없으면 오히려 5xx로 드러내므로 어느 쪽이든 &lt;code&gt;5xx + connection_err&lt;/code&gt;로 측정해야 한다, ③ 나머지 네 포트(80/6443/8443/9000)는 이 실험과 무관한 배경 소품이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>W1. Big Picture — 트래픽 경로 &#43; 6 events &#43; 4 시나리오</title>
      <link>https://blog.homelab89.com/docs/istio/graceful-termination/w1-big-picture/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/graceful-termination/w1-big-picture/</guid>
      <description>&lt;div class=&#34;callout abstract&#34;&gt;
&lt;div class=&#34;ct&#34;&gt;ABSTRACT&lt;/div&gt;
&lt;p&gt;graceful-termination 학습 시리즈(W1~W6)의 첫 hub 노트. &lt;strong&gt;무중단 Pod 종료&lt;/strong&gt;를 한 문장으로 환원한다: 우리는 LB를 직접 제어할 수 없고 오직 &lt;strong&gt;health 신호(200/503) 하나&lt;/strong&gt;만 LB에 줄 수 있으므로, &amp;ldquo;끊김 없는 종료&amp;quot;는 &lt;strong&gt;6개 timestamp를 옳은 순서로 정렬해 LB가 backend를 &lt;em&gt;늦게&lt;/em&gt; 빼게 만드는 타이밍 문제&lt;/strong&gt;다. 이 문서는 그 무대(트래픽 5-hop 경로), 그 변수(종료 시 6개 시점), 그 측정(4 시나리오)을 세운다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>W2. Backend &#43; hc &#43; drain.sh — Go 코드 메커니즘</title>
      <link>https://blog.homelab89.com/docs/istio/graceful-termination/w2-hc-fsm/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.homelab89.com/docs/istio/graceful-termination/w2-hc-fsm/</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;strong&gt;머릿속에 담을 한 장&lt;/strong&gt;: health endpoint의 응답 코드는 LB의 backend pool membership을 제어하는 &lt;em&gt;원격 스위치&lt;/em&gt;다. hc 사이드카는 &lt;strong&gt;5-state FSM&lt;/strong&gt;(OPEN/DRAINING/CLOSING/CLOSED/FAULT)으로 이 스위치를 쥐고, drain.sh는 &amp;ldquo;active=0 확인 전까지 &lt;code&gt;/health_check.html&lt;/code&gt; 200 유지&amp;quot;로 스위치를 끄는 &lt;em&gt;시점&lt;/em&gt;을 모든 요청 완료 이후로 밀어내 HAProxy가 in-flight 연결을 끊지 않게 한다. 본 문서는 이 동작을 &lt;strong&gt;멘탈 모델/왜&lt;/strong&gt; 층에서 다루며, 라인별 정본 추적은 &lt;a href=&#34;../../docs/istio/graceful-termination/apps-walkthrough/&#34;&gt;코드 워크스루(apps-walkthrough)&lt;/a&gt;에 위임한다.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
