kind 클러스터에 ArgoCD 올리기 — UI 를 경로로 열고, field is immutable 로 멈춘 동기화 풀기
git 에 YAML 을 올려 두면 ArgoCD 가 클러스터를 거기에 맞춘다. 맥에서는 argocd.localhost 가 해석되지 않아 UI 를 경로로 열어야 하고, immutable 필드를 커밋하면 동기화가 무한 재시도에 빠진다. 둘 다 직접 겪은 대로 정리했다.
M1 맥에서 kind 쿠버네티스·Calico·ArgoCD 세우기, StatefulSet·PVC, iTerm2·안드로이드 에뮬레이터 등 로컬 개발 환경 구축과 문제 해결 기록.
git 에 YAML 을 올려 두면 ArgoCD 가 클러스터를 거기에 맞춘다. 맥에서는 argocd.localhost 가 해석되지 않아 UI 를 경로로 열어야 하고, immutable 필드를 커밋하면 동기화가 무한 재시도에 빠진다. 둘 다 직접 겪은 대로 정리했다.
StatefulSet 을 5개에서 3개로 줄이면 4번·3번이 사라진다. 이 방향을 뒤집는 설정은 없다. podManagementPolicy 는 immutable 이고 pod-deletion-cost 도 안 먹는다. 대신 ordinals.start 로 번호 범위를 옮기면 낮은 번호를 없앨 수 있다.
쿠버네티스 파드는 재시작하면 안에 쓴 파일이 전부 사라진다. PVC 로 저장소를 빌리고 StatefulSet 으로 파드에 고정된 이름을 주면 남는다. PVC 가 Pending 에서 안 넘어가는 이유(waiting for first consumer)도 함께 짚는다.
kind 실습 클러스터의 네트워크 플러그인을 Calico 로 교체한다. Calico 문서가 알려 주는 기본 IP 풀 192.168.0.0/16 을 그대로 쓰면 가정용 공유기 대역과 겹친다. 요즘 kindnet 은 NetworkPolicy 를 실제로 막는다는 것도 함께 확인한다.
맥북에 kind 로 3노드 쿠버네티스를 올린다. ingress-nginx 의 kind 용 매니페스트는 hostPort 로 80 을 여는데, 컨트롤러가 워커 노드에 뜨면 localhost 로 아무것도 안 잡힌다. kubectl 버전 스큐도 함께 정리한다.
맥에서 개발 환경을 잡을 때 반복해서 만나는 두 가지 — Java 를 어떻게 깔지, 그리고 OS 업데이트 후 git·gcc 가 갑자기 안 되는 xcrun 오류. 원인과 해결을 짧게 정리한다.
Apple Silicon 맥에서는 녹스나 블루스택이 제대로 안 돈다. 안드로이드 스튜디오가 테스트용으로 쓰는 AVD 를 대신 쓰면 되는데, 플레이스토어가 없는 문제까지 포함해 순서대로 정리한다.
맥을 새로 잡을 때마다 반복하는 터미널 설정을 순서대로 모았다. oh-my-zsh 을 깔고 테마를 바꾸면 글씨가 깨지는데, 그게 왜 그런지와 어떻게 푸는지까지.