Kubectl은 Kubernetes 클러스터를 관리하고 상호작용하기 위한 명령줄 도구(Command Line Interface, CLI)입니다. 이를 통해 Kubernetes API 서버와 통신하며 클러스터의 리소스를 생성, 조회, 수정, 삭제 등의 작업을 수행할 수 있습니다137.
Kubectl의 주요 역할
- 클러스터 관리: Kubernetes 클러스터의 리소스(Pod, Node, Service 등)를 생성, 조회, 수정, 삭제합니다.
- 상태 확인 및 요청: 클러스터의 현재 상태를 확인하거나 원하는 상태를 요청합니다.
- 디버깅 및 로그 조회: 컨테이너 로그를 확인하고 원격으로 접속하여 문제를 디버깅할 수 있습니다47.
Kubectl 명령어 구조
bash
kubectl [COMMAND] [TYPE] [NAME] [FLAGS]
- COMMAND: 실행할 작업(예: create, get, delete, apply 등).
- TYPE: 리소스 타입(예: pod, node, service 등).
- NAME: 특정 리소스 이름(생략 시 모든 리소스 대상).
- FLAGS: 추가 옵션(예: -o wide, --help 등)135.
주요 명령어
- 리소스 생성 및 적용
- kubectl create: 새로운 리소스를 생성합니다.
bashkubectl create namespace my-namespace
- kubectl apply: YAML 파일을 사용해 리소스를 생성하거나 업데이트합니다.
bashkubectl apply -f my-resource.yaml
- kubectl create: 새로운 리소스를 생성합니다.
- 리소스 조회
- kubectl get: 리소스 목록을 조회합니다.
bashkubectl get pods kubectl get nodes -o wide
- kubectl get: 리소스 목록을 조회합니다.
- 리소스 상세 정보 확인
- kubectl describe: 특정 리소스의 상세 정보를 확인합니다.
bashkubectl describe pod <pod_name>
- kubectl describe: 특정 리소스의 상세 정보를 확인합니다.
- 리소스 삭제
- kubectl delete: 리소스를 제거합니다.
bashkubectl delete pod <pod_name>
- kubectl delete: 리소스를 제거합니다.
- 컨테이너 로그 조회
- kubectl logs: 특정 Pod의 컨테이너 로그를 확인합니다.
bashkubectl logs <pod_name>
- kubectl logs: 특정 Pod의 컨테이너 로그를 확인합니다.
- Pod 내부 명령 실행
- kubectl exec: Pod 내부에서 명령어를 실행하거나 셸로 접속합니다.
bashkubectl exec -it <pod_name> -- /bin/bash
- kubectl exec: Pod 내부에서 명령어를 실행하거나 셸로 접속합니다.
- 포트 포워딩
- 로컬 포트를 클러스터 내 특정 Pod 또는 서비스에 연결합니다.
bashkubectl port-forward pod/<pod_name> 8080:80
- 로컬 포트를 클러스터 내 특정 Pod 또는 서비스에 연결합니다.
- 설정 관리
- 현재 컨텍스트 확인 및 변경:
bashkubectl config current-context kubectl config use-context minikube
- 현재 컨텍스트 확인 및 변경:
사용 예시
bash
# 모든 파드 조회 kubectl get pods
# 특정 파드 상세 정보 확인 kubectl describe pod my-pod
# YAML 파일을 사용해 리소스 생성 또는 업데이트 kubectl apply -f deployment.yaml
# 특정 파드 삭제 kubectl delete pod my-pod
# Pod 내부에서 셸 실행 kubectl exec -it my-pod -- /bin/bash
# 컨테이너 로그 실시간 조회 kubectl logs my-pod -f
특징 및 장점
- Kubernetes API 서버와 직접 통신하여 클러스터를 제어할 수 있습니다.
- YAML 파일을 사용해 선언적 방식으로 클러스터 상태를 정의하고 적용 가능합니다9.
- 다양한 플래그와 옵션을 통해 출력 형식(JSON, YAML 등)과 필터링 기능을 제공합니다57.
Kubectl은 Kubernetes 환경에서 필수적인 도구로, 클러스터 관리와 디버깅 작업을 효율적으로 수행할 수 있도록 지원합니다.
Citations:
- https://kubernetes.io/ko/docs/reference/kubectl/
- https://jongsky.tistory.com/115
- https://btcd.tistory.com/105
- https://subicura.com/k8s/guide/kubectl.html
- https://blog.voidmainvoid.net/146
- https://cloudbim.tistory.com/35
- https://velog.io/@captain-yun/kubectl-%EC%9D%B4%EB%9E%80
- https://velog.io/@hanblueblue/kubernates-kubectl-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC
- https://maxima-lab.tistory.com/entry/Kubernetes-kubectl-create-apply-get-edit-scale
- https://everenew.tistory.com/383
- https://velog.io/@pinion7/kubernetes-CLI-%EB%8F%84%EA%B5%AC%EC%9D%B8-kubectl%EC%9D%98-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
- https://velog.io/@pipi/k8s-kubectl-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C-dpltpkh7
- https://kubernetes.io/ko/docs/concepts/overview/
- https://blex.me/@Su-per/kubernetes-kubectl-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC
- https://devops-note.tistory.com/18
- https://jibinary.tistory.com/136
- https://coding-start.tistory.com/308
- https://basketdeveloper.tistory.com/entry/kubectl-%EC%9E%90%EC%A3%BC-%EC%93%B0%EB%8A%94-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC
- https://co-de.tistory.com/184?category=884534
Perplexity로부터의 답변: pplx.ai/share
'클라우드 > K-PaaS' 카테고리의 다른 글
Redis (0) | 2025.04.14 |
---|---|
registries.conf (0) | 2025.04.14 |
Podman (0) | 2025.04.14 |
Minikube (0) | 2025.04.14 |
K-Pass 실습환경 (1) | 2025.04.14 |