쿠버네티스
=> 컨테이너를 관리하기 위한 툴
container + orchestration
container docker
도커가 무엇인가
다양한 서비스 사용에 따른 => 다양한 버전 / 다양한 os 사용에 대한 문제가 많았음
서비스 - 라이브러리 - os간의 종속성에 대한 문제도 많았음
=> 관련된 다양한 호환성에 대해서 계속 확인 / 수정해야하는 이슈가 있었음
+
새로운 개발자의 개발환경을 매번 새로 구성하는것이 큰 일 + 효율성이 좋지 않았음
==> 개발 / 제작 / 배포가 어려웠음
==> 이런 호환성 개선을 위해서 쓰인 기술이 docker임
==> 각각의 라이브러리와 종속성을 모두 가지고 별도의 컨테이너에서 작업하는것이 가능함
=> 운영체제를 뭘 사용하든 상관이 없었음
컨테이너
: 고유의 프로세스 / 서비스 / 네트워크 를 가질 수 있고 => 커널을 공유함
=> 도커 위에서는 각각의 다른 운영체체를 이용해서 서비스를 설정하고, 작업을 진행할 수 있음
=> 윈도우에서는 커널이 공유되지 않음
=> 같은 물리 체제 안에서 운영체제와 커널을 가상화해서 사용하는 것이 아님
==> 응용 프로그램을 컨테이너화 => 가볍게 사용하는 것이 목적
=> 도커 위에 각각의 컨테이너에 서비스에서 필요한 라이브러리 / 종속성들을 담아서 실행할수있음
기본적인 가상머신의 경우에는 각각의 가상머신이 OS를 가지고 있고, 서비스를 실행시에 os부터 => 서비스까지 전부 부팅을 시켜야하기 때문에 무겁고 느림
===> 그렇기 때문에 윈도우 - 리눅스를 전부 올려서 작업할 수 있지만,
도커의 경우에 리눅스 기반의 os에 윈도우가 올라가지는 못함
가상화머신의 이점이 이런부분이라고 할 수 있겠음
image -> 일종의 템플릿 => 이걸 실행하고 여러가지 서비스를 올린것이 container
container -> 각각의 격리된 이미지를 가지고 고유의 환경으로 설정이 되어있음
=> 직접 컨테이너를 이미지로 만들어서 공유할 수도 있음
=> hub / store
==> 효율적인 개발 / 운영환경을 만드는데 강점을 가짐
container orchestration
=> 각각 연관성이 있는 컨테이너들을 연결하기 위한 기본 플랫폼? 이라고 생각하면 될듯
=> 컨테이너를 자동으로 배포 / 관리하는 전체 프로세스를 '컨테이너 오케스트레이션 '이라함
==> 쿠버네티스가 이 오케스트레이션 기술임 ㅇㅇ
docker swarm
=> 시작이 쉬운데 고급 기능이 약간 부족함
mesos
=> 시작이 어려운 대신 많은 고급 기능을 가지고 있음
kubernetes
=> 시작이 어렵지만 많은 지원을 하기 때문에 가장많이 사용하고 가장 인기있음
=> 쉽게 스케일 업 / 다운이 가능함
architecture
node
: 쿠버가 설치된 물리적, 가상의 머신 => 컨테이너가 올라가는 공간이라고 생각하면 됨
- 마스터 노드: 전체 쿠버네티스 시스템을 관리 및 통제하는 쿠버네티스 컨트롤 플레인을 관장 (위 사진 참고)
=> 클러스터 멤버에 대한 정보, 노드들에 대한 작업의 관리
- 워커 노드: 배포하고자 하는 어플리케이션의 실제 실행을 수행
마스터 노드가 죽으면 클러스터를 관리할 노드가 없기에, 일반적으로 3개 정도의 마스터 노드를 띄워 관리하는 것으로 알려져 있으며,
워커 노드도 여러 개 구성할 수 있다
cluster
: 묶인 노드의 집합
======
api server => frontend
etcd => key-value store => 클러스터 내의 모든 정보를 저장
=> 마스터간의 충돌이 없게 하기 위해 사용
scheduler => 새로 생성된 컨테이너를 찾아 노드에 할당
controller => 오케스트레이션을 관리
container runtime => 컨테이너를 실행하는 기본 소프트웨어 ex) docker
설치가 되어있어야 컨테이너를 실행할 수 가 있음
kubelet => 클러스터내 각 노드에서 실행되는 에이전트
컨테이너가 노드내에서 제대로 실행되는지 확인
======
kubectl => 명령줄 도구 그니까 CLI 창
=> 명령어를 작성 / 동작시키는 창
생활코딩 도커편 강의를 보면서 기본적으로 이미지의 개념 컨테이너의 개념을 공부했고, 그 이미지를 생성, 다운, 실행, 배포하는 법을 공부했었다. 또한 컨테이너를 다시 이미지화 하는 방법들 또한 배웠었다. 하지만 기본적인 하나하나의 개념들에 대해서 공부한것은 아니기 때문에 강의를 통해서 열심히 배우고 정리해봐야겠다.. CKA! 취득하자!
'도커 & 쿠버 > CKA를 취득하자' 카테고리의 다른 글
쿠버강의 hands-on _ 6 (0) | 2023.10.18 |
---|---|
쿠버강의 hands-on _ 5 (0) | 2023.10.17 |
쿠버강의 hands-on _ 4 (0) | 2023.10.16 |
쿠버강의 hands-on _ 3 (0) | 2023.10.13 |
쿠버강의 hands-on _ 2 (0) | 2023.10.12 |