Hye Jin Ryoo

[컨테이너 공급망] Day 2: 런타임 격리 - Root와 Capability 줄이기

서론: 오늘의 문제 컨테이너는 가상 머신과 같은 강한 경계가 아니라 커널을 공유하는 프로세스 격리다. 사용자, capability, filesystem, syscall과 자원 제한을 최소 권한으로 설정한다. 1. Non-root 사용자 이미지에 전용 UID를 만들고 런타임에서도 non-root 실행을 강제한다. 숫자 UID와 파일 소유권을 맞춰 ...

[컨테이너 공급망] Day 1: 재현 가능한 이미지 - Multi-stage와 Digest

서론: 오늘의 문제 컨테이너 이미지는 실행 파일과 운영체제 조각, 의존성을 묶은 배포 산출물이다. 작은 크기보다 동일 입력이 동일 결과를 만들고 출처를 추적할 수 있는 빌드를 우선한다. 1. Multi-stage 경계 컴파일러와 패키지 관리자는 build stage에 남기고 실행에 필요한 파일만 runtime stage로 복사한다. stage 사...

[GitHub Actions 운영] Day 2: Matrix·Cache·Artifact - 빠르고 재현 가능한 CI

서론: 오늘의 문제 병렬 실행과 캐시는 CI를 빠르게 만들지만 조합 폭발과 오래된 의존성 문제를 만들 수 있다. 테스트 범위, cache key, artifact 수명을 재현성 중심으로 설계한다. 1. Matrix의 목적 지원 런타임과 운영체제 조합을 명시하되 모든 축을 곱하지 않는다. 대표 조합과 위험 조합을 선택하고 experimental 항...

[GitHub Actions 운영] Day 1: Workflow 기본기 - 이벤트에서 Job까지 경계 세우기

서론: 오늘의 문제 CI가 커질수록 YAML 줄 수보다 이벤트, 권한, job 의존성의 경계가 중요해진다. 어떤 변경이 어떤 검증을 실행하는지 예측 가능한 workflow 구조를 만든다. 1. 이벤트를 좁게 선택 push와 pull_request를 습관적으로 모두 켜면 같은 커밋을 중복 검증할 수 있다. branch와 path 필터를 사용하되 필...

[Linux 성능 분석] Day 5: 네트워크와 종합 진단 - 패킷 손실에서 원인까지

서론: 오늘의 문제 네트워크 문제는 연결 실패, 지연, 처리량 저하로 다르게 나타난다. 소켓, TCP, 인터페이스와 애플리케이션 timeout을 한 타임라인에 놓고 안전한 사건 대응 절차를 완성한다. 1. 연결과 대기열 listen backlog와 accept queue가 넘치면 새 연결이 지연되거나 실패한다. 연결 수뿐 아니라 SYN 상태, a...