IT기술/쿠버네티스 (k8s)

쿠버네티스(k8s) 핵심 명령어와 매니페스트 활용 가이드

후스파 2025. 3. 26. 10:42
반응형
쿠버네티스 kubernetes k8s

1. 기본 kubectl 명령어

쿠버네티스 클러스터 관리를 위한 최소한의 필수 명령어를 소개합니다.

명령어설명주요 옵션
kubectl apply 매니페스트 파일로 리소스 생성/수정 -f [파일명]
kubectl get 리소스 목록 조회 -o wide, --show-labels
kubectl describe 리소스 상세 정보 확인 pod/[이름], svc/[이름]
kubectl delete 리소스 삭제 -f [파일명]
kubectl logs 컨테이너 로그 확인 -f (실시간), -c [컨테이너명]
kubectl exec 컨테이너 내부 접속 -it, -- bash
kubectl config 클러스터 설정 관리 use-context, current-context
 

:

# alias 설정 (명령어 단축)
alias k='kubectl'
echo "alias k='kubectl'" >> ~/.bashrc && source ~/.bashrc
  
 

2. 매니페스트 파일 활용

▷ 디플로이먼트 생성 예시

# apache_ex001_dep.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: apache-ex001-dep
spec:
  replicas: 3
  selector:
    matchLabels:
      app: apa-ex-kube
  template:
    metadata:
      labels:
        app: apa-ex-kube
    spec:
      containers:
        - name: apache-001
          image: httpd
          ports:
            - containerPort: 80
 
 
kubectl apply -f apache_ex001_dep.yml
 

▷ 서비스 생성 예시

# apache_ex001_ser.yml
apiVersion: v1
kind: Service
metadata:
  name: apache-ex001-ser
spec:
  type: NodePort
  ports:
    - port: 8099
      targetPort: 80
      nodePort: 30080
  selector:
    app: apa-ex-kube
 
 
kubectl apply -f apache_ex001_ser.yml
 
 

3. 필수 작업 플로우

  • 리소스 상태 확인
kubectl get pods
kubectl get svc
kubectl get deployments
  • 파드 생성 실패 시:
kubectl describe pod/[파드명]  # 이벤트 로그 확인
kubectl logs [파드명]         # 컨테이너 로그 확인
  • 포트 충돌 시:
kubectl delete -f [매니페스트.yml]  # 리소스 삭제 후 nodePort 값 변경​

 

  • 실시간 모니터링
kubectl logs -f [파드명]       # 로그 실시간 추적
kubectl get pods --watch      # 상태 변화 모니터링
 
 

4. 고급 명령어

명령어사용 사례
kubectl scale 레플리카 수 조정
kubectl rollout 배포 버전 관리
kubectl cp 컨테이너 ↔ 호스트 간 파일 복사
kubectl top 리소스 사용량 모니터링 (CPU/Memory)
 

5. 주의사항

  1. Imperative vs Declarative:
    • kubectl create (명령형)보다 kubectl apply (선언형) 권장
  2. 포트 충돌: nodePort는 30000-32767 범위에서 고유값 사용
  3. 리소스 정리:
kubectl delete -f [매니페스트.yml]  # 매니페스트 기반 삭제
kubectl delete pod --all           # 전체 파드 삭제
 
 

결론

쿠버네티스는 명령어보다 매니페스트 파일을 통한 관리가 핵심입니다. kubectl 명령어 숙지와 YAML 파일 작성법을 익히면 프로덕션 환경에서도 안정적으로 운영 가능합니다.

 

 

[k8s] 쿠버네티스 명령어

쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 관리하기 위한 오픈 소스 플랫폼입니다. 이 블로...

blog.naver.com

 

 

k8s 쿠버네티스 매니페스트

쿠버네티스 매니페스트 파일은 YAML/JSON 형식으로 클러스터 리소스를 선언적으로 정의하는 설정 파일입니다. 주요 리소스 배포와 관리를 위해 반드시 숙지해야 하는 핵심 요소를 설명드립니다.

hoosfa.tistory.com

 

반응형