Skip to content

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 상태여야 합니다.

  1. 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=<원래 수>
  1. 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