-- INDEX --
1. Docker를 사용하는 이유 | 2. 쿠버네티스 등장 배경 | 3. k8s 장점 |
컨테이너를 활용한 환경설정의 편리함 |
VM -> Docker : k8s | 환경설정 // 클러스터 상태관리 // 스케줄링 버전관리 |
1. Docker
- 도커를 사용하는 이유?
- 우리 회사 프로그램 설치 편하게 문서화
1-1 : 도커 파일로 이미지 만들고, 이를 기반으로 생성된 컨테이너 관리
- 도커를 사용하면 환경설정이 아주 편리하다.
- 명령어들을 좀 공부해놓으면 설치작업 편하게 할 수 있다.
- 도커는 컨테이너를 가지고 관리를 하는 애인데 – 컨테이너는 이미지 파일을 기반으로 생성되는 애이다.
- 이미지 파일만 잘 관리해놓으면 아주 편리해진다.
도커 파일을 이용해
이미지에 JDK11, ORACLE21C , TOMCAT9.0 설치하는 명령어 세팅해놓으면
이미지 실행해서 나오는 컨테이너에
모든 환경설정 완료되어서 태어난다!
2. 쿠버네티스의 등장 배경
2-1 : VM 등장
- 컴퓨터 1대 ( 서버1개에서 ) 여러개의 서버로 분리해서 사용 가능해졌다.
- 여러개의 가상 머신 – 각각의 VM마다 환경변수 설정 할 수 있고 좋았다.
- 단점 : 1개의 서버로 관리하다보니 성능이 떨어진다.
- 작업하는 순서를 문서화시켜서 설치
- 설치하는 작업을 명령어로 만들어주는 툴 사용하니 좋긴 하다.
- 툴을 사용하니 버전 변경이나 다른 요인에 의해 변수가 많다.
2-2 : 이런 것들을 해결하기 위해 등장한 것이 Docker
- 컨테이너는 우리가 만든 하나하나의 WEB이라고 보면 된다.
- 컨테이너는 똑같은 WEB 여러 개 실행되는 경우가 많다.
- 도커는 vm과 다르게 작동된다 ( 비슷하긴 하지만 다르게 작동됨 -- 공부해보기 )
- 이렇기 때문에 도커는 성능이 더 좋다.
# BUT
- 어느 시점 까지는(컨테이너 어느 개수까지는) 괜찮은데
- 요새 서비스처럼 규모가 엄청 큰 것들은 내가 띄워놓은 컨테이너 개수가 많아지고
- 이 컨테이너들을 하나하나 관리하기가 어려워졌다.
- 특정 컨테이너에서 에러 나면 이것도 관리하기가 힘들다.
- 배포한 컨테이너들에게 변경사항 생기면(버전이나, 공통으로 추가해주어야 할 것들 ) 하나하나 찾아가서 변경해주어야 한다.
- 트래픽 몰릴 거라 예상하고 띄워놨던 컨테이너가 아닌 다른 컨테이너에 몰리면 지금 띄워놓은 컨테이너 내리고 몰린 거 띄워주어야 하는 이런 작업이 필요한데 도커만 가지고는 힘들다.
- 그래서 등장한 것이 쿠버네티스
2-3 : 쿠버네티스 ( k8s )
- 지금은 여러 개의 컨테이너를 하나하나 관리하는 방식이라 너무 힘들다.
- 한 번에 여러 컨테이너를 관리할 순 없을까? 해서 등장한 것이
- 쿠버 네티스 : 오케스트레이션 도구
# 흐름 Check
- 내 손으로 일일이 직접 설치
- --> 문서화시켜서 여러 명이서 작업
- --> vm 이용하여 서버 분리해서 작업
- --> 도커 컨테이너 이용해서 작업
- --> 여러 개의 웹을 한 번에 관리하기 위해 도커 사용
- --> 도커만 이용해서 컨테이너를 관리하기 여러 면에서 힘들다. 해서 쿠버 네티스 사용
- 도커와 쿠버 네티스는 대표적인 애들일 뿐 다른 애들도 있다.
3. 쿠버 네티스의 장점
- k8s
- kubernetes
- 쿠버네티스 : 오케스트레이션
- - 환경설정 귀찮았는데, 이제 얘가 다 해줌
- - 클러스터 // 마스터로 여러 개 관리 가능
- - 상태 관리 // app01 이 컨테이너 개수는 10개 고정
- - 스케쥴링 // 효율적인 메모리 관리
- - 버전 관리 // 버전 업/다운 rollOut , rollback
'Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원 > 11월' 카테고리의 다른 글
22. 11. 11 - [ 마지막 수업을 마치며... ] (0) | 2022.11.16 |
---|---|
22. 11. 10 - [ 15차 시험! - 애플리케이션 테스트 관리 ] (0) | 2022.11.16 |
22. 11. 08 - [ 플러스 알파 ] 날짜관련 데이터 다루기 (0) | 2022.11.16 |
22. 11. 07 - [ 파이널 프로젝트 ] Final 프로젝트 시간 (0) | 2022.11.16 |
22. 11. 04 - [ 플러스 알파 ] 자료구조 - ArrayList 직접 구현해보기 (0) | 2022.11.16 |