Kubernetes를 피해온 회의론자가 직접 써보고 깨달은 것
A skeptic's first contact with Kubernetes (2024)
시스템 엔지니어로 오래 일해온 저자는 Kubernetes를 의도적으로 피해왔다. 물리적 위치 제어가 중요했기 때문이다. 막연한 회의감을 사실에 기반해 재검토하기 위해 Kubernetes의 핵심 개념을 파고든다. 그가 주목한 것은 컨트롤 루프와 Service다. 컨트롤 루프는 원하는 상태를 향해 지속적으로 조정하며, Service는 안정적인 가상 IP와 DNS, 로드 밸런싱을 제공한다. 개념은 훌륭하지만 문자열 보간 기반 도구 등 의문점도 남는다.
Kubernetes '커뮤니티'는 온갖 것 중에서도 텍스트 보간을 기반으로 도구를 만드는 쪽으로 완전히 결심한 것 같다. 마치 Ansible을 보고 '이야, 끔찍하게 고통스러워 보이네. 우리도 그렇게 하자!'라고 생각한 것 같다.
HN 토론
31- burdock
helm의 텍스트 보간에 대한 혐오를 길게 써본 적이 있습니다.
Apple의 Pkl과 CNCF의 KCL을 사용한 실험을 몇 가지 해봤는데, 이들은 간단한 "구성 언어"로 이런 문제를 해결하는 것처럼 보입니다.
둘 다 아주 널리 채택되지는 않은 것 같지만, 예전에 Apple이 내부적으로 Pkl을 사용하고 있다고 들었습니다.
- sgarland
K8s가 문자열 보간으로 돌아간다는 걸 발견한 부분이 특히 재미있었어요. 참고로 그 느낌은 절대 사라지지 않습니다. nindent를 가지고 놀 때마다 정신의 작은 조각을 잃게 되니까요.
- hckr1292
> 기본적으로 Horizontal Pod Autoscaler인데, "CPU"만이 아닌 센서를 사용하는 거죠
Kubernetes 1.23부터 HPA를 제어하기 위해 "custom metrics"를 사용하는 것이 지원됩니다: https://kubernetes.io/blog/2026/07/14/custom-metrics-exporte...
설정이 다소 복잡한가요? 물론이죠! 하지만 custom metrics와 함께 비교적 견고하고 잘 지원되는 내장 컨트롤러를 사용하는 것이 가능합니다.
- tediousgraffit1
> Controller 패턴이 주어졌는데, 왜 "Cloud Native" 아키텍처에 대한 지원이 없나요?
직접 작성해야 합니다.
> 왜 스토리지와 네트워킹 구현이 "out of tree"(CNI / CSI)인가요?
> 위 질문을 감안할 때, 왜 Cloud 제공자에 대한 명시적 지원이 있나요?
in-tree 것들이 먼저 있었고, 그들은 수년간 그것을 조각조각 추출해 왔습니다.
- Thev00d00
helm 말고 그 무엇이든 사용하면 k8s 생활이 100배 나아집니다.