네트워크

쿠버네티스, 도커, 컨테이너 개념 정리

민초부 2024. 8. 17. 17:32
반응형

 

서비스 하나를 다 맡으면서 서버 데브옵스적인 요소에 대해 개념 정리가 필요한 것들이 많아 복습겸 정리 

 

  • K8S, 쿠버네티스란 무엇이냐? 
    • 여러 컨테이너를 통합 관리를 하는 오케스트레이션 플랫폼
  • 그럼 Docker는 무엇인가?
    • 애플리케이션을 컨테이너라는 단위로 패키징, 배포, 실행할 수 있게 해주는 플랫폼 
  • 그럼 Container는 무엇인가?
    • 애플리케이션 코드와 그 실행에 필요한 모든 라이브러리, 종속성, 설정 파일 등을 하나의 패키지로 묶어 실행시킬 수 있게 한 것 
    • 하나의 운영체제에 여러 컨테이너 (Application)을 올릴 수 있게 하고 그런걸 컨테이너 방식이라 함
  • 그럼 그래서 Docker는 Container를 어떻게 관리한다는건데?
    • Dockerfile을 통해 애플리케이션, 실행 환경 등을 정의하여 컨테이너 이미지를 생성한다.
    • 생성된 컨테이너 이미지를 바탕으로 실제로 애플리케이션을 실행하고 이 때 각 컨테이너가 독립적으로 실행될 수 있도록 시스템 리소스를 할당한다.
    • AWS ECR과 같은 이미지 레지스트리에 이런 컨테이너 이미지들을 업로드하고 다운로드하여 사용한다.
  • 그럼 K8S는 도커와 똑같이 컨테이너를 관리하는 플랫폼인데 뭐가 다름?
    • 일단 K8S은 상위 플랫폼임 그리고 그냥 플랫폼이 아니라 K8S는 오케스트레이션 플랫폼이라는 것에 포커스를 맞추면 된다
      • 컨테이너 간의 통신을 관리하고, 트래픽을 적절히 분산시킨다.
      • 애플리케이션을 자동으로 배포하고, 문제가 발생할 경우 자동으로 복구하거나 대체 컨테이너를 실행하여 커버한다.
      • K8S가 관리하는 노드 (서버)의 군집인 클러스터의 리소스를 관리한다.
    • 즉 운영단계에서 컨테이너들의 조율을 하며 운영하는 역할을 하는 것이 K8S이고 그 전까지 이를 위해 개발, 컨테이너 이미지 생성 관리등을 하는 플랫폼이 도커라고 보면 편함

 

 

 

 

 

 

 

 

 

반응형