목록2024/09/01 (6)
후니의 IT인프라 사전
동시입력- 기능 : 터미널을 여러개 동시에 띄워놓고 동시에 입력할 수 있도록 합니다. 여러 대의 서버를 한꺼번에 컨트롤 하기 좋습니다.- 단축키 : ⌥+⌘+iShell > Broadcast Input > Broadcast Input to All Panes in Current TabShell > Broadcast Input > Broadcast Input to All Panes in All Tab
해당 내용은 https://medium.com/@odyssey.unheard/setup-vagrant-in-apple-silicon-mac-9f3cc5c3345b를 참조해서 작성하였습니다. M1으로 넘어오면서 현재 arm 아키텍처에 대한 virtualbox 지원이 안되고 있습니다. 다양한 우회방법이 있겠지만 제가 사용하는 방법을 공유합니다. 1. vagrant 설치먼저 hashicorp에서는 실리콘 맥에 대한 vagrant 설치를 지원합니다. 손쉽게 brew로 설치할 수 있습니다.https://developer.hashicorp.com/vagrant/install에서도 설치가 가능합니다.brew tap hashicorp/tapbrew install hashicorp/tap/hashicorp-vagran..
문제점전용파일시스템이 있더라도 추가적인 문제들이 있었다. 여전히 컨테이너에서 호스트의 다른 프로세스들이 보이고, 호스트의 네트워크를 공유한다. 여전히 루트 권한을 사용하고 있었다. 이를 개선하기 위해 네임스페이스 개념이 등장한다. 네임스페이스의 특징앞서 사실 격리를 설명하면서 마운트 네임스페이스를 먼저 살펴보았다.- 모든 프로세스는 타입별로 네임스페이스에 속한다.- 자식 프로세스는 부모의 네임스페이스를 상속한다. 네임스페이스 사용방법unshare [옵션] 프로그램 [[arguments ...]] 옵션-m(mount)-u(uts)-i(ipc)-p(pid)-n(net)-U(user) 실습실습 전 먼저 네임스페이스를 확인하는 방법을 알아보자.네임스페이스 확인 방법 #1proc에서 확인하는 방법이 있다. []..
패키징의 문제 (중복, 그로 인한 비용 등)패키징으로 잘 모으긴 했지만 우리가 서버를 사용할 때 단순히 운영체제만 사용하는 것이 아니고, nginx, mysql 등 다양한 프로그램을 올려서 사용하고 있다. 이 경우 운영체제 + nginx, 운영체제 nginx+mysql 등 추가될 때마다 이미지를 만들어야하고, 개개인 별로 이미지를 만들게 되면서 중복이 많이 발생하게 된다. 이 경우 점점 불필요한 비용과 비효율이 발생하게 되므로 이러한 중복문제를 해결하고자 한다. 오버레이 파일 시스템 (Overlay Filesystem)그래서 이러한 중복 문제를 해결하기 위해 다음과 같은 생각을 한다. 이를 오버레이 파일시스템이라고 한다.- 여러 이미지 레이어를 하나로 마운트- Lower 레이어(이미지 레이어)는 Re..
chroot의 문제점앞서 chroot를 통해서 컨테이너의 격리를 학습할 수 있었다. 그런데 chroot의 단점은 탈옥이 가능하다는 것이다. 탈옥 코드#include #include int main(void){ mkdir(".out", 0755); chroot(".out"); chdir("../../../../../"); chroot("."); return execl("/bin/sh", "-i", NULL);} 해당 코드를 간단하게 분석하면 일단 현재 디렉터리에 .out 폴더를 755권한으로 생성한다. 그리고 프로세스의 루트 디렉터리를 .out 디렉터리로 변경해, 프로세스가 그 디렉터리 안에서만 파일 시스템에 접근할 수 있도록 한다. 새로운 루트 디렉터리 내에서 가능한 최상위 디렉터리로 이동한다. 현재 디..
가시다 님의 KANS 스터디 내용 중 컨테이너의 격리 부분을 잘 설명한 유명한 동영상 '이게 돼요? 도커 없이 컨테이너 만들기' 영상을 정리한 내용을 공유합니다. 해당 내용은 동영상 https://www.youtube.com/watch?v=mSD88FuST80 에 매우 잘 나와있으며,https://github.com/sam0kim/container-internal 깃허브에서 자료를 다운받으실 수 있습니다. 컨테이너의 기원 (일종의 최초 격리)컨테이너의 기원은 1979년 chroot로 보는 견해가 많다.서버에는 다양한 유저들이 접속하므로 악의적인 사용자(해커)도 접근할 수가 있다. 따라서 이를 막기 위해 사용자 프로세스를 가두는 방법을 고안했다. chroot는 루트 디렉토리 밖으로는 프로세스가 나갈 수..