본문 바로가기
docker & kubernetes

쿠버네티스 사용하기 5 | Docker&Kubernetes 학습 37

by 그갸거겨 2025. 1. 1.
728x90
반응형
이번엔 쿠버네티스의 명령어 몇 가지를 직접 다뤄보자.
이전 글에서 사용한 매니페스트 파일을 사용할 예정이다.
매니페스트 파일로 파드의 개수 늘리기

실습 내용

사용할 파일

항목
매니페스트 파일 이름 apa00dep.yml

사용할 커맨드

커맨드 내용 옵션
apply 리소스의 변경 사항을 반영 -f
get 리소스의 상태를 화면에 출력  

1. 디플로이먼트의 매니페스트 파일 수정

  • 앞서 작성했던 매니페스트 파일(apa00dep.yml)에서 레플리카의 수를 3에서 5로 수정하자.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: apa00dep
spec:
  selector:
    matchLabels:
      app: apa00kube
  replicas: 5		← 여기를 수정
  template:
    metadata:
      labels:
        app: apa00kube
    spec:
      containers:
      - name: apa00ex91
        image: httpd
        ports:
        - containerPort: 80

2. 매니페스트 파일 읽어 들이기

  • 수정한 매니페스트 파일을 쿠버네티스에 읽어 들이고 그 내용을 리소스에 반영한다.
  • 터미널 창에 입력할 명령 - Widnows
    • kubectl apply -f C:\Users\82103\Documents\Doker_Kubernetes\kube_folder\apa00dep.yml

3. 파드의 수가 늘어났는지 확인

  • 파드의 목록을 화면에 출력해 새로운 파드가 생성됐고, 총 5개의 파드가 확인된다.
  • 터미널 창에 입력할 명령: kubectl get pods

매니페스트 파일로 아파치를 nginx로 바꾸기
  • 파드의 수 말고도 컨테이너의 종류 등 변경할 수 있는 것이 많다.
  • 지금까지는 아파치 컨테이너를 생성해 왔는데, 이를 nginx 컨테이너로 변경해보자.
    • 이미지 이름만 httpd에서 nginx로 수정하면 된다.

실습내용

사용할 파일

항목
매니페스트 파일 이름 apa00dep.yml

사용할 커맨드

커맨드 내용 옵션
apply 리소스의 변경 사항을 반영 -f
get 리소스의 상태를 화면에 출력  

1. 디플로이의 매니페스트 파일 수정

  • 앞서 작성했던 매니페스트 파일(apa00dep.yml)에서 image 항목의 값을 httpd에서 nignx로 변경하자.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: apa00dep
spec:
  selector:
    matchLabels:
      app: apa00kube
  replicas: 3
  template:
    metadata:
      labels:
        app: apa00kube
    spec:
      containers:
      - name: apa00ex91
        image: nginx		←  여기를 수정
        ports:
        - containerPort: 80

2. 매니페스트 파일을 읽어 들이기

  • 터미널 창에 입력할 명령 - Windows
    • kubectl apply -f C:\Users\82103\Documents\Doker_Kubernetes\kube_folder\apa00dep.yml

3. 동작 확인

  • 웹 브라우저에서 http://localhost:30080에 접근해 nginx 초기 화면이 나타나는지 확인한다.

수동으로 파드를 삭제한 후 자동복구 되는지 확인
  • 수동으로 파드를 하나 삭제한 후,
    쿠버네티스가 '바람직한 상태'를 유지하기 위해 자동으로 파드를 생성하는지 확인하자.

실습내용

사용할 파일

항목
매니페스트 파일 이름 apa00dep.yml

사용할 커맨드

커맨드 내용 옵션
delete 리소스를 삭제 -f
get 리소스의 상태를 화면에 출력  

1. get 커맨드로 파드의 목록 확인

  • 파드의 목록을 출력하고 목록에서 파드의 ID를 확인한다.
  • 어떤 파드라도 상관 없으니, 한 파드의 ID(목록에서 NAME 항목)를 기억하자.
  • 터미널 창에 입력할 명령: kubectl get pods

2. 수동으로 delete 커맨드를 실행해 파드를 하나 삭제

  • ID를 기억해둔 파드를 delete 커맨드를 사용해 삭제하자
  • 터미널 창에 입력할 명령: kubectl delete pod apa00dep-dccc78f7c-4tkl4

3. 삭제된 파드가 다시 보충되는지 확인

  • 파드의 목록을 출력해 삭제했던 ID의 파드가 사라지고 다른 ID의 파드가 보충되는지 확인하자
  • AGE 항목의 시간을 보고 알 수도 있다.
  • 터미널 창에 입력할 명령: kubectl get pods

생성했던 디플로이먼트와 서비스 삭제
  • 파드는 레플리카 수를 0으로 수정하면 모두 삭제되지만 이것만으로는 디플로이먼트와 서비스가 남아있게 된다.

실습 내용

사용할 커맨드

커맨드 내용 옵션
delete 리소스를 삭제 -f
get 리소스의 상태를 화면에 출력  

1. delete 커맨드로 디플로이먼트 삭제

  • delete 커맨드와 디플로이먼트의 매니페스트 파일(apa00dep.yml)을 사용해 디플로이먼트를 삭제한다.
  • 터미널 창에 입력할 명령 - Windows
    • kubectl delete -f C:\Users\82103\Documents\Doker_Kubernetes\kube_folder\apa00dep.yml

2. 디플로이먼트의 삭제 확인

  • 터미널 창에 입력할 명령: kubectl get deployment

3. delete 커맨드로 서비스 삭제

  • 터미널 창에 입력할 명령 - Windows
    • kubectl delete -f C:\Users\82103\Documents\Doker_Kubernetes\kube_folder\apa00ser.yml

4. 서비스의 삭제 확인

  • 터미널 창에 입력할 명령: kubectl get service

728x90