[쿠버네티스] 쿠버네티스 3: 쿠버네티스 pod 명령어 모음

2024. 11. 27. 00:03·클라우드/쿠버네티스

이번 시간에는 pod 관련 명령어를 알아보자!


pod 생성

pod 생성의 3가지 방법

 

(1) run

$ kubectl run webserver --image nginx:1.14 --port 80
$ kubectl run test --image nginx:latest --port -dry-run=client
--image (이미지명:태그)         : pod 이미지 지정
--port (포트번호)                    : 포트번호 지정
--env  (“키=값“)                     : 환경변수 지정
--dry-run (server, client, none) : 실행은 않고 해당 오브젝트 생성 파일(yaml)만 추출
--restart Never                       : 컨테이너 프로세스가 종료되어도 프로세스 재시작 x
   
* 기본적으로 쿠버네티스는, pod에서 실행되는 컨테이너 프로세스가 종료된다면 항상 재시작하여
항상 컨테이너가 동작되도록 함 (restart policy참고)
 
 

(2) create

$ kubectl create -f pod-example.yaml
# pod-example.yaml

apiVersion: v1
kind: Pod
metadata:
  name: pod-example
  labels:
    app: nginx
spec:
    containers:
    - name: nginx
      image: nginx:latest
      ports:
      - containerPort: 80
        protocol: TCP

 

(3) apply

$ kubectl apply -f pod-example2.yaml
# pod-example2.yaml

apiVersion: v1
kind: Pod
metadata:
  name: pod-example2
  labels:
    app: nginx
spec:
    containers:
    - name: nginx
      image: nginx:latest
      ports:
      - containerPort: 80
        protocol: TCP

 

 

🙋‍♀️pod yaml

 


pod 조회

생성한 pod들을 한 눈에 보자!
list 형태로 확인할 수 있으며, 생성 후 날짜, pod 속 컨테이너 개수 등 지표 확인 가능
$ kubectl get pod -o wide                  # 상세한 정보 조회
$ kubectl get pod -o json                   # json 형식으로 출력
$ kubectl get pod --show-labels           # pod의 label 조회

 


pod 상세조회

$ kubectl logs (pod이름)
$ kubectl logs (pod이름) -c (컨테이너이름)       # 컨테이너를 지정하여 로그 조회

 


pod 진입

pod라는 컨테이너 묶음을 생성했다!
pod 속에 있는 컨테이너에게 명령어를 전달하거나, 
pod 속에 있는 컨테이너 프로그램에 직접 접근하여 명령어를 실행하고 싶을 때
pod에 진입하여 해결할 수 있다
$ kubetl exec -it pod-example -- /bin/bash
$ kubetl exec -it pod-example -c contianer1  -- /bin/bash       # 컨테이너 명시 가능

kubectl exec

$ kubectl attach pod-example -it      # 컨테이너와 상호작용

kubectl attach

 


pod 수정

기존의 pod의 특징(이름, label, 컨테이너 이미지, …)을 수정하자

$ kubectl run test --image nginx        # 명령형으로 생성한 경우 (‘test’ pod)
$ kubectl replace -f pod.yaml           # ‘test’ pod 교체
$ kubectl run test2 --image nginx        # 명령형으로 생성한 경우
$ kubectl edit pod test2                 # 편집기를 이용해 리소스 정의 편집

 


pod 삭제

이름, label 선택, 리소스 선택 등 조건을 가진 pod 삭제 가능하다

$ kubectl delete pod mypod 
$ kubectl delete -f ./pod.yaml                      # pod.yaml 파일로 생성한 pod 삭제
$ kubectl delete pod -l name=myLabel 		        # 특정 label을 가진 pod 삭제
$ kubectl delete pod -n my-ns  --all                # 특정 namespace 속 pod 삭제

 

'클라우드 > 쿠버네티스' 카테고리의 다른 글

[쿠버네티스] 쿠버네티스 2: 쿠버네티스 주요 오브젝트, pod  (0) 2024.11.26
[쿠버네티스] 쿠버네티스 1: 쿠버네티스의 컨셉  (2) 2024.11.25
[쿠버네티스] 쿠버네티스 0: 쿠버네티스가 뭐고 왜 쓰나요?  (1) 2024.11.24
.kubeconfig가 뭐고, 없으면 무슨 일이 일어날까?  (0) 2024.01.17
'클라우드/쿠버네티스' 카테고리의 다른 글
  • [쿠버네티스] 쿠버네티스 2: 쿠버네티스 주요 오브젝트, pod
  • [쿠버네티스] 쿠버네티스 1: 쿠버네티스의 컨셉
  • [쿠버네티스] 쿠버네티스 0: 쿠버네티스가 뭐고 왜 쓰나요?
  • .kubeconfig가 뭐고, 없으면 무슨 일이 일어날까?
KyuminKim
KyuminKim
컴퓨터공학과 학생의 이모저모 개발 일지 📝
  • KyuminKim
    이모저모
    KyuminKim
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 프로젝트 (2)
        • first-blog (2)
      • 클라우드 (22)
        • 도커 (14)
        • 쿠버네티스 (5)
        • AWS (2)
      • 알고리즘 (5)
        • 코드트리 (0)
        • 프로그래머스 (5)
      • 백엔드 (8)
      • 프론트엔드 (2)
      • 보안 (3)
        • 드림핵 (2)
      • python (3)
      • 네트워크 (1)
      • 기타 (6)
        • 2025 프로펙트 부트캠프(1차) | 클라우드 엔.. (0)
        • OSSCA | 2024 오픈소스 컨트리뷰션 아카데.. (0)
        • WIK (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    쿠버네티스
    주간레포트
    코드트리조별과제
    apiserver-runtime
    cannot send an empty message
    characterencoding
    탈퇴구현
    코딩트리조별과제
    진단평가
    자료구조
    MySQL
    인코딩
    알고리즘
    코딩테스트
    파이썬
    EC2
    urf8
    고랭
    amazonlinux
    도커
    recover_your_data
    character_set_server
    docker
    도커파일
    오블완
    2024 당근 테크 밋업
    DP
    코드트리
    DB
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
KyuminKim
[쿠버네티스] 쿠버네티스 3: 쿠버네티스 pod 명령어 모음
상단으로

티스토리툴바