7. 쿠버네티스 컴포넌트 - 레플리카셋

※ 간단 개념 정리
□ 네임스페이스 :쿠버네티스 클러스터에서 사용되는 리소스들을 구분해서 관리하는 그룹. 특별히 지정하지 않으면 기본적으로 default 그룹에 지정되며, 쿠버네티스 시스템에서 사용되는 것은 kube-system.
□ 레플리카셋 : 파드의 갯수를 지정한대로 맞춰주는 역할
쿠버네티스의 전체 컴포넌트는 공식문서에서 확인하자
https://kubernetes.io/ko/docs/concepts/overview/components/
쿠버네티스 컴포넌트
쿠버네티스 클러스터는 컴퓨터 집합인 노드 컴포넌트와 컨트롤 플레인 컴포넌트로 구성된다.
kubernetes.io
설치된 쿠버네티스 구성요소는 아래와 같이 확인 가능
# --all-namespaces를 통해 전체 네임스페이스 대상 조회
kubectl get pods --all-namespaces

앞서 아래와 같이 nginx 파드를 배포했었다.
# --image=nginx 로 생성할 이미지 이름 지정
kubectl create deploy nginx-deploy --image=nginx

1. 레플리카셋
레플리카셋은 지정된 수의 파드 레플리카가 항상 실행되기를 보장한다.
레플리카셋을 5로 늘려보면
# 디플로이된 파드에 대해 레플리카셋을 5로 설정
kubectl scale deployment nginx-deploy --replicas=5
# 레플리카셋 확인
kubectl get rs
# 레플리카 상태 확인
kubectl describe rs/레플리카셋이름


정말 5개가 유지되는지 보기위해 파드 하나를 지운 후 확인하면 새로운 파드가 생성되어 여전히 5개를 유지하고있다

2. cordon : 특정 노드에 파드가 할당되지 않게 막기. 특히, 문제가 발생한 노드가 있을 경우, 해당 노드로의 스케쥴링을 막기 위함
# 특정 노드에 대한 스케줄링 중지
kubectl cordon 노드명
# cordon 해제
kubectl uncordon 노드명

# 어디까지했나


# 참고
https://kubernetes.io/ko/docs/concepts/workloads/controllers/replicaset/
레플리카셋
레플리카셋의 목적은 레플리카 파드 집합의 실행을 항상 안정적으로 유지하는 것이다. 이처럼 레플리카셋은 보통 명시된 동일 파드 개수에 대한 가용성을 보증하는데 사용한다. 레플리카셋의
kubernetes.io
https://kubernetes.io/ko/docs/concepts/architecture/nodes/#수동-노드-관리
노드
쿠버네티스는 컨테이너를 파드내에 배치하고 노드 에서 실행함으로 워크로드를 구동한다. 노드는 클러스터에 따라 가상 또는 물리적 머신일 수 있다. 각 노드는 컨트롤 플레인에 의해 관리되며
kubernetes.io