hello world
Container, Container Orchestration 본문
✔ Container란?
컨테이너란 실행에 필요한 모든 파일을 포함한 전체 런타임(실행) 환경에서 애플리케이션을 패키징 격리할 수 있는 기술
우리가 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서, 어디서든 쉽게 실행할 수 있도록하는 기술임
전통적인 방식과 VM보다 관리가 용이하지만 관리해야하는 컨테이너 수가 많아지면 그 또한 해결과제로 남음
컨테이너를 사용하는 이유 ?
- 개발팀은 개발에 데브옵스팀은 인프라에 집중할 수 있음
- 각각 독립적으로 실행되기 때문에 하나의 컨테이너 문제가 다른 컨테이너에 영향을 미치지 않음, 즉 자원 격리를 통해 안정성을 얻을 수 있음
- 쿠버네티스와 인터페이스가 잘맞는지가 중요해짐
사용자가 docker에게 app을 생성해달라고 명령함 -> 도커가 컨테이너 생성 --> app 생성
✔ Container Orchestration란?
어플리케이션은 처음에는 한 개의 컨테이너로부터 시작하지만 곧 많은 애플리케이션과 인스턴스로 늘어나게 되면서 여러 머신에서 컨테이너를 운영하게 됨. 컨테이너 오케스트레이션은 여러 개의 컨테이너를 편리하게 관리해주는 작업으로
여러개의 컨테이너를 자동으로 배포, 확장 및 관리를 수행하는 기술
대표적인 컨테이너 오케스트레이션 도구로는 Kubernates, Docker Swarm, Apache Mesos 등 이있음
컨테이너 오케스트레이션은 말 그대로 컨테이너들을 지휘하는 메인 컨트롤러가 있고 그 지휘에 맞춰 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화하는 것을 말합니다. 컨테이너를 사용하는 어떤 환경에서든 사용할 수 있음.
여러 컨테이너를 묶은 것을 포드(Pod)라고 하고, 여러 대의 서버에 각 컨테이너를 적절히 배치하고 관리하는 것을 오케스트레이션(Orchestration)이라고 한다
✔ Container Orchestration 종류
[Kubernetes(쿠버네티스)]
구글이 개발하고 현재 Cloud Native Compution Foundation이 관리하는 가장 인기 있는 오케스트레이션 도구
1) 장점
- 대규모 애플리케이션 관리에 적합
- 자동 확장 및 복구 기능 제공
- 클라우드 서비스와 쉽게 통합 가능
2) 단점
- 높은 초기설정 비용
- 설정 및 운영이 복잡함
App을 컨테이너에 담아서 배포한다.!
사용자가 쿠버네티스에게 app 생성 명령을 날림 --> 쿠버네티스가 도커한테 한번 더 전달함
--> 도커를 통해 컨테이너 생성 --> app 생성
[Docker Swarm(도커 스웜)]
Docker에서 제공하는 기본 컨테이너 오케스트레이션 도구로 간단한 설정과 사용이 강점
1) 장점
- 간단한 설정과 운영이 가능하여 빠르게 도입할 수 있음
- 자동 부하 분산 및 노드 간 네트워크 지원
- 클라우드 서비스와 쉽게 통합 가능
2) 단점
- 확장성 및 기능면에서 쿠버네티스보다 부족함
- 대규모 환경에서 사용 시 한계
- 보안에 취약
- 쿠버네티스와 인터페이스가 잘맞지않음
'네트워크 > 쿠버네티스' 카테고리의 다른 글
쿠버네티스 환경 구축하기 (0) | 2025.04.13 |
---|