Cloud Native/K8s

k8s 실전: 리소스 관련 명령어

lys4321 2026. 2. 23. 22:11

kubectl create -f <리소스 명세 파일 명> [옵션]

  • 파일이나 표준 입력에 정의된 명세를 사용해 k8s 리소스를 생성하는 명령어
  • 각 리소스(예: deployment, service, RBAC role 등)를 하위 명령어로 가짐
    • 예 : kubectl create service ~
  • 이미 생성되어 있으면 오류를 출력
  • 주로 사용되는 옵션
    • --edit
      • 리소스를 클러스터에 생성하기 전 편집기로 열기
    • --dry-run
      • 리소스를 생성하지 않고 생성될 객체를 미리보기
    • --save-config
      • true 설정 시, 현재 오브젝트의 설정이 어노테이션에 저장되어 나중에 kubectl apply 시 사용
    • --kustomize
      • Kustomize 디렉토리를 처리해 리소스 생성
      • -f 나 -R과 같이 사용이 불가
    • -R(--recursive)
      • -f 로 지정된 디렉터리를 재귀적으로 처리해 하위 디렉터리의 파일도 처리
    • --validate
      • 입력 명세의 유효성을 검사
      • strict
      • warn
      • ignore

kubectl run <Pod 명> --image=<이미지 명> [옵션]

  • 지정된 이미지로 컨테이너를 포함하는 Pod를 생성하고 실행
  • 주로 사용되늠 옵션
    • --labels
      • Pod에 적용할 레이블을 쉼표로 구분해 지정
    • --env
      • 환경변수 지정
    • --port
      • 컨테이너가 노출할 포트 지정
    • -i
      • stdin 연결 시 사용 시
    • -t
      • 가상 터미널(TTY) 사용 시

kubectl expose -f <리소스 정의 파일명 | 타입명> [옵션]

  • k8s 의 리소스를 참조하여 새로운 Service 리소스를 생성하고 노출 시 사용하는 명령어
  • 대상 리소스의 label selector를 가져와 재사용
  • 옵션
    • --selector
    • --recursive
    • --type
    • --cluster-ip
      • Service의 ClusterIP를 직접 지정
    • -f
    • -k
    • --labels
    • --name

kubectl delete <리소스 종류> <리소스 명>

  • k8s 리소스 삭제 명령어
  • 파일명으로 삭제 시: -f <파일명>
  • 리소스 타입으로 삭제 시: pod <Pod 명>, service <service 명> 등
  • 주로 사용되는 옵션
    • --all
      • 전체 타입 삭제 시
    • --all-namespaces
      • 모든 네임스페이스에서 삭제
    • --cascade
      • background/foreground/orphan
    • --force
      • 강제 삭제
    • -grace-period=초
      • 종료 대기 시간 조정
    • --now
      • 바로 삭제

kubectl edit

  • 리소스를 직접 편집할 시, 사용하는 명령어로 에디터를 연다
  • 한 번에 여러 리소스 편집이 가능하지만 변경 사항은 순차적이다.
  • 파일명으로 삭제 시: -f <파일명>
  • 리소스 타입으로 삭제 시: pod <Pod 명>, service <service 명> 등
  • 주로 사용되는 옵션
    • --allow-missing-template-keys
      • 템플릿 필드 누락 시 오류 무시
    • --field-manager
      • 서버사이드 apply 용 필드 소유자 이름
    • -f(--filename)
      • 편집할 파일, 디렉토리를 지정
    • -k(--kustomize)
      • kustomization 디렉토리 처리
    • -o(-output)
      • 출력 형식 지정
    • --output-patch
      • 편집 시, patch 출력
    • --recursive
      • -f 로 지정된 디렉터리를 재귀적으로 처리해 하위 디렉터리의 파일도 처리
    • --save-config
      • 편집할 리소스를 애너테이션에 저장
    • --show-managed-fields
      • managedFields 출력 여부
    • --subresource
      • 하위 리소스 편집
    • --template
      • go-template 편집 시, 템플릿을 지정
    • --validate
      • stric/warn/ignore
    • --window-line-endings
      • 윈도우 스타일 줄바꿈으로 강제 시

kubectl explain <타입 명> [옵션]

  • 리소스와 필드 구조를 확인하는 명령어
  • JSON Path 형식으로 특정 필드까지 탐색이 가능
  • 서버에서 OpenAPI 스키마 정보를 가져와 확인
  • 주로 사용되는 옵션
    • --api-version
    • --recursive
    • -o(--output)

'Cloud Native > K8s' 카테고리의 다른 글

k8s 실전: 앱 배포 및 스케일링 실전  (0) 2026.02.24
k8s 실전: 리소스 업데이터 및 기본 조작 명령어  (0) 2026.02.23
k8s 이론: 스케줄링  (0) 2026.02.23
k8s 이론: 보안  (0) 2026.02.23
k8s 이론: 구성  (0) 2026.02.23