목차
- Container의 특징
- Container Orchestration
- Container를 관리하는 방법에는 뭐가 있을까?
도커는 정말 편하다. 그럼 그 중에서도 도커를 관리하는 도구는 뭐가 있을까? 필자는 리눅스 명령어로 도커 컨테이너를 관리 한 경험이 있다.
1. Container의 특징
- 가상머신과 비교하여 컨테이너 생성이 쉽고 효율적이다.
- 컨테이너 이미지를 이용한 배포와 롤백이 간단하다.
- 언어나 프레임워크에 상관없이 애플리케이션을 동일한 방식으로 관리한다.
- 개발, 테스팅, 운영 환경은 물론 로컬 피시와 클라우드까지 동일한 환경을 구축 특정 클라우드 벤더에 종속적이지 않다.
수많은 컨테이너를 어떻게 관리하는게 좋을까?
서비스 검색, 서비스 노출, 서비스 이상, 부하 모니터링을 어떻게 해야 좋을까?
2. Container Orchestration
서버 관리자가 할 일을 Container Orchestration이 대신 해준다.
컨테이너를 효과적으로 관리하는 기구이다.
3. Container를 관리하는 방법에는 뭐가 있을까?
- Cluster(클러스터 관리)
- State(상태 관리)
- Scheduling(배포 관리) : 어떤 서버가 여유가 있는지, 꽉 찼는지
- Rollout Rollback(버전 관리)
- Service Discovery(서비스 등록 및 조회) : 저장소 관리, 프록시 설정 변경 및 프로세스 재시작
- Volume(볼륨 스토리지) : NFS, AWS, CCE 저장소 관리
Cluster의 특징 중에서 서로 다른 CPU와 램이 있는 서버가 있다.
이게 많아지면 cluster 단위로 관리를 하게 된다.
컨테이너를 하나하나 다 접속해서 관리하기 어렵기 때문에, 마스터 서버에 접속해서 마스터 서버에 명령어를 내려서 관리를 할 수 있도록 할 수 있다.
클러스터 끼리는 서로 네트워킹이 잘 되어야 한다.
그리고 부하를 다 감당할 수 있도록 설계를 해야한다.
그걸 누가하냐?!
바로 여러분! 이 아닌 바로 쿠버네티스...
쿠버네티스는 1주일에 20억개의 컨테이너를 생성하는 google이 컨테이너 배포 시스템으로 사용하던 borg를 기반으로 만든 오픈소스이다. 지금은 완전히 오픈소스가 되었다.
여러가지 툴이 쿠버네티스 위에서 동작하기 때문에, 쿠버네티스가 하나의 플랫폼이 되어버렸다... 리눅스 빠이빠이...
쿠버네티스가 일단 설치가 되어있으면 그 위에 뭐를 올려도 편하다.
쿠버네티스가 사실상 Container Orchestration의 표준이다.
아싸 이제 리눅스 명령어로 일일이 도커 관리 안해도 된다!!
쿠버네티스 쓰자!
'🚦 Server > Kubernetes' 카테고리의 다른 글
Kubernetes Architecture (0) | 2022.03.10 |
---|