CS 공부/DevOps
Kubernetes 기본 구조와 명령어
imsmile2000
2024. 10. 23. 09:30
쿠버네티스 기본 구조(구성 요소)
- 클러스터(Cluster)
- 여러 컴퓨터의 그룹. 쿠버네티스를 사용하여 관리됨
- 클러스터 내에서 컨테이너는 Pod라는 단위로 구성되어 실행됨
- 구성 요소
- 마스터 노드 : 클러스터 관리, 스케줄링, Config 등
- 구성 요소: API 서버, 스케줄러, 컨트롤러 매니저 등
- 워커 노드 : 실제로 애플리케이션 컨테이너가 배포되고 실행되는 노드. 포트 호스팅
- 구성 요소: Kubelet, Kube-proxy
- 마스터 노드 : 클러스터 관리, 스케줄링, Config 등
- 노드 (Node)
- 클러스터를 구성하는 개별 컴퓨터(물리/가상)
- 쿠버네티스에 의해 관리됨. 여러 Pod 실행 환경 제공
- 애플리케이션의 부하를 분산하고 고가용성 제공
- 구성 요소
- Kubelet: 노드에서 실행되는 주요 쿠버네티스 에이전트, 마스터 노드의 지시에 따라 컨테이너 시작, 중지 및 유지 관리
- Kube-proxy: 네트워크 프록시와 로드 밸런서 역할
- 컨테이너 런타임: Docker, containerd, CRI-O 등
- 쿠버네티스 핵심 컨포넌트
- API 서버
- etcd
- 스케줄러
- 컨트롤러 매니저
- 코어 DNS
- 네트워크 Plugin
kubectl 명령어 정리
- 쿠버네티스 켜기, 끄기
minikube start
minikube stop
- kubectl config
- kubectl config current-context
- `` delete-cluster, context, user
- `` get-clusters, contexts, users
- `` rename-context
- `` set, cluster, context, credentials
- `` unset
- `` use-context
- `` view
- kubectl version # 클라이언트, 서버 버전 확인
- 클러스터 정보 조회
- kubectl cluster-info # 클러스터 정보 조회
- kubectl get componentstatuses # 각 컴포넌트의 상태 확인
- 노드 및 Pod 상태 확인
- kubectl get nodes # 모든 노드의 상태 확인
- kubectl get pds --all-namespaces # 모든 네임스페이스에 걸쳐있는 pod 상태 조회