Hye Jin Ryoo

[컨테이너 공급망] Day 5: 운영과 폐기 - 실행 중인 이미지를 끝까지 관리하기

서론: 오늘의 문제 안전한 이미지를 한 번 빌드해도 base image와 의존성은 계속 노후화된다. 실행 inventory, 재빌드, 단계적 배포와 폐기로 공급망의 마지막 구간을 운영한다. 1. 실행 Inventory registry에 있는 이미지가 아니라 실제 환경에서 실행 중인 digest를 수집한다. 서비스와 소유 팀, 환경, 배포 시간을 ...

[컨테이너 공급망] Day 4: SBOM·서명·Provenance - 이미지 출처 증명하기

서론: 오늘의 문제 취약점 scanner 결과만으로는 이미지에 무엇이 있고 누가 어떤 과정으로 만들었는지 증명할 수 없다. SBOM, digest, 서명과 provenance를 연결해 배포 전 검증한다. 1. SBOM의 역할 OS package와 언어 의존성, 버전을 기계가 읽을 수 있는 목록으로 만든다. 생성 시점과 도구, image diges...

[컨테이너 공급망] 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 항...