ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [EKS] Kuberetes 구조
    Amazon Web Service (AWS)/EKS 2022. 8. 1. 14:52
    728x90

    ❗쿠버네티스의 구조

     

    • 쿠버네티스는 하나의 컨트롤 플레인(마스터 노드) 와 여러 개의 워커 노드로 구성 되어있습니다.
    • 클라이언트가 쿠버네티스를 동작하기 위해 kubectl 명령어를 사용하면 컨트롤 플레인의 API server 에서 그 명령어를 받아 해석하고 Scheduler와 Controller Manager에게 명령을 전달 합니다.
    • Controller Manager는 클라이언트가 보낸 kubectl 명령대로 클라이언트가 원하는 상태로 쿠버네티스를 체크 합니다. (갑자기 Pod가 다운되면 Controller Manager가 체크하여 복구합니다)
    • Scheduler는 kubectl 명령대로 Pod를 생성하는데 Worker node의 상태를 체크해서 가장 적합한 node에 Pod를 생성 시켜주는 역할을 합니다.
    • etcd는 컨트롤 플레인에 존재하는 저장소로 key value 값으로 되어 있습니다. 각 Worker node의 상태와 같은 정보를 가지고 있고 Worker node의 Kube-proxy를 통해 API Server에 전달되며 그 값이 etcd에 저장 됩니다.
    • Kubelet은 컨트롤 플레인에서 오는 명령을 가지고 Pod 안에 컨테이너를 작동 시키는 역할을 합니다.
    • Controller Runtime은 실제 컨테이너를 실행시키는 것으로 예전에는 Docker를 사용 했으나, Dockershim 이슈로 Containerd를 Controller Runtime으로 사용하고 있습니다.

    • Worker Node에는 여러 개의 Pod가 만들어질 수 있고, Pod 안에는 또 여러가지 Container를 만들 수 있습니다. (저희는 하나의 Pod에 한 개의 Service Container와 prometheus에서 확인을 위한 node_exporter를 할당? 하면 될 것 같습니다)
    • Pod안의 Container들은 서로 네트워크를 공유 합니다.
    728x90
    반응형
    LIST

    댓글

Designed by Tistory.