BackEnd (42) 썸네일형 리스트형 [kubernetes] 클러스터(cluster) - NODE(Control Plane) 컴포넌트 노드 컴포넌트 [kubernetes] 클러스터(cluster) - 컨트롤 플레인(Control Plane) 컴포넌트 클러스터(Cluster)란? 클러스터(Cluster)는 여러 대의 서버(Node)를 하나의 시스템처럼 묶어 컨테이너화된 애플리케이션을 관리하는 쿠버네티스의 운영 단위이다.서버1 : 관리자 역할서버2 : 애플리케이션 실행서버3 : 애플리케이션 실행 이 3대의 서버를 쿠버네티스로 하나로 묶어 관리하는데, 이 전체를 Kubernetes cluster라고 부른다. 쿠버네티스가 왜 여러 서버를 하나로 묶는 이유는 아래와 같다.애플리케이션을 여러 서버에 분산해 실행할 수 있다.특정 서버에 장애가 발생해도 다른 서버에서 계속 서비스할 수 있다.트래픽이 증가하면 서버를 추가하여 쉽게 확장할 수 있다. 즉, 클러스터는 여러 대의 서버를 하나의 거대한컴퓨터처럼 사용하기 위한 개념이다. 1. Node란? Node는 K.. [kubernetes] 쿠버네티스 이해하기 1. 가상화(Virtualization)가 왜 필요한가? 과거에는 보통 물리 서버 1대에 애플리케이션 1개를 설치해서 운영 했다. ex) 물리 서버 1대 ⇒ 쇼핑몰 서비스, 물리서버 1대 ⇒ 게시판 서비스, 물리 서버 1대 ⇒ 회원 서비스 하지만 이런 방식의 경우 문제가 발생한다. 서버 자원을 충분히 사용할 수 없고 서비스가 늘어날수록 서버 구매 비용이 증가한다. 그리고 서버 관리가 복잡해지고, 특정 서비스 트래픽이 늘어나면 서버를 새로 구매해야 했다. ex) CPU 5% 사용 서비스도 서버 한 대를 독점 사용 이를 해소하기 위해 하나의 물리 서버를 여러 개의 논리적인 서버처럼 사용할 수 있는 가상화 기술(Virtualization)이 등장했다. 2. VM(Virtual Machi.. [MongoDB] 몽고DB 이해하기 MongoDB란? MongoDB는 문서 지향적인 NoSQL 데이터베이스로, 대량의 비정형 데이터를 저장하고 처리하는 데 사용된다. 여기서 문서 지향적(document-oriented)이란 비정형 데이터를 저장하고 관리하기 위해 문서(Document)라는 개념을 중심으로 데이터를 구성한다. 관계형 데이터베이스의 경우 SQL이라 부르는 질의 언어를 사용하지만, MongoDB는 자바스크립트와 같은 전혀 다른 질의어를 사용한다. 즉 사용자 측면에서는 자바스크립트를 알면 다른 언어를 배울 필요가 없는 장점이 있다. 앞으로 사용할 몽고셸은 몽고디비와 함께 설치해야 하며 터미널, powershell을 통해 접근할 수 있다.> mongosh DB 목록ㅇ 조회/생성/삭제하기구분명령어설명조회show dbsDB목록.. [MSA] 12 Factors + 3 12 Factors : 12 Factors는 클라우드 서비스 중 플랫폼 에저 서비스(파스라라는 형태의 서비스)를 제공하는 Heroku라는 개발 회사에서 제시한 12가지 항목으로 클라우드 네이티브 어플리케이션을 개발/운영 시 고려해야 될 항목을 정리한 것이다.BASE CODE (코드 베이스): 자체 레퍼지토리에 저장된 각 마이크로 서비스에 대한 단일 코드베이스를 뜻하며 버전을 제어하기 위한 목적을 갖는다. 즉 형상관리/배포(개발서버, 스테이징, 운영서버) 등을 위해 소스의 통일적인 관리가 필요하기 때문이다. DEPENDENCY ISOLATION (종속성): 각 마이크로 서비스는 자체 종속성을 가지고 패키지 되어 있어 전체 시스템에 영향을 주지 않는 상태에서 변경되고 내용을 수정할 수 있어야 한다는 뜻.. [MSA] 소프트웨어 아키텍처 IT시스템의 역사1960 ~ 1980년도(Fragile, Cowboys) : 하드웨어나 시스템 자체가 상당히 고가였기 때문에 서비스의 기능을 수정/변경하기 어려워 소프트웨어보다 하드웨어 사양에 맞춰 개발되던 시기이다.1990 ~ 2000년도(Robust, Distributed): 분산/안정화된 시스템 덕분에 안정성 있는 높은 서비스를 제공할 수 있는 시기이다.2010년 ~ (Resilient/Anti-Fragile, Cloud Native): 시스템은 로컬환경에서 클라우드로 이전 되었으며 확장/안정성이 강화 되었고 지속적인 개선 및 변경사항이 생겨도 시스템을 탄력적으로 운영할 수 있게 되었다. 그러므로 비용또한 저렴하게 운영이 가능했다. Anti-Fragile 오토 스케일링의 특징은 Auto sca.. [Docker] 컨테이너 컨테이너를 나열하기 명령어 "docker ps"를 통해 현재 실행중인 컨테이너 목록을 나열할 수 있다.CONTAINER ID : 컨테이너의 고유한 아이디 해쉬값IMAGE : 컨테이너 생성시 사용한 도커 이미지명COMMOND : 컨테이너 시작 시 실행될 명령어. 대부분 이미지에 내장되어 있으므로 별도 설정이 필요 없다.CREATED : 컨테이너가 생성된 시간PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트. 미설정시 표시되지 않는다.NAMES : 컨테이너 고유한 이름. 컨테이너 생성시 -name 옵션으로 설정 안하면 도커 엔진이 임의로 설정 docker rename 명령어로 이름을 변경할 수 있다.ex) docker rename zen_clarke(original-n.. [Docker] 도커 이미지로 컨테이너 만들기 도커에서 이미지란?이미지는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다.- 컨테이너가 시작할 때 실행되는 명령어 ex) run kakaotalk- 카카오톡 파일 스냅숏 : 파일 스냅숏은 디렉터리나 파일을 카피한 것을 의미한다. ex) 컨테이너에서 카카오톡을 실행하고 싶다면 실행에 필요한 스냅숏이 필요하다.이미지로 컨테이너를 만드는 순서Docker 클라이언트에 docker 명령어를 입력해 준다.도커 이미지에 있는 파일 스냅샷을 컨테이너 하드 디스크에 옴겨 준다. 이미지에서 가지고 있는 명령어(컨테이너가 실행될 때 사용될 명령어)를 이용해서 카카오톡을 실행시켜 준다.docker run hello-world 작동 순서도커 클라이언트에 명령어 입력 후 도커 서버로 보낸다.도커 서버에서 컨테이.. 이전 1 2 3 4 ··· 6 다음