Kubernetes 실무에서 자주 쓰는 Helm & kubectl 명령어 정리
Helm 명령어 모음
helm repo add <name> <url> | Helm 저장소 등록 ex) helm repo add apache-airflow https://airflow.apache.org |
helm repo update | 저장소 업데이트 (차트 버전 최신화) |
helm search repo <키워드> | Helm 저장소에서 차트 검색 |
helm install <release> <chart> [flags] | Helm 차트 설치 |
helm upgrade <release> <chart> [flags] | 기존 릴리스 업그레이드 |
helm upgrade --install ... | 설치되어 있지 않으면 설치, 있으면 업그레이드 |
helm list [-n namespace] | 설치된 릴리스 목록 조회 |
helm uninstall <release> [-n namespace] | Helm 릴리스 삭제 |
helm get values <release> | 현재 적용된 values.yaml 확인 |
helm get manifest <release> | 설치된 리소스 yaml 확인 (디버깅 시 유용) |
helm template <chart> | 실제 생성될 리소스 YAML 미리보기 |
☸️ kubectl 명령어 모음
기본 조회
kubectl get pods [-n NAMESPACE] | 파드 목록 조회 |
kubectl get svc [-n NAMESPACE] | 서비스 목록 조회 |
kubectl get all [-n NAMESPACE] | 네임스페이스의 모든 리소스 조회 |
kubectl get deployments [-n NAMESPACE] | 배포 정보 확인 |
상세 정보 & 디버깅
kubectl describe pod <pod-name> -n <namespace> | 파드의 이벤트, 볼륨, 컨테이너 상태 확인 |
kubectl logs <pod-name> [-n NAMESPACE] | 컨테이너 로그 출력 |
kubectl logs <pod-name> -c <container-name> | 멀티 컨테이너 파드일 경우 특정 컨테이너 로그 확인 |
kubectl exec -it <pod-name> -- /bin/bash | 파드 내부 bash 진입 (셸 있는 경우) |
kubectl port-forward <pod/service> <local-port>:<target-port> | 로컬에서 포트 포워딩하여 서비스 접근 |
리소스 적용 및 수정
kubectl apply -f <file.yaml> | 리소스 생성 or 업데이트 |
kubectl delete -f <file.yaml> | yaml 파일 기반 리소스 삭제 |
kubectl delete pod <pod-name> | 파드 삭제 (재시작 유도 시 유용) |
kubectl scale deployment <name> --replicas=3 | 파드 수 조절 (스케일링) |
🔧 실무 팁
- 로그 확인시 kubectl logs -f 로 실시간 로그 tail 가능
- helm upgrade --install은 CI/CD에 자주 사용됨
- 파드에 문제가 있을 때는 describe → logs → exec 순으로 디버깅
- kubectl rollout restart deployment <name>으로 배포 재시작 가능
'Kubernetes' 카테고리의 다른 글
Kubernetes란? (0) | 2024.04.12 |
---|