devlos
Devlos Archive
devlos
전체 방문자
오늘
어제
12-10 07:10

최근 글

  • 분류 전체보기 (107)
    • 프로젝트 (1)
    • MSA 설계 & 도메인주도 설계 (9)
    • 클라우드 컴퓨팅 & NoSQL (87)
      • [Cilium Study] 실리움 스터디 (8)
      • [KANS] 쿠버네티스 네트워크 심화 스터디 (12)
      • [T101] 테라폼 4기 스터디 (8)
      • [CICD] CICD 맛보기 스터디 (3)
      • [T101] 테라폼 기초 입문 스터디 (6)
      • [AEWS] Amazon EKS 워크숍 스터디 (7)
      • [PKOS] 쿠버네티스 실무 실습 스터디 (7)
      • Kubernetes (13)
      • Docker (7)
      • Redis (1)
      • Jenkins (3)
      • Terraform (1)
      • Ansible (4)
      • Kafka (1)
    • 프로그래밍 (7)
      • Spring Boot (5)
      • Broker (1)
    • 성능과 튜닝 (1)
    • ALM (0)
    • 기타 (2)

인기 글

태그

  • 테라폼
  • cilium
  • kOps
  • 쿠버네티스
  • MSA
  • Kubernetes
  • PKOS
  • docker
  • DevOps
  • 쿠버네티스 스터디
  • 도커
  • 데브옵스
  • CloudNet@
  • terraform
  • t101 4기

티스토리

최근 댓글

hELLO · Designed By 정상우.
devlos

Devlos Archive

쿠버네티스(Kubernetes) 공식 튜토리얼 #6
클라우드 컴퓨팅 & NoSQL/Kubernetes

쿠버네티스(Kubernetes) 공식 튜토리얼 #6

2021. 4. 4. 02:10
반응형

 

이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 5단계를 실습해 보도록 한다.

2021.04.03 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #5

 

쿠버네티스(Kubernetes) 공식 튜토리얼 #5

이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 4단계를 실습해 보도록 한다. 2021.04.02 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #4 쿠버네티스(Kubernetes) 공식 튜토리

devlos.tistory.com

 

튜토리얼 모듈 5는 "Running Multiple Instances of Your App"에 관한 것이다.

쿠버네티스  kubectl scale을 이용하여 Depolyment를 확장하고 로드벨런싱 기능을 확인해 보는 것이다.


1.  kubectl get deployments 실행

 

$ kubectl get deployments

 

 

 

 

실행결과 하나의 pod이 있는 것을 확인할 수 있다.


2.  kubectl get rs 실행

 

$ kubectl get rs

 

 

kubectl get rs  실행결과

 

kubectl get rs를 실행하면 하나의 리플리카셋(ReplicaSet)을 확인할 수 있다.

 

리플리카셋의 이름은 위에서 보는 것과 같이 [DEPLOYMENT-NAME]-[RADDOM_STRING]으로 세팅된다.

 

실행결과에 있는 두 컬럼의 의미는 다음과 같다.

 

  • DESIRED: Deployment 생성 시 정의해둔 애플리케이션의 복제본 수
  • CURRENT: 현재 실행 중인 복제본 수

3. Scale 수 확장하기

 

$ kubectl scale deployments/kubernetes-bootcamp --replicas=4

 

 

$ kubectl scale deployments/kubernetes-bootcamp --replicas=4  실행결과

 

명령어를 실행한 다음 deployment를 다시 확인해보면 설정이 변경된 것을 확인할 수 있다.

 

$ kubectl get deployments

 

 

$ kubectl get deployments  실행결과

 

 그다음 pod들의 정보를 확인해보면 다음과 같다.

 

$ kubectl get pods -o wide

 

 

$ kubectl get pods -o wide  실행결과

 

-o wide는 get pods의 실행결과를 디테일하게 보여주는 역할을 한다.

4개의 Pods들이 각자 다른 IP주소를 할당받고 실행되고 있는 것을 확인할 수 있다.


4. kubectl describe deployments/kubernetes-bootcamp 실행결과

 

$ kubectl describe deployments/kubernetes-bootcamp

 

 

$ kubectl describe deployments/kubernetes-bootcamp 실행결과

 

Deployment를 확인해 본 결과 Replicas의 결과가 4개인 것을 확인할 수 있다.


5. 트래픽 분산 확인

 

다음으로 확인할 사항은 서비스의 트래픽이 잘 분산되는지를 확인해 보는 것이다.

 

$ kubectl describe services/kubernetes-bootcamp

 

 

kubectl describe services/kubernetes-bootcamp 실행결과

 

현재 트래픽 정책이 Cluster로 변경되어 있는 것을 확인할 수 있다.

 

이제 노드의 포트를 확인하고 요청을 보내면 각자 다른 클러스터가 응답을 처리하는 것을 확인할 수 있다.

$ export NODE_PORT=$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')
$ echo NODE_PORT=$NODE_PORT

노드의 포트를 저장하고, 

 

 

NODE_PORT 실행결과

 

지속적으로 에코 서버가 실행되도록 요청을 보내면 클러스터가 나누어서 트래픽을 처리하는것을 확인할 수 있다.

 

$ curl $(minikube ip):$NODE_PORT

 

 

curl $(minikube ip):$NODE_PORT  실행결과


6. 리플리카셋 줄이기

 

$ kubectl scale deployments/kubernetes-bootcamp --replicas=2

 

 

$ kubectl scale deployments/kubernetes-bootcamp --replicas=2  실행결과

 

scale을 사용해서 리플리카 셋을 2개로 줄이고 나서 deployments를 확인한다.

 

$ kubectl get deployments

 

 

$ kubectl get deployments 실행결과

 

 

Deployment의 kubernetes-bootcamp의 READY가 2개로 줄어든 것을 확인할 수 있다.

 

$ kubectl get pods -o wide

 

 

$ kubectl get pods -o wide  실행결과

 

Pod도 확인해보면 2개로 줄어든 것을 확인할 수 있다.

 

이번 포스팅에서는 리플리카셋을 확장 축소해보는 기능을 사용해보았다. 

 

다음 포스팅에서는 6번째 튜토리얼인 "Performing a Rolling Update"에 대해서 진행 내용을 정리해보려고 한다.


참고자료

[1] kubernetes.io | Kubernetes Tutorial | 링크

 

튜토리얼

운영 수준의 컨테이너 오케스트레이션

kubernetes.io

 

반응형

'클라우드 컴퓨팅 & NoSQL > Kubernetes' 카테고리의 다른 글

[Kubernetes]Nginx 이미지를 이용한 간단한 쿠버네티스 프로젝트  (0) 2022.07.13
쿠버네티스(Kubernetes) 공식 튜토리얼 #7  (0) 2021.04.04
쿠버네티스(Kubernetes) 공식 튜토리얼 #5  (0) 2021.04.03
쿠버네티스(Kubernetes) 공식 튜토리얼 #4  (0) 2021.04.02
쿠버네티스(Kubernetes) 공식 튜토리얼 #3  (0) 2021.04.01
    devlos
    devlos
    안녕하세요, Devlos 입니다. 새로 공부 중인 지식들을 공유하고, 명확히 이해하고자 블로그를 개설했습니다 :) 여러 DEVELOPER 분들과 자유롭게 지식을 공유하고 싶어요! 방문해 주셔서 감사합니다 😀 - DEVLOS -

    티스토리툴바