Journey to Security/가상화 48

[Docker] 도커의 아키텍처와 동작 원리, 기술 동향 정리

현대 소프트웨어 개발과 배포의 표준이 된 도커(Docker)는 애플리케이션을 컨테이너라는 표준화된 유닛으로 패키징하여 환경에 구애받지 않고 실행할 수 있게 해주는 플랫폼이다. 도커의 기본 구성 요소와 동작 방식, 그리고 컨테이너 오케스트레이션 도구인 쿠버네티스(Kubernetes)와의 관계를 알아보자.1. 도커의 기본 아키텍처 (Docker Architecture)도커는 클라이언트-서버 모델을 기반으로 하며 크게 세 가지 구성 요소로 나뉜다.도커 클라이언트 (Docker Client): 사용자가 도커와 상호작용하는 기본 창구다. CLI(Command Line Interface)를 통해 docker build, docker pull, docker run 등의 명령어를 입력하면 도커 데몬으로 API 요청을 ..

도커(Docker)와 컨테이너 기술의 개념 이해하기

많은 기업들은 인프라 운영의 효율성을 위해 클라우드 네이티브 환경을 구축하고 있으며, 그 중심에는 도커(Docker)와 쿠버네티스(Kubernetes)가 있다.대규모 엔터프라이즈 환경에서 사용되는 기술 스택을 중심으로, 도커와 컨테이너 기술의 핵심 개념과 운영 생태계에 대해 알아보자.1. 기업형 클라우드 인프라의 예기업들은 단순히 서버를 돌리는 것에 그치지 않고, 인프라 전체를 소프트웨어로 정의하고 자동화한다.가상화 및 네트워크: 물리 서버에 VMware를 설치한 후, 그 위에 OpenStack을 얹어 사내 클라우드를 구축한다. 이때 하드웨어 장비 없이 소프트웨어(스위치, 라우터)만으로 네트워크를 연결하는 SDN 기법이 활용된다.패키징 및 배포: Docker로 환경을 구성하고, Helm이라는 쿠버네티스 ..

Hadoop 클러스터 구축하기 part.3 - 멀티 노드 띄우고 파일 업로드하기

이번에는 지금까지 만든 마스터 노드 1개와 슬레이브 노드 2개로 구성된 환경에서 하둡 파일 시스템(HDFS)을 초기화하고 하둡 클라우드에 디렉토리를 생성하여 파일을 업로드하는 과정을 살펴본다. 1. 초기화 및 네임노드 포맷하둡을 재구동하기 전, 이전 실행 기록이 남아 충돌하는 것을 막기 위해 임시 디렉토리(/usr/local/hadoop/tmp)를 비우는 작업을 선행한다. master와 모든 slave 노드에서 동일하게 진행한다.공통사항: 기존 tmp 폴더를 삭제 후 재생성하고, username에게 소유권 권한을 부여rm -rf /usr/local/hadoop/tmpmkdir /usr/local/hadoop/tmpchown username: -R /usr/local/hadoop/tmp [master]HD..

Hadoop 클러스터 구축하기 part.2 - SSH 키 기반 연결, 하둡 환경 설정 및 배포

먼저저 하둡 클러스터의 핵심인 마스터 노드(Master Node)와 슬레이브 노드(Slave Node)가 하둡 분산 시스템(HDFS)에서 어떤 의미와 역할을 갖는지 알아보자. 마스터와 슬레이브의 역할 하둡은 거대한 데이터를 한 대의 컴퓨터가 아닌, 여러 대의 컴퓨터에 나누어 저장하고 처리하는 기술이다. 이를 효율적으로 관리하기 위해 시스템을 지시하는 관리자(Master)와 일꾼(Slave)으로 역할을 철저히 구분한다. 1. 마스터 노드 (Master Node) - 네임노드 (NameNode)클러스터 전체를 관리하고 통제하는 '두뇌' 역할을 한다.메타데이터 관리: 사용자가 업로드한 실제 파일 데이터는 저장하지 않는다. 대신, 그 파일이 '어떤 슬레이브 노드의 어느 위치에 저장되어 있는지'에 대한 정보(메타..

가상환경에서 Hadoop 클러스터 구축하기 part.1 - 호스트네임, 네트워크 설정

Vmware 등의 가상 환경에서 실습을 할 때는 마스터 노드로 구축한 가상머신을 복제(clone)해서 슬레이브(slave)노드로 만들면 간단하게 하둡 클러스터를 구축할 수 있다. 이 때 호스트네임과 네트워크 식별 정보(IP/MAC Address) 까지 복제가 되는데, 각각의 클론에서 네트워크 등의 설정은 손수 해줘야 한다. 하둡 클러스터가 정상적으로 작동하려면 각 노드가 고유한 이름과 IP를 가져야 하기 때문이다. 1. 가상머신 하드웨어 식별자(MAC 주소) 재설정가상머신을 복제하면 네트워크 카드의 물리적 주소인 MAC 주소까지 동일하게 복사될 수 있다. 이는 네트워크 충돌의 원인이 되므로 가장 먼저 변경해야 한다.VMware에서 해당 슬레이브 노드 (power off한 상태에서) 가상머신의 설정을 열..

Hadoop 마스터 노드 구축하기 part.1 - 자바 설치 및 환경변수 설정

우분투에서 하둡의 마스터 노드를 구축하는 과정을 알아보자. 1. 하둡 전용 계정 생성 및 호스트 이름 설정하둡 운영을 위한 별도의 계정을 생성하고, 네트워크 상에서 노드를 식별할 이름을 정의하는 단계이다.adduser [username]cd /home/[username]/nano /etc/hostname[hostname]-> "master"로 변경hostname -F /etc/hostname && hostnamemaster수행 작업: [username]계정 생성, /etc/hostname 수정 (master로 변경), hostname -F로 즉시 적용.목적: 하둡은 클러스터 구조이므로 각 노드를 구분할 명확한 호스트 이름이 필요하며, 보안과 관리 편의를 위해 전용 계정인 [username]을 사용한다.핵..

[VMware] 가상머신 안에서 가상화를 할 때 반드시 필요한 설정

VMware workstation과 같은 하이퍼바이저에서 가상화 환경을 운영하다 보면 가상 머신(VM) 내부에서 하둡(Hadoop), 도커(Docker), 쿠버네티스(Kubernetes)와 같은 또 다른 가상화 기술을 실행해야 하는 상황이 있다. 이때 반드시 체크해야 하는 설정이 바로 'Virtualize Intel VT-x/EPT or AMD-V/RVI'이다.하이퍼바이저(Hypervisor)란?하이퍼바이저는 하나의 물리적 서버(Host) 위에서 여러 개의 독립적인 가상 머신(VM)을 생성하고 관리하는 가상화 소프트웨어를 말한다. 하이퍼바이저는 물리적 하드웨어(CPU, 메모리, 스토리지 등)와 가상 머신 사이에서 중재자 역할을 수행한다.하이퍼바이저의 주요 역할자원 격리: 각 VM이 서로 간섭하지 못하도록..

분산 파일 시스템(DFS)의 개념과 하둡(Hadoop)의 원리

클라우드 환경에서 대용량 데이터를 저장하는 핵심 기술인 분산 파일 시스템(DFS)과, 이를 구현한 하둡(Hadoop)에 대해 알아보자.분산 파일 시스템 (DFS) 이란?DFS의 핵심 아이디어는 "데이터를 쪼개서 분산 저장하고, 사용자 가까이에서 빠르게 처리하는 것"이라 할 수 있다.DFS(Distributed File System)는 대용량 데이터를 네트워크로 연결된 여러 컴퓨터(노드)에 분산하여 저장하는 시스템 아키텍처를 말한다. 분산 저장 (Distribution): 하나의 컴퓨터에 다 들어가지 않는 거대한 데이터(Big Data)를 일정한 크기의 조각(Chunk)으로 잘라서 여러 서버에 흩뿌려 저장한다.복제 (Replication): 분산된 서버 중 하나가 고장 나더라도 데이터가 사라지지 않도록 복..

1 2 3 4 5