원래 이런 용어 정리나.. 개념 정리부터 하는걸 안좋아하지만
막상 하다보니까 말이 너무 헷갈려서 이력관리를 위한 정리(틀린게 있다면.. 알려주세요 (_ _))
내가 하면서 정리하려던 용어부터 정리해놓고 이후에 더 추가되는게 있으면 여기서 이어붙여야징징이
1. 컨테이너: os 가상화를 통해 host os 자원을 공유하여 격리된 프로세스 환경을 만드는 기술. 단순하게 말하면 가상화 된 어플리케이션 하나를 의미하는 듯(근데 이게 특정 기능만 올린거일수도 있고.. 그게 권장하는게 맞지만 아니면 모든걸 다 올려서 하나의 어플리케이션 모든 기능이 다 들어갈수도 있고 이건 만드는 사람 마음인듯)
- 내가 이해한 내용은 vm이랑 비슷하게 가상화를 통해 자원의 낭비를 줄이는 건 맞지만, os 자체를 가상화해서 새로운 os를 올리는게 아니라 특정 프로세스(뭔가의 웹 소스, 뭔가의 api 서버 등)만 격리해서 좀 더 경량화 시킨 것
2. 이미지: 컨테이너를 실행시키려면 그 프로세스에게 필요한 환경이 구축되어있어야 하는데 그런 소스코드나 환경변수, 도구나 응용프로그램등을 포함하는 파일(like vmx 파일 같은? 특정 시점의 스냅샷으로 생각하면 될듯)
3. 도커: 컨테이너를 만드는 기술. 걍 도커 == 컨테이너 라고 생각해도 될듯 ㅎ 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼 이라는 정의가 가장 많이 보이는데 결국 컨테이너를 만드는 오픈소스가 맞는듯
4. 쿠버네티스: 컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼
이라는 정의가 가장 이해가 잘 되는듯.. 실제 환경에서는 사용하다보면 다수의 도커 컨테이너들을 관리해야하는 일이 많을텐데 그런 어플리케이션들을 관리하기 쉽게 해주는 orchestrator
로드밸런싱도 해줌 good
5. 노드: 쿠버네티스에서 워커 머신을 말하며, 클러스터에 따라 가상 도는 물리 머신일 수 있음. 이 노드들은 컨트롤 플레인에 의해 관리되며 하나의 노드는 여러개의 파드를 가질 수 있음
- 마스터 노드: 전체 쿠버 시스템을 관리 및 통제하는 쿠버네티스 컨트롤 플레인을 관장
- 워커 노드: 배포하고자 하는 어플리케이션을 실제 실행하는 부분
6. pod: 쿠버네티스에서 관리 할 수 있는 가장 작은 컴퓨팅 단위. 한개의 팓 안에 여러개의 컨테이너가 들어가는데 이런 여러 컨테이너들이 모여서 하나의 서비스로 동작할 수 있게 되는 것 같음 (맞나?
7. 클러스터: 쿠버네티스 내에서 가장 큰 개념? 마스터 노드와 워커 노드를 합친 것
- 순서를 보면.. 쿠버네티스 > 클러스터 > 노드 > 파드 > 컨테이너 인듯
8. Deployment: 레플리카셋을 이용해서 pod 업데이트 / 이력관리 / 롤백 등등의 작업
- 파드의 헬스를 검사해서 파드의 컨테이너가 종료되었다면 재시작해줄 수 있는데 이걸 레플리카셋을 이용하는 것 같음
9. ReplicaSet: 복제세트 말그대로.. pod에 문제가 생겨서 죽거나 했을 때 자동으로 복구되지 않으므로 이를 레플리카셋에서 정의를 하고 pod를 정해진 수 만큼 복제하고 유지 관리
'잡지식' 카테고리의 다른 글
minikube local 테스트 시 external IP pending 해결 (0) | 2023.06.04 |
---|---|
centOS docker-compose install (0) | 2023.05.21 |
Fragmentation VS Segmentation (3) | 2023.05.16 |
base64 gzip decoder (0) | 2022.03.16 |
[Pandas] dataframe 문자열 포함/미포함 조건 필터링 (0) | 2022.03.07 |