IT/Kubernetes

[kubernetes/쿠버네티스] pod 관리 명령어

HK92 2024. 6. 21. 17:21

1. pod 생성

  • pod란 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위
  • 간단하게 pod는 하나 이상의 container의 그룹이다.
  • pod를 생성하는 명령어는 run, create, apply 3가지 방법이 있다.
  • pod를 생성하는 방법은 2가지로 CLI 방법yaml 파일을 이용한 방법이 있다.

1.1 kubectl run 

# kubectl run nginx --image=nginx           # nginx라는 이름으로 pod 실행

# kubectl get pod -o wide           # pod 확인

# kubectl expose pod nginx --type=Nodeport --port=80     # 80번 포트 사용

# kubectl get service                   # 서비스 확인

  • run은 가장 간단하게 pod를 생성하는 명령어
    실행 커맨트에 여러 정보를 입력해서 생성
    실행 시 입력한 정보가 남지않아서 관리가 어렵다
    간단한 생성 및 테스트 시에 유용

1.2 kubectl create 

# kubectl create deployment httpdgroup --image=httpd --replicas=3       # httpdgroup 이라는 이름으로 pod 3개 실행

# kubectl create -f httpd.yaml                                                       # yaml 파일을 참고하여 pod 생성

# kubectl get deployments.apps                                                  # pod 확인

  • create deployment는 여러개의 pod를 생성가능(deployment는 한개 이상의 pod의 그룹)
    동일한 이름의 pod가 있을 경우 에러가 발생

1.3 kubectl apply 

# kubectl apply -f httpd.yaml                              

# kubectl get deployments.apps                                    

  • 동일한 이름의 pod가 없을 경우 생성
    동일한 이름의 pod가 있을 경우에는 변경된 부분을 수정 및 업데이트를 한다.

2. pod 접속 및 포트 포워딩

2.1 pod 접속

# kubectl exec nginx -it -- /bin/bash       # pod 접속

root#nginx:/#         # nginx 접속상태

  • nginx에는 사이트 접속 시 나타나는 /usr/share/nginx/html/index.html 파일이 있다.

2.2 포트 포워딩

# kubectl port-forward nginx 8080:80       # localhost에 8080 접속 시 pod의 80 으로 접속

# curl localhost:8080                                 # 접속 테스트

 

 

3. pod 수정 및 삭제

# kubectl edit pods [pod-name]            # 이게 pod 수정 시 기본 형식이고 아래는 deployment 형식으로 배포했을 때 수정 명령어이다

# kubectl edit deployment.apps httpdgroup               # 실행 시 아래 vi 편집화면이 나타난다

20번 줄에서 replicas를 3 → 5 변경하면 pod 가 5개로 변경된다.

 

# pod 삭제하기

# kubectl delete {오브젝트} {이름}