Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

COCOMO

Container 서비스 이해와 Docker 활용 본문

k8s

Container 서비스 이해와 Docker 활용

훌라숑 2022. 12. 7. 17:43

리눅스 기본 명령어 파악

터미널 열기

  • alt + f2 키를 눌러서 우분투 대시로 terminal 검색

관리자 계정 접속

  • sudo su 명령어 입력

파일 이동

  • mv {파일명} {디렉토리명}/

 

용어 개념 정리

WAN

  • 원거리 통신망
    • 여러개의 LAN이 모여 이루는 넓은 범위의 네트워크, 두 개 이상의 LAN이 넓은 지역에 걸쳐 연결된 형태

LAN

  • 근거리 통신망
    • 비교적 가까운 거리에 위치한 장치들이 특정 전송매체로 연결된 모임, 사무실 또는 건물간의 연결된 네트워크

IP

  • 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서, 사용하는 특수한 번호.

SubnetMask

  • 서브 네트워크를 만들기 위해 AND 비트연산에 의해 씌우는 마스크. TCP/IP 프로토콜에서 IP 주소체계로 네트워크를 나누는 논리적인 수단

Port

  • TCP나 UDP에서 어플리케이션이 상호구분을 위해 사용하는 번호

TCP

  • 데이터 통신을 하기위한 연결성 프로토콜, 전송제어 프로토콜이라고 불리며, 전송계층에서 사용된다.

UDP

  • TCP와 마찬가지로 데이터 통신을 하기위한 비연결성 프로토콜, 확인응답 기능이 없기때문에 용량이 가볍고 송신속도가 빠르나, 확인응답을 하지 못하지 때문에신뢰성이 보장되지 않는다.

SSH

  • 원격지 호스트 컴퓨터에 접속하기 위해서 사용하는 인터넷 프로토콜, 암호과 기능이 포함

FTP

  • 파일 전송 프로토콜, TCP/IP 네트워크 상에서 컴퓨터들이 파일을 교환하기 위해 사용하는 통신규약. 비밀번호가 평문으로 전송되어 보안성에 취약.

SFTP

  • ****FTP와 달리 서버간의 데이터 전송을 암호화 하기때문에 해킹이나 보안 문제를 방지.

 

 

Virtual Machine과 Container 개념

Virtual Machine

정의

  • GuestOs , Middleware, Application 등을 가상화한 컴퓨팅 자원을 의미하며, 독립된 가상의 컴퓨터.

Container

정의

  • Container 엔진 위에서 동작하며, Middleware , Application으로 구성되어 독립된 가상의 컨테이너

 

Virtual Machine vs Container 차이 비교

Virtualmachine

  • 각 vm은 os를 각각 포함
  • vm 실행시 비교적 시간 소요
  • vm이미지는 os를 포함하고 있어 무겁다
  • 한개의 이미지는 오직 하나의 vm만 실행
  • 일반 pc에서 vm은 2~3정도까지만 구동이 가능.

Container

  • 모든 컨테이너들은 Host의 같은 Kernel들을 공유하며 동작.
  • Container 실행되는데 비교적 적은 시간 소요(2~3초)
  • Container 이미지는 layer의 개념으로 활용되기 때문에 많은 이미지를 보유해도 부담이 적다
  • 이미지를 버전 별 등 호율적을 관리가 가능(github처럼).
  • 일반적인 pc로 많은 컨테이너를 관리 가능
  • 한 개의 이미지로 여러개의 컨테이너 생성이 가능.

 

 

가상화란?

개념

하이퍼바이저

  • 가상머신을 생성하고 구동하는 소프트웨어

베어메탈

  • cpu, memory 등을 가지고 있는 물리적 서버 자체를 의미

Host OS

  • 베어메탈 바로 위에 설치된 운영체제

Guest Os

  • 하이퍼바이저 위 vm에서 구동되는 운영체제

Container Runtime

  • 컨테이너 실행 툴을 의미(Container Engine). = Docker

 

1) Host OS 에서 가상화

 

2) Bare Metal 위에서 가상화

전가상화와 반가상화

  • 반가상화의 경우 수정된 게스트 os 를 이용하므로, 속도적인 부분에서 전가상화보다 이점이 존재

 

3) Host os 및 Container Runtime 위에서 가상화

 

 

가상화 종류 3가지

Deployment mechanisms and supportability

 

 

LXC Container

  • Linux Container 는 Xen과 KVM 등 가상화 기술과는 다르게, 가상 머신을 생성하는것이 아니라, os가 사용하는 자원을 분리하여 여러 환경을 만들 수 있도록 하는 기술
  • 컨테이너 동작 방식은 하드웨어 시뮬레이션이 거의 필요없기 때문에 가상화 오버헤드가 거의 없다. 가상 머신 부팅, 종료가 따로 필요하지 않아 시작과 종료를 빠르게 가져갈 수 있다.

컨테이너 용어 정리

Chroots

  • 프로세스의 루트 디렉토리를 변경. 다른 프로세스가 액세스 할 수 있는 디렉토리를 제한할 수 있다.

namespace

  • 커널 자원들을 구분해서 이를 프로세스에 제공하여 그 프로세서의 소속된 자원처럼 가상화한다.
  • 프로세스테이블(PIDs) , ipc, 네트워크(IP주소, 방화벽 등) , User ID, 마운트 포인트 등을 가상화 할 수 있다.

Cgroup

  • 프로세스의 리소스를 격리하고, 사용을 제어하는 기능을 담당한다
    • 자원제한
      • 특정 프로세스의 메모리 사용량을 제한
    • 우선순위
      • 특정 프로세스에 더 많은 CPU와 디스크I/O처리량을 할당
    • 기록
      • 프로세스가 자원을 얼마나 사용하고 있는지 측정
    • 제어
      • 프로세스를 멈추거나, 프로세스의 체크포인트를 설정해주거나 재시작 가능.

가상머신 종류 네트워크

NAT(network address translation)

정의

  • 네트워크 주소 변환
  • ip패킷의 tcp/udp 포트 숫자와 소스 및 목적지의 ip주소등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술.

특징

  • 패킷에 변화가 생기기 때문에 ip나 tcp/udp 체크섬도 다시 계산되어 재기록 해야한다.
  • 따라서 네트워크 성능에 영향을 준다.
  • 사설 네트워크에 속한 여러개의 호스트가 하나의 공인 ip 주소를 사용하여 인터넷에 접속하기 위함.

NAT Network

종류

  • Static NAT
    • 공인 아이피와 내부 아이피가 1:1로 매칭되는 방식.
  • Dynamic NAT
    • 공인아이피 주소보다 내부 네트워크의 실제 호스트수가 적을경우 또는 모든 내부 아이피주소를 일일히 외부용 아이피주소로 고정적으로 할당할 필요가 없을 경우에 사용.
  • PAT(Port Address Translation)
    • 하나 또는 하나이상의 공인 아이피 주소를 여러개의 내부 아이피 주소들이 공유할 경우에 사용하며, 같은 공인 아이피 주소를 변환하고 포트를 다르게 변환하여 주는 방식.

Bridege

정의

  • 호스와 게스트를 하나로 연결하여 두개의 네트워크를 마치 하나의 네트워크 처럼 사용하는것.

특징

  • 호스트와 게스트가 서로 동등한 자격을 가지기 때문에 게스트 컴퓨터에도 호스트 컴퓨터와 같이 공인 아이피를 할당하거나 호스트 컴퓨터가 사설망에 연결된 경우 호스트와 동일한 아이피 대역을 할당할 수 있다.

Host Only

정의

  • 외부와 단절된 내부 네트워크

특징

  • 가상머신들 사이에서만 통신이 가능하다.

'k8s' 카테고리의 다른 글

쿠버네티스 CORE CONCEPT 2  (0) 2023.01.24
쿠버네티스 CORE CONCEPT  (0) 2023.01.11
쿠버테니스 아키텍처  (0) 2023.01.09
Iac 정복하기  (0) 2023.01.09
Docker Container 정복하기  (0) 2022.12.08
Comments