목록Docker (10)
Study_note
Cgroups이란? 단일 프로세스, 작업이라 불리는 프로세스 그룹에 대한 cpu, memory, storage 자원 할당 및 제어 하는 커널 기능 우선 cgroups-tool, stress를 설치해준다 cgroops-tool은 cgcreate,cgdelete 등을 사용할수있게한다 stress는 원하는만큼 cpu에 부하를 줄 수 있다 tool 생성후 cgroup 생성 하기전 명령어 top로 cpu 사용량을 보면 아래처럼 0%인것을 알 수 있다 그리고 df -hT로 마운트된파일을 보고 Cgroup에 위치를 찾고 그 안에 cpu 파일에 cgroup을 생성해준다 설치 후 아래와 같이 진행한다 cgcreate -g cpu:testcgroups # cgcreate 명령어로 testcgroups라는 cpu를 제한할수..
Namespace란? 프로세스를 실행할 때 시스템의 리소스를 분리해서 실행할 수 있도록 도와주는 기능으로 한 시스템의 프로세스들은 기본적으로 시스템의 리소스들을 공유해서 실행된다 네임스페이스 종류 PID Namespace 프로세스 ID(PID)를 분리하여 관리한다 네임 스페이스를 분리하면 프로세스에게 부여되던 PID 1번을 각 PID 네임스페이스에 할당 UTS Namespace uname 시스템 명령어에 의해서 반환되는 시스템 정보들 중 hostname, nis domain name 등 호스트의 네임스페이스 별로 hostname을 격리 NET Namspace 네트워크 환경을 분리하면 네임스페이스에 속한 프로세스들에 새로운 IP를 부여하거나 네트워크 인터페이스를 추가하는 것이 가능하며 네트워크 namesp..
chroot란? Change Root Directiory의 줄임말로 현재 프로세스와 자녀 프로세스의 루트 디렉터리를 변경하는 작업이다. chroot를 이용해 변경된 루트 디렉토리에서는 그 상위에 디렉터리에 파일 및 명령에 접근할 수 없게 격리시킬 수 있다. 이렇게 변경된 환경을 chroot jail이라고 부른다. 우선 root에서 newroot 디렉토리와 그 안에 bin, lib, lin64 3개의 디렉터리를 생성해준다 명령어는 mkdir -p /root/newroot/{bin,lib,lib64} bash, ls 명령어를 사용하면 다음과 같은 에러가 생성될 것이다 chroot /root/newroot/bin/bash (해당 디렉터리에서 /bin/bash 실행) chroot: failed to run co..
MSA란? MicroService Architecture의 줄임말로 작고, 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스로 구성된 프레임워크라고 할 수 있다. 또한 각 서비스가 분리되어있기 때문에 개별적으로 개발, 배치, 업데이트 확장이 가능하며 오늘날 급변하는 신속하고 민접한 변경이 가능하다 하지만 msa는 모놀리식에 비해 복잡해서 통합 테스트가 어렵다 모노리틱 아키텍처란? 단일 프로세스로 실행되거나 소수의 서버에 분산된 적은 수의 프로세스로 실행되는 애플리케이션 많은 기능들이 유기적으로 연결되어 있어 특정 기능만 업데이트를 해도 전체 애플리케 션을 다시 배포해야 하므로 개발과 배포가 어려워 업데이트 주기가 상대적으로 길다 컨테이너란? 컨테이너란 호스트 os상에 논리 적이 컨테이너를 만들고, 애..