728x90

[이론 I] 컨테이너 서비스 이해와 Docker 활용

 

클라우드 서비스 모델

 

 

시스템 기반의 구성 요소

 

  • [하드웨어] 물리적인 요소 - 서버 장비 본체, 스토리지, 전원 장치 등
  • [네트워크] 라우터, 스위치, 방화벽, 네트워크 장비들의 연결을 위한 케이블 배선
  • [OS] 하드웨어나 네트워크 장비 제어를 위한 기본 소프트웨어
     A. 클라이언트 OS - Windows / macOS
     B. 서버 OS - Windows Server / Unix / Linux
  • [미들웨어] 서버 OS 상에서 서버가 특정 역할을 다하기 위한 기능을 갖고 있는 소프트웨어
     A. 상용
     B. 오픈 소스

 

Linux kernel

 

  • 하드웨어 제어에 관한 OS의 핵심이 되는 기능
  • [디바이스 관리]
    A. Linux 커널은 하드웨어를 디바이스 드라이버라는 소프트웨어를 이용하여 제어
    B. 하드웨어 - CPU / 메모리 / 디스크 / 입출력 장치
  • [프로세스 관리]
    A. PID라는 식별자를 붙여 관리
    B. 프로세스의 실행을 위해 필요한 CPU를 효율적으로 할당
  • [메모리 관리]
    A. 프로그램/데이터를 물리 메모리에 효율적으로 할당
    B. swap : 가상 메모리 영역
    C. 스왑아웃 : 메모리상에 전개된 이용 빈도가 낮은 데이터를 스왑으로 보냄
    D. 스왑인 : 스왑상의 데이터를 메모리로 되돌림 하드웨어 제어에 관한 OS의 핵심이 되는 기능

Linux Shell

 

  • Linux 커널을 조작할 때 이용
  • 쉘은 사용자가 내린 명령을 커맨드로 받음 > Linux 커널에 전달
  • 기능
    A. 애플리케이션 실행/정지/재실행
    B. 환경변수 관리
    C. 명령 이력 관리(명령 히스토리)
    D. 명령 실행 결과 표시 및 파일 출력
  • 쉘 스크립트
    A. 쉘에서 실행하고자 하는 명령을 모아서 텍스트 파일에 기술한 것
    B. 제어 구문 사용 가능 > 조건 분기 또는 반복 처리 수행

 

Linux File System

 

 

  • Linux에서 하드 디스크나 USB 메모리, CD, DVD 등과 같은 데이터에 액세스하기 위한 장치
  • VFS (Virtual File System) : 가상 파일 시스템
    A. 각 디바이스를 파일로 취급
    B. 다양한 파일 시스템을 일관된 형태로 인식하도록 함

 

Linux Directory

 

 

인프라 구성 관리 툴 개요

 

  • [Bootstrapping] OS의 시작을 자동화하는 툴
    A. OS 설치
    B. 가상 환경 설정
    C. 네트워크 구성 설정
    D. KickStart - Red Hat 계열 Linux 배포판에서 사용 가능
    E. Vargrant - 로컬 PC에 가상 환경을 만들기

 

  • [Configuration] OS나 미들웨어의 설정을 자동화하는 툴
    A. OS 설정 (보안/서비스 시작 등)
    B. 미들웨어 (각종 서버)의 설치 및 설정
    C. Chef, Ansible, Puppet, Itamae

 

  • [Orchestration] 여러 서버의 관리를 자동화하는 툴
    A. 애플리케이션 배포
    B. 서버군의 오케스트레이션
    C. Kubernetes - 여러 컨테이너를 통합 관리하는 툴
728x90

+ Recent posts