Kubernetes DNS 쿼리 증폭과 ndots 튜닝의 숨은 위험
들어가며 운영 중인 Kubernetes 클러스터에서 외부 도메인 1건을 resolve하는 데 5번의 DNS 쿼리가 발생하고 있었다. ndots:5 기본값이 만든 증폭이다. 해결책은 ndots를 낮추는 것. AI에게 검토 요청하니 “내부 서비스 해석이 깨질 수 있다”고 경고했지만, search 알고리즘을 읽어본 바로는 장애가 날 이유가 없었다. 더 ...
들어가며 운영 중인 Kubernetes 클러스터에서 외부 도메인 1건을 resolve하는 데 5번의 DNS 쿼리가 발생하고 있었다. ndots:5 기본값이 만든 증폭이다. 해결책은 ndots를 낮추는 것. AI에게 검토 요청하니 “내부 서비스 해석이 깨질 수 있다”고 경고했지만, search 알고리즘을 읽어본 바로는 장애가 날 이유가 없었다. 더 ...
왜 Kubernetes는 기본 CSI Driver를 가지고 있고, 공통 Volume Interface가 있음에도 불구하고 External CSI Driver를 필요로 하는걸까? 한 번 알아보자 !! 1. CSI Driver란 CSI(Container Storage Interface)는 컨테이너 오케스트레이션 플랫폼과 스토리지 시스템 사이의 표준...
GCP VM에 OpenClaw 세팅 with Claude Slack Notion OpenClaw란? OpenClaw는 WhatsApp, Telegram, Slack, Discord 등 메신저를 인터페이스로 사용하는 셀프호스팅 AI 에이전트 플랫폼이다. ChatGPT와 달리 질문에 답하는 것에 그치지 않고, 파일 읽기/쓰기, 웹 브라우징, 셸 명령 ...
테스트 환경 3 Node Stacked ETCD 구성에서 멤버 삭제/추가, Leader 재선출 시나리오를 테스트했다. 사전 준비 — 환경 변수 설정 # etcd pod 이름 확인 kubectl get pod -n kube-system | grep etcd # 전체 클러스터 상태 조회 kubectl exec -it etcd-porthos-vn...
들어가며 이전 글에서 etcd의 구조와 Raft 알고리즘을 살펴봤다. 요약하면 다음과 같다. graph LR B["⭐ ETCD B<br/>(Leader)"]:::leader A["ETCD A<br/>(Follower)"]:::follower C["ETCD C<br/>(Follower)"]:::f...
etcd란? etcd는 Key-Value 형태의 데이터를 저장하는 분산 스토리지이다. kubernetes의 구성 데이터, 상태 데이터 및 메타데이터를 관리한다. etcd architecture etcd는 이레 그림과 같은 레이어로 구성된다. 요소별 주요 역할은 다음과 같다. 항목 Raft ...
Kubernetes Release Enhancements Team Kubernetes Release Team 중 Enhancements에 대해 중점적으로 소개하려 한다. Kubernetes의 기여 생태계 Kubernetes 기여 생태계에 관해서는 첫 번째 게시글로 작성했다. [bianbbc87 devlog] Kubernetes 오픈소스 기여...
Kubernetes란 ? k8s라고도 알려진 kubernetes는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링 및 관리해주는 오픈소스 시스템 Kubernetes의 기여 생태계 Kubernetes는 굉장히 큰 프로젝트여서인지 일반적인 프로젝트와 달리 복잡한 체계가 있다. 지난 v1.33 Kubernetes에서 Enhancements Shado...
Kubernetes Cluster kubernetes cluster는 control plane과 컨테이너화 된 application을 실행하는 worker node 세트로 구성된 아키텍처이다. 모든 클러스터는 pod를 실행하기 위해 최소 하나 이상의 worker node가 필요하다. Kubernetes Node Master Node는 Contro...
#!/bin/bash의 의미 Linux Permission에서 rw- 는 read, write 권한만 가져 execution (실행)이 불가능합니다. 그런데 종종 rw- 권한으로도 프로그램 실행이 가능한 경우가 있습니다. 이 경우, 프로그램 코드 최상단에 #!/bin/bash가 있는지 확인 해봅시다. 이 한 줄은 단순한 주석이 아니라, 리눅스 커널...