Develop

쿠버네티스_따배쿠 강의 정리(쿠버네티스 아키텍처 - Kubernetes 동작원리)

oaho 2024. 8. 21. 17:43
반응형

쿠버네티스에서 컨테이너 동작 Flow

개발자 or 운영자: mainUI or login 컨테이너 만듦

-> Docker Hub 만듦

-> 컨테이너를 Hub에 저장

-> master node에게 보냄

 

쿠버네티스 컴포넌트

  • 마스터 컴포넌트
    • etcd : key-value : 타입의 저장소
    • kube-apiserver : k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사
    • kube-scheduler : 파드를 실행할 노드 선택
    • kube-controller-manager : 파드를 관찰하며 개수를 보장
  • 워커 노드 컴포넌트
    • kubelet : 모든 노드에서 실행되는 k8s 에이전트, 데몬 형태로 동작
    • kube-proxy : k8s의 network 동작을 관리, iptables rule을 구성
    • 컨테이너 런타임: 컨테이너를 실행하는 엔진 - docker, containerd, runc

쿠버네티스 아키텍처

명령어: kubectl create ui nginx~~~

→ 요청⇒ API가 명령어 받아줌

 

전체적인 FLOW

kubelet : c:Advisor 포함, 현재 워커로드의 상태정보수집(Cadvisor로)→ master에게 전달, etcd에 저장

 

API : 문법체크→ etcd 저장 확인 → Scheduler : 어떤 node가 적절함? ⇒ etcd저장소를 바탕으로 응답함

→ nginx 실행해줘!! ⇒ node2에 kuebelet → docker에게 요청 → hub에서 받아와서 동작 실행

 

  •  Pod 개수 보장: Controller

 ex) nginx 웹 서버 3개 실행하라는 명령어를 받음 -> 하나의 파드가 문제가 생기면 -> 다시 생성하도록 API에게 전달함 -< 
Scheduler가 어디에 배치해야할지 다시 찾아봄

  • 어디에 배치해야 좋을지 : Scheduler
  • 메인 : API
  • CoreDNS: 필요하다면 추가로

애드온

  • 네트워크 애드온 : CNI - weave, calico, flaneld, kube-route
  • dns 애드온 : coreDNS
  • 대시보드 애드
  • 컨테이너 자원 모니터링 : cAdvisor
  • 클러스터 로깅
    • 컨테이너 로그, k8s운영 로그들을 수집해서 중앙화
    • ELK(ElasticSearch, Logstash, Kibana), EFK(ElasticSearch, Fluentd, Kibana), DataDog

웹 UI(대시보드) : 쿠버네이트 관리

https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

반응형

'Develop' 카테고리의 다른 글

쿠버네티스 정리  (0) 2024.10.27
쿠버네티스_따배쿠 강의 정리  (0) 2024.08.21
쿠버네티스_따배쿠 강의 정리  (0) 2024.08.21
[React] vs code에서 yarn start 에러  (0) 2024.04.01
Git_Repository 삭제  (0) 2023.07.08