Kubernetes 자원관리
설정된 values 확인
helm get values myrelease -n ecm
최종적으로 적용된 리소스 요청/제한
kubectl get pod otcs-admin-0 -n ecm -o jsonpath='{.spec.containers[*].resources}'
실제 배포된 manifest 확인
helm get manifest myrelease -n ecm
실제 사용하는 자원 확인
Pod 자원 사용량 확인
kubectl top pod -n <namespace>
1. metrics-server 기본 매니페스트 설치
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
2. 옵션 추가 (--kubelet-insecure-tls)
metrics-server가 뜬 후 아래 명령으로 옵션을 추가해 주세요:
kubectl patch deployment metrics-server -n kube-system \
--type='json' \
-p='[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]'
이 옵션이 반드시 필요합니다
2. 설치 후 확인
설치가 완료되면 아래 명령으로 metrics-server 파드가 정상적으로 실행되는지 확인하세요:
kubectl get pods -n kube-system | grep metrics-server
파드가 Running 상태여야 합니다.
- Scale Down (레플리카 수 줄이기) Deployment, StatefulSet 등에서 pod 수를 0으로 줄이면 해당 pod들이 모두 종료됩니다.
kubectl get deployment
kubectl scale deployment <deployment-name> --replicas=0
kubectl scale deployment otiv-asset otiv-config otiv-highlight otiv-markup otiv-publication otiv-publisher otiv-viewer --replicas=0
나중에 다시 원래대로 돌리고 싶으면:
kubectl scale deployment <deployment-name> --replicas=<원래 수>
- Kind 클러스터 재시작 방법 A. Kind 컨테이너 재시작 (가장 확실한 방법) Kind 클러스터의 각 노드는 Docker 컨테이너로 동작합니다. 컨트롤 플레인 노드 이름 확인:
docker ps --format '{{.Names}}' | grep ecm-cluster
docker restart ecm-cluster-control-plane
노드가 여러 개면 worker 노드도 위 방법대로 이름 확인 후 재시작 가능
Deployment 리스타트
kubectl rollout restart deployment -n ecm
StatefulSet 리스타트
kubectl rollout restart statefulset -n ecm
DaemonSet 리스타트
kubectl rollout restart daemonset -n ecm