본문 바로가기
반응형

🌴 DevOps/Docker & K8s35

쿠버네티스 아키텍쳐(2/2) (마스터노드/워커노드) 쿠버네티스 아키텍쳐 하나의 마스터노드와 여러대의 워커로드로 하나의 클러스터를 이루고 있는 구조 1. 마스터노드(Kubernetes Master) (aka.마스터) 쿠버네티스 클러스터 전체를 컨트롤 하는 시스템 master는 API서버를 통해 K8S를 관리하고, 모든 컴포넌트들은 API 서버를 통해서 통신함 관리자만 접속할 수 있돌고 보안설정 필요 마스터 서버가 죽으면 클러스터를 관리할 수 없기 때문에 3대를 구성해서 안전성 높임 다양한 모듈이 확장성을 고려하여 기능별로 쪼개져 있는 특징 1.1 마스터노드 구성요소 API 서버 etcd Scheduler Controller Manager 1) API 서버 쿠버네티스의 모든 기능들은 REST API로 제공하고, 그에 대한 명령을 처리하는 부분 K8S 내부의 .. 2020. 4. 19.
쿠버네티스 아키텍쳐(1/2) (클러스터/마스터/노드) 쿠버네티스 하나하나 따져보기전에 전체 큰그림부터 보고 들어가기 1. 클러스터 단일 컴퓨터가 아니라 여러대의 컴퓨터를 하나로 묶은 단위 이때 클러스터 하나에 물리적인 서버 또는 가상머신을 '노드' 즉, 클러스터는 '노드'의 집합이라고 볼 수 있음 * Node 개념 컨테이너가 배포되는 개별적인 머신들(가상머신이나 물리적인 서버머신) 그 안에 여러가지 컨테이너들이 올라갈 수 있음 AWS안에서도 하나의 컴퓨팅 서비스가 돌아가가기 위한 개별적인 노드와 같은 의미 2. server-client의 API 구조 뜬금없지만, 쿠버네티스는 모든 명령과 통신을 API를 통해서 하기 때문에 기존의 Server-Client 방식을 보면 API방식은 서버와 클라이언트가 동작하기 위해 징검다리?역할을 해줌 어떤식으로 통신해야할지 .. 2020. 4. 19.
쿠버네티스 기본개념(컨테이너 운영환경/Container Orchestration /k8s특징) 1. 컨테이너 운영환경(Container Orchestration) 컨테이너들의 스케쥴링, 상태체크, 재기동하고, 로드밸런싱, 모니터링 등 컨테이너를 종합관리해주는 환경 작은 수의 컨테이너라면 vm이나 도커엔진이 하나씩 처리해서 직접 배포하면 되지만, 컨테이너가 많아지면..? 어떻게 컨테이너를 관리할 것인가..? 예를들어, 16CPU 32GB 메모리 VM들에 컨테이너를 배포하는데, 컨테이너들이 사이즈가 다 다를수도 있음 그래서 자원을 효율적으로 사용하기 위해서 많은 컨테이너들을 '관리'하고 적재적소에 사용할 수 있도록 운영해주는 '환경'이 필요해짐 1-1. 컨테이너들의 '어떤관리'가 필요한가? 적절한 위치에 컨테이너들을 배포하고, 애플리케이션 특성에 따라서 같은 물리서버에 배포될지, 다른 서버에 배포될지.. 2020. 4. 19.
Docker(도커) 기본개념(도커/컨테이너/VM/이미지/도커파일) 1. 기존의 서버관리 예를 들어 웹서비스 환경을 제공한다라고 하면.. 1. 서버OS설치 (Linux/Ubuntu/CentOS) 2. 애플리케이션 설치(Web/Was/DB/App) 3. 각 애플리케이션의 Configuration 설정 4. 서비스데몬 실행 (도커에 관심을 갖게 된 계기) 이걸 한번에 쭉~ 막힘없이 진행한다면 문제가 없지만 트러블메이커인 나에겐.. 제일 빡치고 화나는 부분이였다... 버전때문에,디렉토리 때문에, 알수없는 이유로, 계속 설치 실패하고 다시 시작하기...... 정말 별것도 아닌일인데 이렇게 시간만 잡아먹는게 너무 현타가 왔었다 그러던 중 도커가 이러한 부분을 조금더 간편하게 해결해줄 수 있다고 느껴져서 관심을 갖게 되었다. 2. 도커란? '컨테이너' 기반의 오픈소스 가상화 플랫폼.. 2020. 4. 13.
docker는 Paas, k8s는 Saas (느낌) Docker : 컨테이너 기반의 서비스 컨테이너? 항구에서 한배에 실어서 운반하는 각각의 구조들 이해하기 쉬운 비유 자동차 컨테이너라면, 그 안에는 현대/기아가 있고, 전자제품 컨테이너라면, 그 안에는 삼성/엘지가 있다 이해하기 쉬운 비유 웹서비스 환경이라는 컨테이너라면, 그 안에는 웹/앱이 있다. 웹-아파치/Nginx -> 정적인 웹역할(proxy) 앱-php/jsp -> 동적인 웹역할 이걸 어떻게 만들어? Linux OS에 올림. 어떻게 올림? 패키지들을 설치해 (그런데 각 OS마다 설치하는 방법이 달라서 귀찮고 빡치는 작업) 하지만, 도커는 YAML이라는 도커파일을 만듬 도커? 이런 웹서비스환경 컨테이너들를 하나하나 묶어두는게 도커 도커이미지 : 컨테이너를 구성하고 있는(웹/앱)들이 다 설치된 파일.. 2020. 4. 12.
728x90