이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 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를 실행하면 하나의 리플리카셋(ReplicaSet)을 확인할 수 있다.
리플리카셋의 이름은 위에서 보는 것과 같이 [DEPLOYMENT-NAME]-[RADDOM_STRING]으로 세팅된다.
실행결과에 있는 두 컬럼의 의미는 다음과 같다.
- DESIRED: Deployment 생성 시 정의해둔 애플리케이션의 복제본 수
- CURRENT: 현재 실행 중인 복제본 수
3. Scale 수 확장하기
$ kubectl scale deployments/kubernetes-bootcamp --replicas=4

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

그다음 pod들의 정보를 확인해보면 다음과 같다.
$ kubectl get pods -o wide

-o wide는 get pods의 실행결과를 디테일하게 보여주는 역할을 한다.
4개의 Pods들이 각자 다른 IP주소를 할당받고 실행되고 있는 것을 확인할 수 있다.
4. kubectl describe deployments/kubernetes-bootcamp 실행결과
$ kubectl describe deployments/kubernetes-bootcamp

Deployment를 확인해 본 결과 Replicas의 결과가 4개인 것을 확인할 수 있다.
5. 트래픽 분산 확인
다음으로 확인할 사항은 서비스의 트래픽이 잘 분산되는지를 확인해 보는 것이다.
$ 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
노드의 포트를 저장하고,

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

6. 리플리카셋 줄이기
$ kubectl scale deployments/kubernetes-bootcamp --replicas=2

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

Deployment의 kubernetes-bootcamp의 READY가 2개로 줄어든 것을 확인할 수 있다.
$ 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 |