[쿠버네티스] 쿠버네티스 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  (1) 2024.11.26
[쿠버네티스] 쿠버네티스 1: 쿠버네티스의 컨셉  (3) 2024.11.25
[쿠버네티스] 쿠버네티스 0: 쿠버네티스가 뭐고 왜 쓰나요?  (2) 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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바