kalee's 공부방
Go는 AI 인프라의 언어인가: 공식 서사와 개발자 설문의 엇갈림
Go 팀은 LLM 앱이 결국 클라우드 서비스라서 Go가 맞는다고 말하지만, 2025 Go 개발자 설문에서는 AI 기능을 만드는 응답자가 오히려 줄었습니다. RAG 데모, Ollama·Weaviate·Milvus 같은 Go 기반 인프라, MCP Go SDK와 Genkit Go의 1.0 호환성 약속, ByteDance Eino, 설문의 한계와 '14포인트' 수치를 살펴보고 Go가 AI 스택의 어느 층에 서야 하는지 따져 봅니다. 근거 상당수가 Google 계열 자료와 ByteDance 자기 보고라 독립 증거가 아니라는 점도 밝혀 둡니다.
전체 대본 보기
참고 자료
Go Blog (Eli Bendersky): Building LLM-powered applications in Go (2024-09-12)Go Blog (Todd Kulesza): Results from the 2025 Go Developer Survey (2026-01-21)modelcontextprotocol/go-sdk README (official MCP Go SDK)modelcontextprotocol/go-sdk release v1.0.0 (2025-09-30)CloudWeGo: Eino in Practice (ByteDance LLM Application Go Framework)CloudWeGo: Eino open source announcementDEV Community (Valerii Vainkop): Go for AI Agents: Why the Language Choice Matters at Production Scale (2026-03-05)ollama/ollama GitHub repositoryweaviate/weaviate GitHub repositorymilvus-io/milvus GitHub repositorymudler/LocalAI GitHub repositorytmc/langchaingo GitHub repository (LangChain for Go)Genkit docs: Get started with Genkit for GoGoogle Developers Blog: Announcing Genkit Go 1.0 and Enhanced AI-Assisted Development (2025-09-10)cOpenBao seal/unseal 실전: 잠긴 금고를 여는 법부터 네임스페이스 seal까지
OpenBao 서버가 왜 잠긴 채로 시작하는지 짚고, init, unseal, 자동 unseal seal 스탠자, recovery key, rotate-keys와 rotate, generate-root, seal migration, 2.6의 네임스페이스 seal까지 운영자가 실제로 하는 일을 순서대로 다룹니다. 2026년 11월 기준 OpenBao 2.7 공식 문서를 바탕으로 했고, Vault와의 관계는 짧게만 언급합니다.
전체 대본 보기
참고 자료
OpenBao docs: Seal/Unseal (concepts, 2.7.x)OpenBao docs: Architecture (internals)OpenBao docs: operator init commandOpenBao docs: operator unseal commandOpenBao docs: status commandOpenBao docs: operator seal commandOpenBao docs: operator rotate-keys commandOpenBao docs: operator rekey command (deprecated)OpenBao docs: operator rotate commandOpenBao docs: operator generate-root commandOpenBao docs: seal stanza configurationOpenBao docs: Static Key sealOpenBao docs: Sealable namespaces (concepts)OpenBao docs: Sealable namespaces guideOpenBao 2.6.x release notesOpenSSF blog: Announcing OpenBao v2.6! (Alex Scheel, 2026-08-06)OpenBao docs: Dev server modeOpenBao docs: Operator quick startOpenBao docs: Tokens (concepts)InfoQ: OpenBao 2.7 (Matt Saunders, 2026-11-06)OpenBao docs: Migration guide from Vault이 에피소드의 음성은 TTS로 합성되었습니다.
오케스트레이터-워커 2편: 멀티에이전트는 왜 실패하나
오케스트레이터-워커 2부작 2편. MAST 실패 분류의 3범주와 주요 실패 유형, 같은 모델로 설계만 바꾼 개입 실험을 살펴보고, Cognition의 "나누지 마라" 반론과 Anthropic 멀티에이전트 리서치 결과를 읽기 중심과 쓰기 중심 작업으로 정리합니다. 단일 에이전트와 멀티에이전트를 고르는 판단 기준으로 마무리합니다.
전체 대본 보기
참고 자료
Cemri et al., Why Do Multi-Agent LLM Systems Fail? (arXiv 2503.13657v3, NeurIPS 2025 Datasets and Benchmarks)Walden Yan (Cognition), Don't Build Multi-Agents (2025-06-12)Anthropic, How we built our multi-agent research system (2025-06-13)Kim et al., Towards a Science of Scaling Agent Systems (arXiv 2512.08296v3)shalomeir, 멀티 에이전트 오케스트레이션은 왜 잘 안 되는가? (2026-04-07)이 에피소드의 음성은 TTS로 합성되었습니다.
오케스트레이터-워커 1편: 매일 도는 루프의 다섯 가지 규칙
오케스트레이터-워커 구조를 데모가 아니라 매일 도는 루프로 굴리기 위한 다섯 가지 규칙을 다룹니다. 비싼 모델을 어디에 둘지(트리형과 조언자형), 노력 예산과 종료 조건, 생성자와 분리된 평가자와 동적 재계획, 파일과 git에 두는 상태, 거부 횟수 기반 사람 호출을 앤트로픽 엔지니어링 글과 논문, Cognition의 반론으로 살펴봅니다. 수치 상당수는 앤트로픽 자사 평가임을 밝혀 둡니다.
전체 대본 보기
참고 자료
Anthropic, How we built our multi-agent research system (2025-06-13)Cemri et al., Why Do Multi-Agent LLM Systems Fail? (arXiv 2503.13657v3, 2025-10-26)Erdogan et al., Plan-and-Act: Improving Planning of Agents for Long-Horizon Tasks (arXiv 2503.09572v3)Anthropic, The advisor strategy (2026-04-09)Cognition (Walden Yan), Don't Build Multi-Agents (2025-06-12)Anthropic, How we built Claude Code auto mode (2026-03-25)Anthropic, Measuring AI agent autonomy in practice (2026-02-18)Anthropic, Effective harnesses for long-running agents (2025-11-26)Anthropic (Prithvi Rajasekaran), Harness design for long-running application development (2026-03-24)이 에피소드의 음성은 TTS로 합성되었습니다.
벤치마크의 유통기한 — 포화와 '더 큰 시험지' 경쟁 (LLM 벤치마크 해석 3편)
60개 LLM 벤치마크 중 29개가 상위 모델을 가려내지 못하는 포화 상태였다는 연구로 포화의 정의와 원인을 짚습니다. Humanity's Last Exam 같은 새 시험지가 이를 어떻게 피하려 하는지, METR Time Horizon 1.1에서 과제 구성과 측정 환경이 추세 숫자를 어떻게 바꿨는지 살펴봅니다. 3부작의 마지막 회차입니다.
전체 대본 보기
참고 자료
METR, Time Horizon 1.1 (blog, 2026-01-29)Akhtar, Reuel et al., When AI Benchmarks Plateau: A Systematic Study of Benchmark Saturation (arXiv:2602.16763v4, ICML 2026)Kwa et al. (METR), Measuring AI Ability to Complete Long Software Tasks (arXiv:2503.14499)Stanford HAI, The 2025 AI Index Report, Chapter 2: Technical PerformancePhan et al. (CAIS, Scale AI), Humanity's Last Exam (arXiv:2501.14249v12)이 에피소드의 음성은 TTS로 합성되었습니다.
[LLM 벤치마크 2편] 시험지를 미리 본 모델: 데이터 오염과 과적합
공개된 벤치마크 문제가 학습 데이터에 섞이면 점수는 무엇을 재게 될까요? GSM8k와 새로 만든 GSM1k를 비교해 과적합을 잰 연구, SWE-bench Verified의 오래된 공개 이슈, 마감일 이후 문제와 주기적 교체·비공개 셋 같은 대응책을 원 논문으로 살펴봅니다. 비공개만으로는 포화를 막지 못한다는 반대 증거도 함께 짚습니다.
전체 대본 보기
참고 자료
Zhang et al. (Scale AI), A Careful Examination of Large Language Model Performance on Grade School Arithmetic (GSM1k), arXiv:2405.00332v4, NeurIPS 2024 D&BBrand & Denain (Epoch AI), What skills does SWE-bench Verified evaluate?, 2025-06-13Akhtar, Reuel et al., When AI Benchmarks Plateau: A Systematic Study of Benchmark Saturation, arXiv:2602.16763v4, ICML 2026SWE-bench team, SWE-bench Verified overview pageJimenez et al., SWE-bench: Can Language Models Resolve Real-world GitHub Issues?, arXiv:2310.06770, ICLR 2024White et al., LiveBench: A Challenging, Contamination-Limited LLM Benchmark, arXiv:2406.19314v2, ICLR 2025이 에피소드의 음성은 TTS로 합성되었습니다.
LLM 벤치마크 지도: 이 점수는 무엇을 쟀나? (벤치마크 3부작 1편)
객관식 정답률, 코드 테스트 통과율 pass@k, 사람·LLM 선호 투표, 에이전트 time horizon까지 LLM 벤치마크 유형별로 무엇을 재고 무엇을 못 재는지 정리합니다. HELM의 7개 지표와 '표준화 전 평가 범위 17.9%', 번역 벤치마크와 한국어 원문 시험 KMMLU의 차이도 함께 다룹니다. 개별 모델 순위 대신 점수 옆에 붙은 조건을 읽는 법에 집중합니다.
전체 대본 보기
참고 자료
Liang et al., Holistic Evaluation of Language Models (HELM), TMLR 2023 (arXiv 2211.09110v2)Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena, NeurIPS 2023 D&B (arXiv 2306.05685v4)Son et al., KMMLU: Measuring Massive Multitask Language Understanding in Korean (arXiv 2402.11548v2)KMMLU, NAACL 2025 (Volume 1: Long Papers), ACL Anthology 2025.naacl-long.206Brand & Denain (Epoch AI), What skills does SWE-bench Verified evaluate? (2025-06-13)METR, Time Horizon 1.1 (2026-01-29)Chen et al., Evaluating Large Language Models Trained on Code (Codex, HumanEval, pass@k) (arXiv 2107.03374)Chiang et al., Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference (arXiv 2403.04132)Kwa et al. (METR), Measuring AI Ability to Complete Long Software Tasks (arXiv 2503.14499v4)Hendrycks et al., Measuring Massive Multitask Language Understanding (MMLU)느려졌는데 빨라졌다고 느꼈다: 재미로 보는 AI 코딩 생산성 숫자 읽는 법 (METR 실험 두 번의 반전)
AI를 쓰면 개발이 빨라질까? METR의 2025년 무작위 대조 실험에서는 개발자들이 20% 빨라졌다고 느꼈지만 실제 완료 시간은 19% 늘었고, 2026년 후속 실험은 참가 거절과 과제 숨기기 때문에 측정 자체가 흔들렸습니다. 세 기업 Copilot 현장 실험까지 함께 놓고, 생산성 숫자가 무엇을 쟀는지와 저자들의 경고문을 같이 읽는 법을 재미로 정리합니다.
참고 자료
METR, Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity (blog, 2025-07-10)Becker, Rush, Barnes, Rein, Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity (arXiv:2507.09089v2, paper)METR, We are Changing our Developer Productivity Experiment Design (blog, 2026-02-24)METR, Measuring the Self-Reported Impact of Early-2026 AI on Technical Worker Productivity (blog, 2026-05-11)Cui, Demirer, Jaffe, Musolff, Peng, Salz, The Effects of Generative AI on High-Skilled Work: Evidence from Three Field Experiments with Software Developers (draft, Feb 2025)METR blog index (checked 2026-11-11 for later posts)이 에피소드의 음성은 TTS로 합성되었습니다.
AI 시대 생존 도구, git 기초: 아예 처음인 사람을 위한 버전 관리 입문
git을 한 번도 써 본 적 없는 사람을 위해 버전 관리가 무엇인지부터 커밋, 스테이징, 브랜치, 병합과 충돌, 원격 저장소와 GitHub, 풀 리퀘스트, 되돌리기까지 비유와 함께 차근차근 풉니다. AI 코딩 도구가 파일을 직접 고치는 지금, git이 왜 확인·격리·되돌리기의 안전벨트가 되는지 공식 문서를 바탕으로 정리합니다.
참고 자료
Pro Git 2nd ed. §1.1 About Version Control (git-scm.com)Pro Git 2nd ed. §1.2 A Short History of GitPro Git 2nd ed. §1.3 What is Git?Pro Git 2nd ed. §2.1 Getting a Git RepositoryPro Git 2nd ed. §2.2 Recording Changes to the RepositoryPro Git 2nd ed. §2.4 Undoing ThingsPro Git 2nd ed. §2.5 Working with RemotesPro Git 2nd ed. §3.1 Branches in a NutshellPro Git 2nd ed. §3.2 Basic Branching and Merginggit-init reference manual (git-scm.com)git-revert reference manual (git-scm.com)GitHub Docs — About GitHub and GitGitHub Docs — About pull requestsGitHub Changelog — The default branch for newly-created repositories is now main (2020-10-01)Claude Code Docs — CheckpointingClaude Code Docs — Common workflows (worktrees, PRs)GitHub Docs — About GitHub Copilot coding agent이 에피소드의 음성은 TTS로 합성되었습니다.
"코드는 잊어버려" — 장난 글이 올해의 단어가 되기까지, 바이브 코딩이라는 말의 일생
2025년 2월 Andrej Karpathy가 가볍게 올린 글에서 시작된 '바이브 코딩'이 Simon Willison의 정의를 거쳐 Collins 올해의 단어가 되고, 1년 뒤 agentic engineering과 경계가 흐려지기까지를 재미로 따라갑니다. 코드를 검토하지 않는 개발은 어디까지 괜찮은지, 원문을 바탕으로 이야기합니다.
참고 자료
Andrej Karpathy, X post coining "vibe coding" (2025-02-02 UTC; text verified via X syndication/fxtwitter mirror of status 1886192184808149383)Simon Willison, Not all AI-assisted programming is vibe coding (but vibe coding rocks), 2025-03-19Collins Dictionary blog, Collins Word of the Year 2025: AI meets authenticity as society shifts, 2025-11-06Andrej Karpathy, X post one-year retrospective proposing "agentic engineering" (2026-02-04 UTC; text verified via fxtwitter mirror of status 2019137879310836075)Simon Willison, Vibe coding and agentic engineering are getting closer than I'd like, 2026-05-06Wikipedia, Normalization of deviance (Diane Vaughan concept background)이 에피소드의 음성은 TTS로 합성되었습니다.
Pod를 지울 때 왜 502가 나는가: 종료 신호와 엔드포인트 제거의 경주 (Kubernetes 내부 경로 7부)
Pod를 지우면 kubelet의 종료 절차와 EndpointSlice 갱신이 동시에 시작되고, kube-proxy와 Ingress 컨트롤러 같은 소비자들이 언제 따라잡을지는 보장되지 않는다. 종료 순서, EndpointSlice의 ready·serving·terminating 조건, v1.34에서 GA가 된 preStop sleep 액션과 grace period 설계, 장시간 연결 처리 선택지를 공식 문서와 KEP 기준으로 짚는다. 연재 "워크로드 하나가 밖으로 나가기까지"의 마지막 회차다.
참고 자료
Kubernetes docs: Pod Lifecycle (Termination of Pods, Pod Termination Flow)Kubernetes docs: EndpointSlices (Conditions: serving, terminating, ready)LearnKube (Daniele Polencic): Graceful shutdown in Kubernetes (April 2024)Kubernetes docs: Container Lifecycle Hooks (PreStop, Sleep handler)KEP-3960: Pod lifecycle sleep action (kubernetes/enhancements)Kubernetes website source: feature gate PodLifecycleSleepAction (stages)Kubernetes docs: Virtual IPs and Service Proxies (minSyncPeriod, traffic to terminating endpoints)Kubernetes tutorial: Explore Termination Behavior for Pods And Their EndpointsKubernetes docs: Deployments (rolling update maxUnavailable, maxSurge)AWS Load Balancer Controller docs: Pod readiness gateKubernetes website source: feature gate PodLifecycleSleepActionAllowZero (stages)이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes 내부 경로 EP6] Ingress NGINX 은퇴 이후, 클러스터 입구는 왜 Gateway API로 다시 설계됐나
2026년 3월 마지막 릴리스를 끝으로 archive된 Ingress NGINX가 왜 은퇴했는지, 한두 명의 업무 외 유지보수와 snippets 어노테이션이 보안 부채가 된 과정을 공식 공지와 저장소 상태로 짚어 봅니다. 이어서 Gateway API가 GatewayClass, Gateway, Route로 역할을 나누고 양방향 신뢰로 입구를 통제하는 방식, 그리고 마이그레이션을 판단하는 기준을 다룹니다.
참고 자료
Kubernetes Blog: Ingress NGINX Retirement: What You Need to Know (Tabitha Sable, Kubernetes SRC, 2025-11-11)Kubernetes Blog: Ingress NGINX: Statement from the Kubernetes Steering and Security Response Committees (Kat Cosgrove, 2026-01-29)Kubernetes Documentation: Gateway APIGitHub: kubernetes/ingress-nginx repository (archived, README retirement notice)GitHub: kubernetes/ingress-nginx release controller-v1.15.1 (2026-03-19)GitHub: kubernetes-sigs/gateway-api release v1.7.0 (2026-10-29)Gateway API docs: Roles and PersonasGateway API docs: Security (RBAC, cross-namespace handshake)Gateway API guide: Migrating from IngressKubernetes Documentation: Ingress (frozen API note)Kubernetes Blog: Ingress-nginx CVE-2025-1974: What You Need to Know (2025-03-24)Kubernetes Blog: Before You Migrate: Five Surprising Ingress-NGINX Behaviors You Need to Know (Steven Jin, 2026-02-27)Kubernetes Blog: Announcing Ingress2Gateway 1.0: Your Path to Gateway API (2026-0...[Kubernetes 내부 경로 EP5] 클러스터 밖에서 들어오는 길: NodePort, LoadBalancer, 그리고 사라지는 클라이언트 IP
서비스를 밖으로 열었더니 로그의 클라이언트 IP가 모두 노드 IP로 찍히는 이유를 따라갑니다. NodePort의 SNAT, externalTrafficPolicy Cluster와 Local의 트레이드오프와 헬스 체크, type LoadBalancer 뒤에서 일하는 cloud-controller-manager를 공식 문서로 짚고, 온프레미스에서 MetalLB layer 2·BGP 모드와 OpenStack Octavia 연동이 무엇을 대신하고 어떤 한계를 갖는지 살펴봅니다.
참고 자료
Kubernetes 공식 문서: Cloud Controller ManagerKubernetes 공식 튜토리얼: Using Source IPKubernetes 공식 문서: Service (type NodePort, type LoadBalancer)Kubernetes 공식 문서: Virtual IPs and Service Proxies (Traffic policies)Kubernetes 공식 문서: Create an External Load BalancerMetalLB 프로젝트 문서: 소개(Why)MetalLB 프로젝트 문서: ConceptsMetalLB 프로젝트 문서: MetalLB in layer 2 modeMetalLB 프로젝트 문서: MetalLB in BGP modeMetalLB 프로젝트 문서: Usage (Traffic policies)cloud-provider-openstack: Exposing applications using services of LoadBalancer typecloud-provider-openstack: Using openstack-cloud-controller-manager이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes 내부 경로 EP4] iptables의 퇴장: kube-proxy와 nftables
kube-proxy의 iptables, IPVS, nftables 모드가 Service 트래픽을 어떻게 다르게 처리하는지, nftables의 verdict map과 증분 갱신이 무엇을 바꾸는지 짚습니다. nftables로 옮길 때 일부러 달라진 NodePort·방화벽·conntrack 동작과, KEP-5495·KEP-5343이 밝힌 IPVS 사용 중단과 기본값 전환 일정(1.40, 1.43은 계획)을 1차 출처로 정리합니다.
참고 자료
Kubernetes Blog, Dan Winship (Red Hat), "NFTables mode for kube-proxy" (2025-02-28)KEP-5495: Deprecate IPVS mode in kube-proxy (README; kep.yaml in same directory)Kubernetes docs (v1.37), "Virtual IPs and Service Proxies"KEP-5343: Make nftables the default kube-proxy backend (kep.yaml and README, kubernetes/enhancements)KEP-3866: Add an nftables-based kube-proxy backend (kep.yaml and README)Kubernetes CHANGELOG-1.33 (v1.33.0 release notes)Kubernetes CHANGELOG-1.35 (v1.35.0 release notes)Kubernetes CHANGELOG-1.37 (v1.37.0 release notes)Kubernetes website source, feature gate definition KubeProxyNFTablesLocalhostNodePorts이 에피소드의 음성은 TTS로 합성되었습니다.
[K8s 내부 경로 EP3] ClusterIP는 어디에도 없다: kube-proxy, EndpointSlice, DNAT와 5초 DNS 지연
ClusterIP에는 응답하는 장치가 없습니다. 각 노드의 kube-proxy가 Service와 EndpointSlice를 watch해 iptables 규칙을 쓰고, 패킷은 커널에서 DNAT로 Pod IP를 향하게 바뀝니다. KUBE-SERVICES, KUBE-SVC, KUBE-SEP 체인과 확률 분배의 계산, EndpointSlice가 Endpoints를 대체한 이유, 그리고 2018년 conntrack 경쟁 조건으로 생긴 5초 DNS 지연 사례와 이후 커널 수정까지 따라갑니다.
참고 자료
Kubernetes Documentation: Virtual IPs and Service Proxies (last modified 2026-08-06)Kubernetes Documentation: EndpointSlices (last modified 2025-06-22)sweetlittlebird (personal study blog): [KANS 3기] K8S Service: ClusterIP, NodePort (2024-09-27)Martynas Pumputis, Weave Works blog: Racy conntrack and DNS lookup timeouts (2018-08-16, archive.org copy)kubernetes/kubernetes issue #56903: DNS intermittent delays of 5sKubernetes Documentation: Debug ServicesKubernetes Blog, Rob Scott: Scaling Kubernetes Networking With EndpointSlices (2020-09-02)Kubernetes Documentation: Using NodeLocal DNSCache in Kubernetes ClustersLinux kernel commit ed07d9a021df: netfilter: nf_conntrack: resolve clash for matching conntracks (Martynas Pumputis, first in v4.19)Linux kernel commit 4e35c1cb9460: netfilter: nf_nat: skip nat clash resolution for same...[Kubernetes 내부 경로 EP2] Pod는 어떻게 IP를 얻는가: pause 컨테이너, CRI와 CNI
Pod마다 IP가 하나 있고 컨테이너끼리 localhost로 통신한다는 문장이 리눅스 위에서 어떻게 만들어지는지 따라갑니다. kubelet의 RunPodSandbox 요청부터 network namespace, pause 컨테이너, CNI 플러그인 호출 계약, bridge와 veth, host-local IPAM까지 공식 문서와 CNI 명세로 다시 확인하고, 노드 사이 통신의 두 갈래인 캡슐화와 라우팅도 짚습니다.
참고 자료
What happens when ... Kubernetes edition! (Jamie Hannaford et al., GitHub README; Docker-era, code links mostly v1.14)Ian Lewis, The Almighty Pause Container (2017-10-10)Kubernetes Documentation: Services, Load Balancing, and Networking (The Kubernetes network model)Kubernetes Documentation: Network Pluginskubernetes/cri-api: runtime/v1 api.proto (Container Runtime Interface definition)containerd: CRI Plugin Config Guide (docs/cri/config.md)containerd: Architecture of The CRI Plugin (docs/cri/architecture.md)CRI-O: crio.conf(5) configuration referencekubernetes/kubernetes: build/pause/linux/pause.cKubernetes Documentation: Pod Lifecycle (Pod readiness to start containers)Kubernetes Documentation: Share Process Namespace between Containers in a PodCNI Specification (cni.dev, spec 1.1.0)CNI plugins: bridge pluginCNI plugins: host-local IP address...[K8s 내부 경로 EP1] kubectl apply 한 줄이 실행 중인 Pod가 되기까지
kubectl apply 한 줄이 API 서버의 인증·인가·admission을 거쳐 etcd에 저장되고, Deployment와 ReplicaSet 컨트롤러, 스케줄러의 Binding, kubelet의 watch를 지나 Pod가 되기까지를 따라갑니다. Initializers, predicates/priorities, dockershim, 'kubelet 20초 폴링'처럼 오래된 해설이 틀려지는 지점을 공식 문서와 변경 기록으로 바로잡고, 배포가 멈췄을 때 어느 컴포넌트를 볼지 판단 기준을 정리합니다.
참고 자료
Jamie Hannaford et al., What happens when ... Kubernetes edition! (GitHub README, undated, code links mostly v1.14)Kubernetes Documentation: Scheduling FrameworkKubernetes Documentation: Pod LifecycleKubernetes Documentation: Controlling Access to the Kubernetes APIKubernetes Documentation: Admission Control in Kuberneteskubernetes/kubernetes source: pkg/kubelet/config/apiserver.go (kubelet API server pod source)kubernetes/kubernetes source: KubeletConfiguration v1beta1 types (syncFrequency, fileCheckFrequency, httpCheckFrequency defaults)Kubernetes CHANGELOG-1.14 (Initializers removal, PR #72972)Kubernetes Documentation: Kubernetes Scheduler (kube-scheduler)Kubernetes Documentation: Owners and DependentsKubernetes Documentation: ReplicaSetKubernetes Documentation: DeploymentsKubernetes Documentation: Debug Podskubernetes/kubernetes source: pkg/registry/core/pod/storage/storage.go (BindingREST)Kubernetes CHANGELOG-1.23 (legacy scheduler policy config removal)Kubernetes CHANGELOG-1.24 (dockershim removed from kubelet)[IaC 2부작 EP2] state 파일 하나가 모든 환경을 무너뜨린 밤: Terraform state 분리와 blast radius
모든 환경이 tfstate 하나를 공유하다 staging 실험이 메일과 웹까지 끊은 2016년 사례와, 환경별 분리 뒤에도 컴포넌트 단위로 state를 다시 나눈 Digipost 사례를 따라갑니다. 잠금·prevent_destroy·state 암호화가 막아 주는 것과 막지 못하는 것, 그리고 state를 나눌 때 치르는 비용까지 짚습니다. 2016년의 crash 버그는 옛 버전 문제로 구분하고, 지금도 유효한 격리 원리만 가져갑니다.
참고 자료
Charity Majors, "Terraform, VPC, and why you want a tfstate file per env" (charity.wtf, 2016-03-30) [discovery S8]Gustav Karlsson, "Splitting the Terraform monolith" (Bekk Christmas, 2019-12-11) [discovery S9]OpenTofu docs: State and Plan Encryption [discovery S7]Yevgeniy Brikman, "How to manage Terraform state" (Gruntwork blog, 2016-09-29, updated 2022-09-28)Terraform docs (v1.17.x): StateTerraform docs (v1.17.x): The terraform_remote_state data sourceTerraform docs (v1.17.x): terraform plan command, Resource TargetingTerraform docs (v1.17.x): WorkspacesTerraform docs (v1.17.x): State lockingTerraform docs (v1.17.x): lifecycle meta-argument (prevent_destroy)Terraform docs (v1.17.x): S3 backend (state locking)Terraform docs (v1.17.x): removed blockTerraform docs (v1.17.x): Import existing resources (import block)OpenTofu blog: OpenTofu 1.7.0 is out (2024-04-30)이 에피
[IaC 1부] 상태 파일로 기억하는 도구, 매번 물어보는 도구: Terraform과 Ansible의 '원하는 상태'
Terraform은 state 파일로 원하는 상태를 기억하고, Ansible은 state 파일 없이 매번 대상 시스템에 물어보며 모듈의 멱등성에 기댑니다. 이 차이가 drift 감지, terraform plan과 Ansible check mode의 신뢰도, 실패 후 복구 방식을 어떻게 가르는지 공식 문서로 짚어 봅니다. IaC 2부작의 1부입니다.
참고 자료
Red Hat blog: Ansible vs. Terraform demystified (updated 2026-01-30)Ansible docs: Validating tasks: check mode and diff modeAnsible docs: ansible.builtin.command moduleAnsible docs: GlossaryAnsible docs: Introduction to modulesAnsible docs: Error handling in playbooksTerraform docs: Purpose of Terraform State (v1.17.x)Terraform docs: terraform plan command (v1.17.x)Terraform docs: terraform apply command (v1.17.x)Terraform docs: Resource behavior (v1.17.x)Terraform docs: Provisioners (v1.17.x)이 에피소드의 음성은 TTS로 합성되었습니다.
그래프·워크플로우 엔지니어링: 에이전트의 제어 흐름을 설계하는 법
LLM 시스템을 워크플로우와 그래프로 설계하는 법을 다룹니다. 앤트로픽이 정리한 워크플로우 패턴 다섯 가지와 에이전트의 차이, AlphaCodium 논문의 플로우 엔지니어링, LangGraph의 상태·노드·엣지·체크포인트·인터럽트, Temporal의 내구성 실행을 살펴보고 재시도와 멱등성, 관측성, 평가, 비용 같은 설계 트레이드오프를 정리합니다.
참고 자료
Anthropic Engineering - Building effective agentsRidnik, Kredo, Friedman - Code Generation with AlphaCodium: From Prompt Engineering to Flow Engineering (arXiv:2401.08500)LangGraph docs - LangGraph overviewLangGraph docs - Graph API overviewLangGraph docs - PersistenceLangGraph docs - InterruptsLangGraph docs - Fault toleranceLangGraph docs - Workflows and agentsTemporal Documentation - Temporal WorkflowAnthropic Engineering - How we built our multi-agent research system이 에피소드의 음성은 TTS로 합성되었습니다.
나만의 스킬·플러그인·워크플로우 만들기: 꼭 짚어야 할 설계 포인트
AI 에이전트용 스킬, 플러그인, 다단계 워크플로우를 직접 만들 때 무엇을 고려해야 하는지 Anthropic, OpenAI, MCP 공식 문서와 엔지니어링 글을 바탕으로 정리합니다. 스킬과 지침 파일·도구·훅의 선택, description과 트리거, 컨텍스트 예산, 스크립트와 검증 게이트, 평가, 플러그인 배포와 버전, 서드파티 보안과 프롬프트 인젝션, 비용까지 다룹니다.
전체 대본 보기
참고 자료
Anthropic Docs — Agent Skills (overview)Anthropic Docs — Skill authoring best practicesAnthropic Engineering — Equipping agents for the real world with Agent Skills (2025-10-16)Agent Skills — Specification (agentskills.io)Agent Skills — Optimizing skill descriptions (agentskills.io)Agent Skills — Evaluating skill output quality (agentskills.io)OpenAI — Build skills (ChatGPT and Codex)OpenAI — Custom instructions with AGENTS.md (Codex)OpenAI — Plugins (ChatGPT and Codex)Claude Code Docs — Plugins overviewClaude Code Docs — Plugin security and trustClaude Code Docs — Publish and distribute a pluginClaude Code Docs — SkillsClaude Code Docs — Create custom subagentsClaude Code Docs — Automate actions with hooksAnthropic Engineering — Building effective agents (2024-12-19)Anthropic Engineering — Writing effective tools for agents (2025-09-11)Model Context Protocol Specification 2026-07-28 — ToolsModel Context Protocol Specification 2026-07-28 — Security Best PracticesSimon Wi기획자를 위한 스펙 주도 개발: AI에게 일을 맡기기 전에 스펙부터 쓰는 이유
AI 코딩 에이전트가 코드를 쓰는 시대에 스펙 주도 개발(Spec-Driven Development, SDD)이 무엇이고 왜 다시 주목받는지, 비개발 직군 기획자의 눈높이로 풉니다. GitHub Spec Kit, Amazon Kiro, Tessl이 스펙을 다루는 방식과 Thoughtworks의 냉정한 평가를 살펴보고, 기획자가 내일 바로 시작할 수 있는 다섯 가지 실천을 정리합니다.
참고 자료
GitHub Blog — Spec-driven development with AI: Get started with a new open source toolkit (Den Delimarsky, 2025-09)github/spec-kit README (GitHub, 2026-11 확인, 최신 릴리스 v1.4.0)github/spec-kit spec-driven.md — Specification-Driven Development (SDD) 방법론 문서Kiro Docs — SpecsKiro Docs — Feature SpecsUnderstanding Spec-Driven-Development: Kiro, spec-kit, and Tessl (Birgitta Böckeler, martinfowler.com, 2025-10-15)Thoughtworks Technology Radar — Spec-driven development (Assess, 2025-11)Thoughtworks Technology Radar — GitHub Spec Kit (Assess, 2026-04)How to write a good spec for AI agents (Addy Osmani, 2026-01-13)이 에피소드의 음성은 TTS로 합성되었습니다.
폐쇄망 쿠버네티스에 DR 붙이기 2부: 성공을 만드는 하드웨어·소프트웨어·정책
가상 공공기관 '푸른등대 민원정보원'의 폐쇄망 Kubernetes DR 시나리오를 성공으로 이끌려면 무엇이 필요한지 하드웨어(사이트·회선·스토리지), 소프트웨어(오프라인 레지스트리와 미러링, 반입 공급망, etcd·앱 데이터 백업과 복원, GitOps 재구축, 인증서·시크릿, DR 훈련), 정책(행정안전부 안정성 고시, 국가정보원 사이버보안 기본지침, 조달·인증 제약, 훈련 거버넌스)으로 나눠 짚는다. 끝에서 1부의 여섯 가지 실패 지점과 하나씩 맞춰 본다. 기관과 사건은 모두 가상이다.
참고 자료
행정기관 및 공공기관 정보시스템 안정성 고시 (행정안전부 고시 제2026-23호, 2026.4.13. 시행) PDF국가정보원 국가 사이버보안 기본지침 (2026.5.1) PDF국가정보자원관리원 화재 1년 계기 관련 브리핑 (정책브리핑, 2026.10.2)Kubernetes docs: kubeadm init (Running kubeadm without an Internet connection, Using custom images)containerd docs: Registry Configuration (hosts.md)Harbor docs: Configuring ReplicationHarbor docs: Download the Harbor InstallerKubernetes docs: Operating etcd clusters for Kubernetesetcd v3.5 docs: Frequently Asked Questions (FAQ)etcd v3.5 docs: TuningVelero docs: OverviewVelero docs: Disaster recoveryVelero docs: Cluster migrationOpenGitOps: GitOps Principles v1.0.0Kubernetes docs: Certificate Management with kubeadmKubernetes docs: SecretsKubernetes docs: Encrypting Confidential Data at RestIT보안인증사무국 (ITSCC) 홈페이지: 정보보호제품 평가·인증제도 CC(공통평가기준, Common Criteria) 인증기관행정안전부 훈령·예규·고시 게시판: 행정기관 및 공공기관 정보시스템 안정성 고시(행정안전부 고시 제2026-23호, 2026.4.13. 시행)이 에피소드의 음성은 TTS로 합성되었습니다.
폐쇄망 쿠버네티스에 DR 붙이기 1부: 가상의 공공기관 시나리오와 실패 지점
인터넷이 끊긴 폐쇄망 Kubernetes에서 돌아가는 국내 공공기관 업무 시스템에 재해복구(DR)를 붙이는 가상 시나리오를 따라간다. 가상 기관 '푸른등대 민원정보원'의 등급과 RPO·RTO 목표, 1년 구축 일정, 그리고 이미지 누락·인증서 만료·etcd 스트레치·복원 미검증·시점 불일치·재해 선포 지연 같은 실패 지점을 실제 고시·지침·기술 문서와 함께 짚는다. 기관과 사건은 모두 가상이다.
참고 자료
행정기관 및 공공기관 정보시스템 안정성 고시 (행정안전부 고시 제2026-23호, 2026.4.13. 시행) PDF국가정보자원관리원 행정정보시스템 화재 관련 중대본 브리핑 (정책브리핑, 2025.11.6)국가정보자원관리원 화재 1년 계기 관련 브리핑 (정책브리핑, 2026.10.2)국가정보원 국가 사이버보안 기본지침 (2026.5.1) PDFKubernetes docs: kubeadm init (Running kubeadm without an Internet connection, Using custom images)Kubernetes docs: Certificate Management with kubeadmKubernetes docs: Operating etcd clusters for Kubernetesetcd v3.5 docs: Frequently Asked Questions (FAQ)이 에피소드의 음성은 TTS로 합성되었습니다.
블로킹, 논블로킹, 동기, 비동기: 카페 진동벨로 정리하는 I/O 모델과 동시성
개발자라면 한 번쯤 헷갈리는 Blocking, Non-Blocking, Synchronous, Asynchronous를 카페 주문 비유로 정리합니다. 제어권과 완료 확인이라는 두 독립 축, 그 조합인 I/O 모델 네 가지(read, 폴링, select·epoll, io_uring)를 리눅스 매뉴얼과 함께 짚고, 동시성과 병렬성의 차이까지 다룹니다.
참고 자료
open(2) — Linux manual page (O_NONBLOCK)epoll(7) — Linux manual pageio_uring(7) — Linux manual pageBoost application performance using asynchronous I/O (IBM Developer, M. Tim Jones, 2006)Concurrency is not parallelism (The Go Blog, 2013)이 에피소드의 음성은 TTS로 합성되었습니다.
에이전트 1,000개를 안전하게 풀어 놓는 법: Claude Fable 5.2 팀의 페르마 증명 실험
Anthropic이 2026년 11월 공개한 글 "Safely scaling multi-agent teams with Claude Fable 5.2"를 읽습니다. 초기 버전 Fable 5.2 에이전트 1,000개가 전용 플랫폼도 연구자 조종도 없이 28.7시간 만에 페르마의 마지막 정리 형식 증명을 재현한 과정과, 팀이 SQL 테이블 다섯 개로 스스로 조직을 짠 방식을 따라갑니다. 그리고 샌드박스, 실시간 모니터, 오프라인 모니터라는 세 겹의 안전 장치가 어떻게 설계됐는지 짚습니다.
참고 자료
Safely scaling multi-agent teams with Claude Fable 5.2 (claude.dev blog, 2026-11-09)Formalizing Fermat's Last Theorem (Anthropic, 2026-09-04)이 에피소드의 음성은 TTS로 합성되었습니다.
OWASP LLM 애플리케이션 Top 10 2026: 무엇이 바뀌었고 무엇을 막아야 하나
OWASP GenAI Security Project가 2026년 8월 공개한 LLM 애플리케이션 Top 10 2026년판을 하나씩 짚습니다. 실제 사고 데이터를 처음 반영한 순위, 3위로 오른 Excessive Agency, System Prompt Leakage에서 이름이 바뀐 Hidden Context Exposure까지, 각 위험의 정의와 테스트 방법, 대응책을 다룹니다. 마지막으로 실무에서 어디부터 시작할지 순서를 정리합니다.
참고 자료
OWASP Top 10 for LLM Applications 2026 (Setexe)OWASP GenAI LLM Top 10 2026 - resource pageGenAI-LLM-Top10 2026 README (GitHub)OWASP GenAI Security Project Unveils 2026 Top 10 for LLM Applications (press release)Incident-Data Robustness Analysis of the OWASP Top 10 for LLM Applications (2026) - arXiv:2608.19266OWASP LLM Top 10 2026: What Changed and Why (Imperva)OWASP Top 10 for LLM Applications - list page (2025 edition)이 에피소드의 음성은 TTS로 합성되었습니다.
AI 에이전트와 일할 때, 판단은 누가 내리나: 전문가 50명 무작위 실험
Anthropic이 2026년 10월 공개한 연구 "How AI agents shape experts' judgment calls"를 읽습니다. 동전 던지기로 정한 에이전트의 성향을 인과추론 전문가들이 86% 따라갔고, 본인들은 대부분 그걸 알아차리지 못했습니다. 실험 설계와 결과, 에이전트가 속이지 않고도 판단을 바꾼 방식, 사람의 승인이 독립적 점검이라는 가정에 주는 함의와 저자들의 제안까지 다룹니다.
참고 자료
How AI agents shape experts' judgment calls (Anthropic, 2026-10-27)Who's Aligned to Whom? How AI Agents Shape Experts' Research Judgment Calls (Herdağdelen, Joren, Tamkin) — full paperHow AI assistance impacts the formation of coding skills (Anthropic, 2026-01-29)Gradual Disempowerment: Systemic Existential Risks from Incremental AI Development (Kulveit et al., arXiv:2501.16946)이 에피소드의 음성은 TTS로 합성되었습니다.
[Context Engineering EP2] 에이전트를 제어하는 골격, 하네스
사내 연재 글 2부를 바탕으로 AI 에이전트의 하네스를 다룹니다. 모델과 컨텍스트 윈도우와 하네스라는 세 레이어, 하네스의 모든 부품은 윈도우를 제어하는 장치이고 그 제어는 결국 배치의 문제라는 두 테제, Skill과 MCP와 메모리와 서브에이전트와 샌드박스와 hook의 역할과 비용, 그리고 좋은 하네스를 가르는 두 기둥인 SNR과 배치를 정리합니다.
참고 자료
AI Agent 를 똑똑하게 하는 힘 - Context Engineering (사내 Confluence, 1부)AI Agent 를 제어하는 골격 - Harness (사내 Confluence, 2부)Drew Breunig, How Long Contexts Fail (2025-06-22)Lance Martin, Context Engineering for Agents (2025-06-23)이 에피소드의 음성은 TTS로 합성되었습니다.
[Context Engineering EP1] 윈도우는 희소자원이다: 노이즈, 네 가지 실패, 네 가지 전략
사내 연재 글 1부를 바탕으로 Context Engineering을 정리합니다. 바이브 코딩 방법론이 Prompt에서 Context, Harness로 옮겨 온 흐름, 컨텍스트 윈도우가 희소자원인 이유와 한 조각만 지우기 어려운 KV cache 사정, 신호와 노이즈의 정의, 긴 컨텍스트의 네 가지 실패(Poisoning, Distraction, Confusion, Clash)와 네 가지 대응 전략(Write, Select, Compress, Isolate)을 다룹니다.
참고 자료
AI Agent 를 똑똑하게 하는 힘 - Context Engineering (사내 Confluence, 1부)AI Agent 를 제어하는 골격 - Harness (사내 Confluence, 2부)Drew Breunig, How Long Contexts Fail (2025-06-22)Lance Martin, Context Engineering for Agents (2025-06-23)이 에피소드의 음성은 TTS로 합성되었습니다.
[dalcom-skills EP2] 스킬 레포를 만드는 방법론: description부터 게이트까지
gosuda/dalcom-skills 저장소(커밋 5272cb2)를 본보기로, 에이전트 스킬과 스킬 레포를 만드는 방법을 정리합니다. frontmatter와 description 트리거 설계, 모델 호출과 사용자 호출의 비용, writing-for-agents의 본문 작성 원칙과 파일 분할 기준, 11단계 작성 절차, 단일 트리와 생성기와 트리 전체 게이트, 문체 규칙과 출처 관리까지 다룹니다.
참고 자료
dalcom-skills README.mddalcom-skills AGENTS.md (Repository contract)dalcom-skills CONTRIBUTING.md (Maintainer contract)docs/guides/getting-started.mddocs/guides/using-skills.mddocs/guides/workflows.mddocs/specs/skill-lifecycle.mddocs/specs/gates.mddocs/specs/voice.mddocs/specs/distribution-surfaces.mdask-dalcom SKILL.md (router skill)writing-for-agents SKILL.mdwriting-for-agents references/authoring-procedure.mdwriting-for-agents references/skill-mechanics.mdwriting-for-agents references/authoring-levers.md[dalcom-skills EP1] 305개 스킬 라이브러리, 쓰기 전에 알아둘 것
gosuda/dalcom-skills를 처음 쓰는 엔지니어를 위한 사전 지식 회차입니다. 하나의 스킬 트리를 여섯 개 하네스에 내보내는 구조, 플러그인을 가볍게 고르는 법, 명시 호출과 트리거 매칭과 user-only 스킬의 차이, 라우터 ask-dalcom과 대표 워크플로 체인, output style과 저장소 계약이 스킬 동작에 주는 영향을 커밋 5272cb2 기준으로 정리합니다.
참고 자료
dalcom-skills README.mddalcom-skills AGENTS.md (Repository contract)dalcom-skills CONTRIBUTING.md (Maintainer contract)docs/guides/getting-started.mddocs/guides/using-skills.mddocs/guides/workflows.mddocs/specs/skill-lifecycle.mddocs/specs/gates.mddocs/specs/voice.mddocs/specs/distribution-surfaces.mdask-dalcom SKILL.md (router skill)writing-for-agents SKILL.mdwriting-for-agents references/authoring-procedure.mdwriting-for-agents references/skill-mechanics.mdwriting-for-agents references/authoring-levers.md[Kubernetes DR EP10] Capstone: 설계 리뷰와 Tabletop Exercise로 DR 원리 종합하기
Kubernetes DR 스터디 커리큘럼의 마지막 모듈 M10을 다룹니다. OpenStack 위 3-node control plane 클러스터의 DR 설계안 필수 항목 7가지를 짚고, etcd quorum 상실, CRD 연쇄 삭제, 사이트 단절과 fencing, 14개월 전 snapshot 복원이라는 네 가지 tabletop 시나리오를 앞 모듈의 원리와 1차 출처로 풀어 봅니다. 시나리오 풀이는 출처의 원리에서 끌어낸 추론이며, 마지막으로 스터디 운영 권고를 정리합니다.
참고 자료
Google SRE Book, Chapter 26 - Data Integrity: What You Read Is What You WroteNIST SP 800-34 Rev. 1 Contingency Planning Guide for Federal Information SystemsAWS Whitepaper: Disaster recovery options in the cloudetcd v3.5 Disaster recoveryKubernetes: Operating etcd clusters for KubernetesTalos Linux v1.11: Disaster RecoveryBorg, Omega, and Kubernetes (Burns et al., ACM Queue 2016)Kubernetes: Extend the Kubernetes API with CustomResourceDefinitionsKubernetes 1.20: Kubernetes Volume Snapshot Moves to GAKubernetes: Certificate Management with kubeadmKubernetes: Encrypting Confidential Data at RestMicrosoft Learn: Use KMS etcd encryption in Azure Kubernetes ServiceCAP Twelve Years Later: How the "Rules" Have Changed (Brewer, InfoQ reprint)OpenStack Cinder contributor docs: Replication이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes DR EP9] OpenStack 위 Kubernetes DR: 두 층의 DR, 두 개의 책임
OpenStack 위에서 Kubernetes를 운영할 때 IaaS 계층 DR과 Kubernetes 계층 DR이 어디서 갈리는지 살펴봅니다. Cinder 복제 v2.1의 backend 단위 failover와 한계, Ceph RBD 미러링의 promote/demote와 split-brain, Cinder CSI 스냅샷·백업을 공식 문서로 짚고, 사내 설계 문서의 세 가지 제약을 Kubernetes 계층으로 확장해 봅니다.
참고 자료
OpenStack Cinder Contributor Guide: ReplicationOpenStack Cinder Admin Guide: Replication in OpenStackCinder Specs (Mitaka): CheesecakeCeph Documentation: RBD MirroringOpenStack Charm Guide: Cinder volume replicationOpenStack Charm Guide: Cinder volume replication - Disaster recoverycloud-provider-openstack: Using Cinder CSI plugincloud-provider-openstack issue #3088: [cinder-csi-plugin] VolumeSnapshots not topology awarecloud-provider-openstack source: pkg/csi/cinder/controllerserver.goKubernetes Documentation: Volumes (CSI volumeHandle)Kubernetes Documentation: Operating etcd clusters for KubernetesCeph Documentation: Ceph Block Device이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes DR EP8] DR drill과 Chaos Engineering: 복원해 보지 않은 백업은 없는 백업이다
Kubernetes DR 스터디 커리큘럼의 여덟 번째 모듈, 운영 검증을 깊게 다룹니다. GitLab 2017년 사고와 Google SRE book의 복구 원칙에서 출발해 Principles of Chaos Engineering, Netflix의 Chaos Monkey와 Chaos Kong, Google DiRT와 game day, NIST SP 800-84의 tabletop exercise를 살펴봅니다. etcd 스냅샷 검증, 관측 지표, runbook 관리까지 Kubernetes 운영에 연결합니다.
참고 자료
Principles of Chaos Engineering (Last Update: 2019 March)chaos-eng.github.io commit 7b630f5 (2017-04-04): adds 'Minimize Blast Radius' to Principles of Chaos EngineeringBasiri et al., Chaos Engineering, IEEE Software 33(3), 2016 (arXiv 1702.05843)Google SRE Book, Chapter 26 - Data Integrity: What You Read Is What You WroteGoogle SRE Book, Chapter 33 - Lessons Learned from Other IndustriesGitLab: Postmortem of database outage of January 31NIST SP 800-84 Guide to Test, Training, and Exercise Programs for IT Plans and Capabilities (September 2006)AWS Well-Architected Reliability Pillar REL13-BP03 Test disaster recovery implementation to v...[Kubernetes DR EP7] 멀티 클러스터와 멀티 리전 DR: 둘을 동시에 살려 두는 비용
Kubernetes DR 스터디 일곱 번째 모듈로, 두 번째 클러스터와 두 번째 리전을 운영할 때 치르는 비용을 따집니다. AWS DR 백서의 전략 스펙트럼, Brewer의 CAP 재정리와 Abadi의 PACELC, etcd 튜닝 문서, Pacemaker의 fencing 정의를 근거로 동기·비동기 복제와 split-brain, active-active의 함정, Federation의 흥망을 짚습니다.
참고 자료
CAP Twelve Years Later: How the "Rules" Have Changed (Eric Brewer, InfoQ reprint of IEEE Computer article)Kubernetes Federation Evolution (Kubernetes Blog, 2018-12-12)kubernetes-retired/kubefed (archived GitHub repository)AWS Whitepaper: Disaster Recovery of Workloads on AWS - Disaster recovery options in the cloudConsistency Tradeoffs in Modern Distributed Database System Design (Daniel J. Abadi, IEEE Computer, Feb 2012)etcd v3.5 TuningPacemaker Explained: Fencing (ClusterLabs)RFC 1035: Domain Names - Implementation and SpecificationKubernetes docs: Running in multiple zones이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes DR EP6] 보조 상태의 복구: 인증서, KMS 키, 시크릿, ID
Kubernetes DR 스터디 여섯 번째 모듈로, etcd와 Git만으로는 되살아나지 않는 인증서·암호화 키·외부 의존성을 다룹니다. kubeadm 인증서 수명과 갱신, Secret 저장 시 암호화와 KMS 봉투 암호화, 키를 잃었을 때 벌어지는 일을 Kubernetes와 AKS 문서로 짚고, 토론 질문 세 가지를 함께 따져 봅니다.
참고 자료
Certificate Management with kubeadmEncrypting Confidential Data at RestUsing a KMS provider for data encryptionUse KMS etcd encryption in Azure Kubernetes Service (legacy)Kubernetes Concepts: SecretsPKI certificates and requirementsConfigure Certificate Rotation for the KubeletOperating etcd clusters for Kubernetes이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes DR EP5] GitOps와 IaC: 재구축 기반 복구 vs 백업 기반 복구
Kubernetes DR 스터디 다섯 번째 모듈로, GitOps로 클러스터를 다시 만드는 복구와 etcd·리소스 백업에서 되살리는 복구를 비교합니다. OpenGitOps 원칙과 용어집, Kubernetes·Velero·Argo CD 문서를 근거로 Git에 없는 상태가 무엇인지 짚고, 찬반 디베이트 질문 세 가지를 함께 따져 봅니다.
참고 자료
OpenGitOps Principles v1.0.0OpenGitOps documents: GLOSSARY.mdOpenGitOps project: history.md (timeline)CNCF TAG App Delivery: GitOps WG charterRedMonk (James Governor): Oh Hai GitOps. What is GitOps? (2017-08-08)Borg, Omega, and Kubernetes (Burns et al., ACM Queue 2016)Kubernetes docs: Objects In KubernetesKubernetes docs: Object Names and IDsKubernetes docs: Service (type LoadBalancer)Kubernetes docs: Service Accountscert-manager docs: Certificate resourceKubernetes docs: Operating etcd clusters for KubernetesVelero docs: Disaster recoveryVelero docs: Restore ReferenceArgo CD docs: Disaster Recovery이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes DR EP4] 상태의 분류와 스토리지: 무엇이 사라지면 안 되는가
Kubernetes DR에서 상태를 etcd 안의 객체와 PV 안의 데이터로 나눠 보고, 왜 둘을 함께 일관되게 되살려야 하는지 짚습니다. reclaimPolicy 기본값, CSI와 VolumeSnapshot의 역사, crash-consistent와 application-consistent의 차이, VolumeGroupSnapshot, 그리고 스냅샷이 백업이 아닌 이유를 공식 문서를 근거로 정리합니다.
참고 자료
Kubernetes 1.20: Kubernetes Volume Snapshot Moves to GAKubernetes docs: Persistent VolumesKubernetes docs: Volume SnapshotsKubernetes docs: Storage ClassesContainer Storage Interface (CSI) for Kubernetes GAContainer Storage Interface (CSI) SpecificationKubernetes docs: StatefulSetsKubernetes docs: Share a Cluster with Namespaces (Deleting a namespace)Kubernetes v1.36: Moving Volume Group Snapshots to GAPostgreSQL docs: File System Level BackupPostgreSQL docs: SQL Dumpfsfreeze(8) Linux manual pageVelero docs: OverviewVelero docs: Backup HooksVelero docs: CSI Snapshot Data MovementKubernetes docs: NamespacesKubernetes docs: Custom ResourcesPostgreSQL docs: Write-Ahead Logging (WAL)이 에피소드의 음성은 TTS로 합성되었습니다.
[Kubernetes DR EP3] 선언형 API와 Reconciliation, Cattle과 Immutable: 복구를 쉽게 만드는 설계 철학
Kubernetes의 선언형 API와 reconciliation loop가 왜 복구를 '절차의 재실행'이 아니라 '원하는 상태의 재선언'으로 바꾸는지, Borg, Omega, and Kubernetes 논문과 공식 문서로 짚어 봅니다. control plane이 멈추면 워크로드에 무슨 일이 생기는지, 그리고 pets vs cattle과 immutable infrastructure가 DR에서 지켜야 할 대상을 어떻게 바꾸는지도 함께 다룹니다.
참고 자료
Borg, Omega, and Kubernetes (Burns, Grant, Oppenheimer, Brewer, Wilkes, ACM Queue 2016)Kubernetes Documentation: ControllersKubernetes Documentation: OverviewKubernetes Documentation: Troubleshooting Clusters (Cluster failure modes)kubernetes/community: Writing Controllers (sig-api-machinery)kubernetes/community: API Conventions (sig-architecture)Randy Bias, The History of Pets vs Cattle and How to Use the Analogy Properly (2016)Chad Fowler, Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable Components (2013, Internet Archive)Martin Fowler, PhoenixServer (2012)Martin Fowler, SnowflakeServer (2012)Kief Morris, ImmutableServer (2013)이 에피소드의 음성은 TTS로 합성되었습니다.