📌 들어가기전에 ,,
도커는 컨테이너 플랫폼
도커허브에 컨테이너를 빌드해서 올려두고 다운로드 받아서 시작하면 컨테이너가 실행되면서 애플리케이션이 실행됨
💻 가상머신
- 하드웨어 인프라에 하이퍼바이저(vm ware, virtual box)를 통해 가상의 머신을 만들어줌 => 하드웨어 (메모리, pcu, networt, disk...) 를 만든 후에 os를 설치하고 애플리케이션을 설치함
- 리소스가 필요할 시 가상머신을 수평적으로 스케일아웃하여 시스템 다운을 막을 수 있음
🚢 컨테이너
- 운영체제를 제외한 소스코드와 베이스 환경 (실제 애플리에키션만) 들어있어 훨씬 더 가벼움
- 확장이 빨라서 주 목적은 배포임
- 시스템이 다운됐을때 대처 능력이 없음
컨테이너 게층 구조
단계 | 역할 | 모델 |
---|
level 3 | ocastration | k83 |
level 2 | container | docker |
level 1 | OS | window, mac... |
⚙️ 쿠버네티스
- 운영 수준의 컨테이너 오케스트레이션
- 자동화된 컨테이너 배포와 스케일링 관리
- 컨테인화된 애플리케이션 관리하는 오픈소스 시스템
컨테이너 오케스트레이션
- 시스템이 여러개 돌아갈 때, 필요한 컨테이너를 일일이 엔지니어가 관리하기 어려워 나온 컨테이너 배치 시스템
- 가상머신에서 작동하는 컨테이너를 잘 배치해서 시스템이 원할하게 운영되도록 최적화 도구
특징
- 워크로드 분히 ( 여러 컨테이너 분리 운영 )
- 어디서나 실행 가능 : 온프레미스, 퍼블릭 클라우드..
- 선언적 API
- control plane에 요청
- control plane이 배치하여 운영
- control plane이 요청과 실제 상태를 확인하여 알아서 재배치 등 관리
+ dev ops, no ops로 관리 할 수 이 따 ! !
CNI (Container Network Interface)
- Container간 통신을 지원하는 LxNAN/Pod Network
- 컨테이너간 통신을 지원해주는 인터페이스
- 다양한 종류의 플러그인이 존재