본문 바로가기

개발/개발공부38

Kubernetes Cronjob / 쿠버네티스, 크론잡, container, k8s, 반복, 크론잡 Kubernetes Cronjob Kubenetes에서 제공하는 기능 중 하나이며 Linux의 service + timer의 기능과 비슷 말그대로 Cronjob을 제공 특정 시간에 script를 실행하도록 한다거나.. 가능 apiVersion: batch/v1beta1 kind: CronJob metadata: name: test spec: schedule: "* * * * *" jobTemplate: spec: template: spec: containers: - name: chicken-test image: {{이미지 주소}} imagePullPolicy: Always command: ["python", "main.py"] args: ["env", "test"] env: - name: "chicken.. 2023. 1. 16.
User Namespace / Container 기초, 격리, 네임스페이스, 컨테이너, 간단정리, capabilities, 권한 User Namespace user ID와 group ID를 구분하여, container가 특정 user ID, group ID만 볼 수 있도록 구성 호스트에서는 권한이 없는 일반 유저를 container안에서는 root로 보여지도록 해주는 것 즉, 앞선 PID namespace와 같이 중첩된 권한을 갖게 된다는 뜻 보안적으로 host에 영향을 끼치지 않도록 도와줌 root@ubuntu1804:~# unshare -U nobody@ubuntu1804:~$ id -u 65534 nobody@ubuntu1804:~$ id -g 65534 nobody@ubuntu1804:~$ exit logout root@ubuntu1804:~# id -u 0 root@ubuntu1804:~# id -g 0 unshare -.. 2023. 1. 14.
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.
반응형