CS 공부/DevOps

Kubernetes 기본 구조와 명령어

imsmile2000 2024. 10. 23. 09:30

쿠버네티스 기본 구조(구성 요소)

  • 클러스터(Cluster)
    • 여러 컴퓨터의 그룹. 쿠버네티스를 사용하여 관리됨
    • 클러스터 내에서 컨테이너는 Pod라는 단위로 구성되어 실행됨
    • 구성 요소
      • 마스터 노드 : 클러스터 관리, 스케줄링, Config 등
        • 구성 요소: API 서버, 스케줄러, 컨트롤러 매니저 등
      • 워커 노드 : 실제로 애플리케이션 컨테이너가 배포되고 실행되는 노드. 포트 호스팅
        • 구성 요소: Kubelet, Kube-proxy

 

  • 노드 (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 상태 조회