Kubernetes

majungha·2023년 5월 1일
1

메모

목록 보기
51/57

오늘의 공부 👍

오늘은 Kubernetes에 대해서 알아보겠습니다.

📝 Kubernetes


  • 컨테이너 관리자로 컨테이너 운영을 자동화하기 위한 도구이다.
  • 쿠버네티스와 동일한 기능을 하는 도구에는 메소스(Mesos), 도커 스웜(Docker Swarm) 등 이 있다.

  • 이런 도구를 컨테이너 오케스트레이션 도구라고 한다.
  • 많은 수의 컨테이너를 협조적으로 연동시키기 위한 통합 시스템이며 이 컨테이너를 다루기 위한 API 및 명령행 도구 등이 함께 제공된다.

▷ Kubernetes Cluster

  • Kubernetes의 여러 리소스를 관리하기 위한 집합체를 말한다.
  • 리소스 중에서 가장 큰 개념은 노드(node)이다.
  • 노드(node)는 클러스터(cluster)의 관리 대상으로 등록된 도커 호스트로, 도커 컨테이너가 배치되는 대상이다.

▶ Master Node

  • Kubernetes Cluster 전체를 컨트롤하는 역할로  API 서버,스케줄러,컨트롤러 매니저, etcd 로 구성된다.
    • api서버 =  본사 전산직
    • etcd = 정보를 수집하는 직원
    • 스케줄러 = 공장의 업무를 담당해주는 직원
    • 컨트롤러 매니저 = 업무를 구체화 시켜주는 직원

▶ Worker Node

  • Master Node에 의해 주어진 명령어를  받고  실제 워크로드에 생성하여 서비스하는 컴포넌트다.
  • Kubelet, kube-proxy, cAdvisor 와  컨테이너 런타임으로 구성된다.
    • kubelet = 공장 전산직
    • kube-proxy = 공장 직원에 업무를 명령을  일하는 직원에게 전송 직원
    • container runtime= 공장기계 또는 일하는 직원
    • cAdisor = 공장에 기계가 잘 돌아가는 지 확인하는 직원

▶ Pod

  • 컨테이너가 모인 집합체의 단위로, 적어도 하나 이상의 컨테이너로 이루어진다.

  • 쿠버네티스(Kubernetes)에서는 결합이 강한 컨테이너를 파드로 묶어 일괄 배포한다.

  • 한 팟 안의 컨테이너는 모두 같은 노드에 배치된다.

  • 팟 하나가 여러 노드에 걸쳐 배치될 수는 없다.

▷ Kubernetes VS Load Balancer

▶ Load balncer

  • 부하를 모니터링해 부화를 분산하는 일을 하게 된다.
  • 가상 컴퓨터(instance) 위에서 docker container가 실행되는데, 인스터스가 실행되는 속도가 느려서 부화를 분산할때 속도면에서 느리다.

▶ Kubernetes

  • 여러 가지 일을 할 수 있지만 부화 모니터링을 통한 부화 분산 역할도 진행할 수 있다.
  • 같은 역할을 하는 Load balancer 와 Kubernetes 차이점은 실행 환경이다.
  • cluster라는 큰 컴퓨터 안에서 docker container가 실행되기 때문에 따로 가상 컴퓨터(instance)를 실행하지 않아도 분산 부화를 할 수 있다.
  • 속도 면에서 Load balncer 보다 비교적 빠르다.

📝 Kubernetes Network


  • 노드박스 하나가 컴퓨터 한대라고 보면 된다.
  • 노드박스 하나에 파드 여러개가 들어가 있다.

  1. 부하분산기 => 외부 IP
  2. 노드포트 => 컴퓨터IP
  3. 클러스터 IP => 내부 IP

마무리 👍


출처 및 참고
코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글