본문 바로가기

개발47

PID Namespace / Container 기초, Process, 격리, 네임스페이스, 컨테이너, 간단정리, Linux, Init process Pids in Linux 프로세스가 생성될 때 fork syscall을 통해 pid가 부모로 전달 커널에 의해 생성된 첫 프로세스는 pid1을 가짐 모든 프로세스는 부모를 계속 타고 올라가면 pid1을 만나고, 해당 프로세스가 죽으면 시스템 재부팅이 필요 (Init process) 이렇듯 Linux namespace는 unshare syscall을 통해 생성되고, 해당 namespace로 바로 이동하는 것 하지만 PID namespace는 바로 이동하지 않음 완벽히 분리된 구조라기보단 fork로 계층화된 process이고, PID namespace안에 따로 pid1이 존재하는 구조 PID Namespace PID Namespace에서의 pid1이 죽으면 namepsace가 죽음 signal handler.. 2023. 1. 13.
Network Device 정리 / Bridge, Switch, Repeater, Hub, Router, 차이 Overlay Network에 대해서 공부하기 전에 미리 Network 기기들에 대해 정리해두면 좋을 것 같아서 찾아봤다. 기기에서 각각 사용하는 ARP / FDB table, Mac address 같은 것들은 따로 정리를 할 예정이다. (너무 길어질 것 같아서 ㅎㅎ..) 종류도 많고 면접에도 단골질문으로 나오는 리스트들이다. EX) Bridge와 Switch의 차이에 대해서 설명해봐주세요. 심지어 일을 할때도 문제가 생기면 일단 네트워크를 찾아보게 된다. 연결이 제대로 이뤄지는지 부터 확인하듯이, 네트워크 순단이 이뤄지는 구간이 어디인지? 각각 찾아서 간단하게 정리해봤다. (Network 용어 정리) https://dev-chicken.tistory.com/28 Network 용어 정리 / Mac, I.. 2023. 1. 13.
Container Image / 컨테이너 이미지, Kubernetes, Docker, Dockerfile Container Image 컨테이너 이미지는 root filesystem과 이미지 설정 정보로 저장 즉 이미지는 root filesystem에 복사되어 사용되는 것이고, Dockerfile과 같은 이미지 build관련 설정 명령어들로 이루어지는 것 - Dockerfile 이미지 build 관련 명령어들을 저장 아래 표에 간단하게 명령어들을 정리해봤다. 명령어 동작 FROM Base Image를 지정하는 것 FROM alpine:3.10과 같이 사용 ADD 파일을 이미지에 복사하여 추가 ADD test.zip / 보통 압축 해제할 때 사용 COPY ADD와 비슷한 기능을 함, 복사 COPY test.sh /copy-test.sh RUN shell 커맨드를 사용한다고 보면 됨 apt-get update 커.. 2023. 1. 11.
Mount Namespace / Container 기초, 파일시스템, 마운트, 네임스페이스, 컨테이너, 간단 정리 Mount Namespace 전에 공부할때 확인했듯이 리눅스는 루트 파일 시스템으로 구성 루트로 시작하는 계층 구조 파일, 디렉토리 제어 정보 생성, 삭제, 마운트 등의 기능을 제공 Mount namespace는 각 프로세스에 격리된 파일시스템 마운트 포인트를 제공 VFS(virtual filesystem)으로 데이터 구조, 저장 매체를 추상화하여 사용 가능 매체의 특징에 따라 파일시스템을 어떻게 나눌지 결정하는 것이 많음 unshare 명령어를 통해 Mount namespace 생성 가능 보통 이미지를 통해 mountns를 관리하는데, 중복된 이미지 때문에 리소스 낭비가 심할 수 있음 Union Mount 중복된 이미지로 인한 리소스 낭비를 해결하기 위해 사용 복수의 filesystem을 하나로 mou.. 2023. 1. 10.
ChatGPT 3.5 무서운 인공지능.. / GPT3.5, AI, 챗봇, 한국어인공지능, OpenAI ChatGPT 간단하게 설명하자면.. 대화형식으로 이야기를 할 수 있는 인공지능이다. 보통 유저가 질문하고 AI가 답변하는 형식인데, 궁금한 것에 대해 대신 검색해주고 결과를 정리해서 보여준다고 보면 될 것 같다. 사용 방법, 예시 https://openai.com/blog/chatgpt/ ChatGPT: Optimizing Language Models for Dialogue We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challeng.. 2023. 1. 8.
Network Namespace / Container 기초, 네트워크, 네임스페이스, 컨테이너, 간단 정리 Network Namespace 컨테이너가 볼수 있는 네트워크 인터페이스와 라우팅 테이블을 제한 lsns로 Network namespace 확인 가능 $lsns NS TYPE NPROCS PID USER COMMAND 4026534275 net 93 1 root ~~ ... 새로운 Network namespace는 loopback interface 만 존재 외부통신을 위해서는 한쌍의 virtual ethernet interface가 필요 추가로 인터페이스에 IP주소를 부여하여 라우팅테이블에도 등록해야함 다양한 케이스가 존재하고 각각의 케이스별로 연결 방식이 상이함 1. 호스트 안의 각각의 네임스페이스간 직접 통신 2. 호스트의 bridge를 통해 네임스페이스간 통신 3. namespace -> host .. 2023. 1. 6.
반응형