본문 바로가기
Develop

[k8s] Kubernetes 주요 구성 요소

by 너드나무 2024. 10. 2.
반응형

1. Pod

  • 쿠버네티스에서 가장 작은 배포 단위로, 하나 이상의 컨테이너를 포함한다.
kubectl get pods       # 현재 모든 파드 목록 조회
kubectl describe pod <pod_name>  # 특정 파드의 상세 정보 확인
kubectl delete pod <pod_name>    # 특정 파드 삭제
kubectl logs <pod_name>          # 파드의 로그 출력

2. Node

  • Pod를 실행할 수 있는 물리적 또는 가상 머신이다.
kubectl get nodes          # 현재 클러스터 내 노드 조회
kubectl describe node <node_name>  # 특정 노드의 상세 정보 확인
kubectl cordon <node_name>         # 노드 스케줄링 불가로 설정
kubectl uncordon <node_name>       # 노드 스케줄링 가능으로 설정

3. Label

  • Pod나 Node 등에 태그를 추가하여 특정 리소스를 식별하는 데 사용된다.
kubectl label pod <pod_name> <key>=<value>  # 특정 파드에 레이블 추가
kubectl get pods --selector <label_key>=<label_value>  # 특정 레이블을 가진 파드 조회

4. Kubelet

  • 각 워커 노드에서 파드를 관리하고, 컨테이너 실행을 담당하는 에이전트이다.

5. Etcd

  • 클러스터 상태를 저장하는 분산 키-값 데이터베이스이다.

6. Replication Controller

  • Pod의 복제본을 관리하고 원하는 상태를 유지한다 .
kubectl get rc                  # 현재 레플리케이션 컨트롤러 조회
kubectl scale rc <rc_name> --replicas=<number>  # 파드 복제본 개수 변경

7. Scheduler

  • Pod를 Worker Node에 배치하는 역할을 한다.

8. API Server

  • 클러스터와의 모든 통신을 담당하는 컴포넌트로, kubectl 명령어를 통해 통신한다.

728x90
반응형