KakaoTech_Bootcamp/Weekly Scrum

[KTB] 2주차 위클리 스크럼

혬수 2024. 8. 8. 23:04

 

0708 Linux 심화

  • CGroup(Control Group): 프로세스 그룹에 대한 리소스 사용량 제한
  • Namespace
    • 프로세스가 리소스 격리해서 사용할 수 있도록
    • 종류: mnt, pid, net, user, ipc, uts
  • Chroot (Change root): 프로세스의 루트 디렉토리 변경
  • Unix Domain Socket
    • 동일한 호스트 내에서 프로세스 간 통신(Inter-Process Communication, IPC)을 위한 메커니즘 중 하나
    • 네트워크를 통해 데이터를 전송하지 않고 로컬 파일 시스템을 통해 통신
  • OverlayFS (Overlay File System)
    • 여러 디렉토리를 하나의 계층적 파일 시스템으로 병합하여 제공하는 기능
    • 구조
      • Lowerdir : 읽기 전용; 불변
      • Upperdir : 쓰기 전용
      • Workdir: 변경 사항 추적, 없으면 동작 X
      • Merged : Lowerdir + Upperdir

 

 

0709 협업 & Docker 개론

애플리케이션을 컨테이너라는 단위로 실행시키고 관리할 수 있는 도구

개발 환경과 운영 환경을 일치 → 신속하게 빌드, 테스트 및 배포

  • Image: 실행 가능한 소프트웨어의 패키지 → 기반으로 여러 컨테이너를 생성
  • Container: Docker 이미지 실행한 인스턴스 → 커널 공유

 

0710 Dockerfile

이미지를 생성하기 위한 용도로 작성되는 파일

  • 이미지 크기 최적화 → 멀티 스테이지 빌드
  • 레이어 캐싱 활용 → 덜 변경되는 파일 먼저 추가
  • DockerHub: Docker 저장소

 

 

0711 Docker Compose

여러 Docker 컨테이너를 지정하여 관리하는 도구

 

 

0712 Docker 보안

  • Rootless 모드
    • 일반 사용자 권한으로 컨테이너를 실행하는 모드
    • 컨테이너가 시스템의 주요 자원에 접근할 수 있는 권한이 제한 → 보안 강화
  • Privileged Container
    • Container은 Host에 독립된 namespace 영역을 가지고 있어서 Host 시스템의 주요자원에 접근 불가능 ; Unprivileged Container (일반적)
    • Privileged 옵션으로 Container 생성하면 Container 안에서 Host의 리눅스 커널 기능을 모두 사용 가능; 권한 가진 컨테이너⇒ 사용하지 않는걸 권장
    • Capabilities → 세분화하여 권한 열어줌
  • Namespace
  • Security Layer
    • AppArmor (Application Armor) : 프로그램을 수행할 수 있는 파일 및 시스템 자원 접근을 제한
    • Seccomp (Secure Computing Mode): 프로세스가 수행할 수 있는 시스템 호출(시스템 콜)을 제한

 

  • Docker 이해
    • CRI (Container Runtime Interface)
      • Kubernetes에서 도입된 개념으로, kubelet이 컨테이너 런타임을 호출할 수 있는 인터페이스
      • Docker은 Dockerd이 CRI 구현 X
    • OCI (Open Container Interface) : Container 규격 표준
    • Container Runtime
      • High level = Container Engine. 실행중인 컨테이너들 관리
      • Low level = Container Runtime. 컨테이너 실행

 

 

 

회고

몰아쳤던 .. Docker ...

강의 듣고 실습하고 정리하면 하루가 다 가고

팀 프로젝트도 어느정도 주제가 잡혔는데 조금 막막했다 

어디서부터 해야하는지 뭘 해야하는지 ㅠㅠ 

강사님께 질문 폭탄 던지는중