본문 바로가기
개발/개발공부

Kubernetes Components (Worker Node) / 쿠버네티스 컴포넌트, 워커 노드, 노드 컴포넌트

by 치킨개발자 2022. 12. 28.
728x90

Kubernetes Node Components


worker node component of kubernetes (https://kubernetes.io/docs/concepts/overview/components)

Control-plane component를 볼때 확인했던 Kubernetes component 구성요소이다.

Worker node component로 해당되는 것들은 그림에 따로 빨간색으로 표시해둔 것들이다.

  - kubelet

        각 노드에서 실행되는 agent

        노드의 파드, 컨테이너들의 실행을 보장하도록 관리해주는 컴포넌트

        파드의 상태(스케줄링, 모니터링, 종료 등)를 kube-apiserver에 지속적으로 전달

  - kube-proxy

        각 노드에서 실행되는 네트워크 프록시, 서비스의 구현부

        네트워크 규칙을 관리, 클러스터 외부에서 파드와 통신이 가능하도록 함

        원래는 userspace에서 proxy동작을 하기때문에 이름이 이렇게 붙여졌지만, kernelspace에서도 처리가능하도록 바뀌었다고 함

        userspace에서는 iptables 구성 + proxy 역할, kernelspace로는 iptables 구성만 해주고 pod로 직접 연결

  - Container Runtime(CRI)

        Kuberenetes에 어떤 container runtime을 사용할지 설정

        다양한 container runtime이 존재. Docker, OCI, CRI... 등등이 있음

        Docker가 가장 접하기 쉬운데 점점 deprecated되고 있고 OCI표준 containerd로 정립되는 중

        익숙함이나 Docker의 편리성때문에 아직 Docker를 사용중인데 빠른 학습, 적응이 필요 (본인도..)

        (참고)Containerd를 Docker와 이해하기 쉽게 비교해둔 글

 

Worker Node 동작 순서


Kubernetes worker node의 동작

앞서 Control plane 동작순서와 이어지는 내용 

합쳐서 정리하자면 중간중간 바뀌는 명세는 지속적으로 etcd에 업데이트되는 것이고, 각 컴포넌트간 순서, 역할에 맞게 동작하며 Pod가 띄워지는 것

추가적으로 Pod에서 어떻게 network가 구성되는지? Component간 인증은 어떻게 이뤄지는지? etcd란 무엇인지? kube-scheduler에서 어떻게 nodeAffinity나 weight가 계산되는지? 등의 학습이 필요.. 쓰다보니까 너무 많네...

반응형

댓글