#인프라

301 편의 글

K8s 중급 #2 PV / PVC / StorageClass — 영속 데이터 모델
20 분 소요

K8s 중급 #2 PV / PVC / StorageClass — 영속 데이터 모델

[K8s 기초 #6](/ko/posts/k8s-basics-6)까지 매니페스트에 박힌 설정과 비밀을 외부 객체로 분리했지만, 한 차원이 더 남아 있습니다 — 데이터 자체입니다. 컨테이너 안 파일시스템은 컨테이너가 죽으면 같이 사라지지만, DB 데이터,사용자 업로드,메트릭 시계열은 Pod의 생애주기 너머까지 살아남아야 합니다. 이번 글은 세 객체 `PersistentVolume`, `PersistentVolumeClaim`, `StorageClass`의 삼각관계, 정적,동적 프로비저닝, `accessModes`, `reclaimPolicy`, `volumeBindingMode`, 그리고 [#1](/ko/posts/k8s-intermediate-1)에서 짧게 짚은 `volumeClaimTemplates`가 그 위에서 진짜로 무엇을 만들어 내는지를 한 사이클로 정리하겠습니다.

도커 고급 강좌 #5 리소스 제한과 cgroups
8 분 소요

도커 고급 강좌 #5 리소스 제한과 cgroups

컨테이너의 메모리 한계, CPU 한계, OOMKilled의 진단, JVM과 Node 같은 런타임이 컨테이너 한계를 어떻게 인식하는지, 그리고 ulimit / pids로 다른 격리 수단까지 정리합니다. cgroups v2 위에서 도는 한계의 정확한 동작을 정리하겠습니다.

AWS 중급 #5 Route 53: 도메인과 DNS
7 분 소요

AWS 중급 #5 Route 53: 도메인과 DNS

AWS의 매니지드 DNS인 Route 53. 도메인 등록과 Hosted Zone, A / AAAA / CNAME / Alias 레코드의 차이, 그리고 Simple / Failover / Latency / Geolocation 라우팅 정책까지 정리합니다.

K8s 중급 #1 StatefulSet / DaemonSet / Job / CronJob — Deployment가 아닌 다른 컨트롤러들
16 분 소요

K8s 중급 #1 StatefulSet / DaemonSet / Job / CronJob — Deployment가 아닌 다른 컨트롤러들

[K8s 기초 #4](/ko/posts/k8s-basics-4)의 Deployment는 stateless 워크로드 위에 서 있는 컨트롤러입니다. 같은 Pod 여러 개가 서로 같다고 가정하고, 사라져도 다시 띄우면 그만이라는 단순한 모델입니다. 그러나 정체성과 디스크가 필요한 DB, 노드마다 정확히 하나씩 떠야 하는 에이전트, 한 번 실행하고 끝나야 하는 마이그레이션, 매일 도는 백업 — 이 네 가지는 Deployment로는 표현되지 않습니다. 이번 글은 그 역할을 담당하는 네 컨트롤러 `StatefulSet`, `DaemonSet`, `Job`, `CronJob`을 한 편에 정리하겠습니다.

RHEL 중급 #6 작업 스케줄링 — cron, systemd timer, at
10 분 소요

RHEL 중급 #6 작업 스케줄링 — cron, systemd timer, at

RHEL 9에서 시간 기반 작업을 돌리는 도구 4가지를 운영 관점에서 정리합니다. 전통의 cron과 사용자 crontab, 머신이 꺼져 있던 시간을 보충하는 anacron, 한 번만 예약 실행하는 at, 그리고 cron의 모던 대체인 systemd timer까지 — 어느 도구를 어느 상황에 쓸지 가이드와 함께 다룹니다.

도커 고급 강좌 #4 SBOM과 서명 — 공급망 보안의 입구
7 분 소요

도커 고급 강좌 #4 SBOM과 서명 — 공급망 보안의 입구

이 이미지 안에 무엇이 들어 있는가를 기계가 읽을 수 있는 형태(SBOM)로 만들고, 그 이미지를 누가 만들었는지 cosign 서명으로 검증합니다. xz 사고 이후 표준이 된 공급망 보안 도구 한 묶음을 정리합니다.

AWS 중급 #4 RDS: 매니지드 DB, 백업, 파라미터 그룹
8 분 소요

AWS 중급 #4 RDS: 매니지드 DB, 백업, 파라미터 그룹

AWS의 관계형 DB 매니지드 서비스 RDS. EC2 위 DB와의 비교, 자동 백업과 스냅샷과 PITR, Multi-AZ, 파라미터 / 옵션 그룹, 그리고 마이너 vs 메이저 업그레이드의 운영 흐름까지 정리합니다.

K8s 기초 #7 Namespace와 라벨 — 클러스터 정리법
14 분 소요

K8s 기초 #7 Namespace와 라벨 — 클러스터 정리법

시리즈를 따라오면서 한 가지 사실이 조용히 지나갔습니다 — 지금까지 만든 Pod, Deployment, Service, ConfigMap, Secret이 전부 default 네임스페이스 한 곳에 들어갔다는 점. 그리고 [#4](/ko/posts/k8s-basics-4) selector부터 라벨도 쭉 보고 있었지만 정리는 안 했습니다. 이번 글은 그 두 도구 — Namespace와 라벨 — 로 클러스터를 사람이 읽을 수 있는 모양으로 정리하는 법, 그리고 시리즈 7편의 도착점에서 다음 트랙(K8s 중급)을 짧게 예고합니다.

도커 고급 강좌 #3 이미지 보안 — non-root, distroless, Trivy 스캔
8 분 소요

도커 고급 강좌 #3 이미지 보안 — non-root, distroless, Trivy 스캔

컨테이너 보안의 기본 도구를 한곳에 모으겠습니다. USER로 비특권 사용자 떨어트리기, read-only 루트와 tmpfs, capabilities drop, distroless로 공격 표면 좁히기, Trivy/Grype의 취약점 스캔, hadolint의 Dockerfile 린트까지 정리합니다.

AWS 중급 #3 S3: 정적 호스팅, presigned URL
8 분 소요

AWS 중급 #3 S3: 정적 호스팅, presigned URL

AWS의 가장 오래된 객체 스토리지 S3. 버킷의 모양과 이름의 글로벌 유일성, 정책과 Public Access Block, 정적 사이트 호스팅, presigned URL, 그리고 스토리지 클래스로 비용을 낮추는 패턴까지 정리합니다.

K8s 기초 #6 ConfigMap과 Secret — 설정 분리
16 분 소요

K8s 기초 #6 ConfigMap과 Secret — 설정 분리

[#5](/ko/posts/k8s-basics-5)까지 만든 매니페스트에는 한 가지가 어색하게 남아 있습니다 — 이미지 태그,포트,도메인 같은 값이 매니페스트에 직접 적힌 채라는 점. 이번 글은 두 객체 ConfigMap과 Secret을 정리하겠습니다. 12-factor의 "설정은 환경에 둔다"를 K8s에서 푸는 모양, env / envFrom / volume 세 가지 주입 방식, Secret이 진짜로 암호화는 아니라는 한 줄, 설정이 바뀌었을 때 Pod 재시작이 필요한 이유까지 한 사이클 따라가겠습니다.

RHEL 중급 #5 로그 관리 — journald, rsyslog, log rotation
10 분 소요

RHEL 중급 #5 로그 관리 — journald, rsyslog, log rotation

RHEL 9의 로그는 journald가 메인, rsyslog가 보조이고, 텍스트 로그 파일은 logrotate로 자동 회전됩니다. journald의 보관 정책과 디스크 사용량 제어, 옛 표준이지만 여전히 살아 있는 rsyslog의 역할, 원격 서버로 로그를 모으는 흐름, 그리고 logrotate 규칙을 직접 작성하는 방법까지 운영 관점에서 정리합니다.