image = "nginxinc/nginx-unprivileged:stable"
nginxinc라는 저장소에서,
nginx-unprivileged 이미지를
stable 태그 버전으로 가져와서 실행해라
--------------------------------
이미지는 항상 이 구조를 가짐
[레지스트리/] 리포지토리/태그
docker.io/nginxinc/nginx-unprivileged:stable
도커허브 레지스트리 / 조직,리포지토리 네임스페이스 / 이미지 이름 / 태그(버전)
-------------------------------
이 이미지가 하는 일
Deployment가 Pod를 만들 때 흐름
1. Node(EC2)가 선택됨
2. kubelet이 컨테이너 실행 준비
3. container runtime(containerd)가 img를 레지스트리에서 Pull
4. 컨테이너 생성 / 실행
* VM OS ISO같은 개념인데 더 가볍고 레이어 구조 (컨테이너 본질)
Pod 안에서 실행될 Nginx 실행환경 파일세트를 지정하는 것
---------------------------------
nginx-unprivileged
* k8s 보안 정책 (PSP / PodSecurity / OPA 등) 에서는
root 컨테이너를 막는 경우가 많아서, Unprivileged 버전이 실습/운영에 안전하다
| 일반 nginx | unprivileged | |
| 실행 유저 | root | non-root |
| 기본 포트 | 80 | 8080 |
| 보안 | 낮음 | 높음 |
| K8s 적합성 | 보통 | 매우 적합 |
------------------------------------------------
태그는 버전 라벨
latest -> 최신(변동)
1.25 -> fixed
stable -> 안정 릴리즈 라인
운영에서는 보통 digest나 고정버전 권장
-----------------------------------------------
Pod 내부 실제 모습
Pod
└─ Container (nginx)
├─ nginx binary
├─ config
├─ web root
└─ runtime libs
즉 웹서버 OS + 프로세스 패키지 세트
--------------------------------------------
ECS vs EKS
| ECS | EKS |
| Task Definition Image | Deployment IMG |
| ECR repo | DockerHub / ECR |
| Container run | Pod container |
--------------------------------------------
컨테이너 철학
노드마다 Nginx 설치x
이미지로 환경 통째 배포 O
-
동일 실행환경
롤백 쉬움
버전 관리
스케일 아웃 빠름
----------------------------------------------
실무에서는 DockerHub보다 ECR을 더 많이 쓴다
이유
- VPC 내부 트래픽 (private Pull)
- IAM 인증 (non-pw)
- 비용 / 속도 유리
- 이미지 스캔
- 라이프사이클 정책
*ECR IMG path
123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/nginx:latest
이러면 ECR auth -> IMG Pull -> Pod 실행
---------------------------------------------
ECS vs EKS pull
ECS :
Task Execution이 자동 인증
설정 거의 없음
EKS :
노드 또는 Pod가 IAM 인증 필요
1 - Managed Node Group에 Node IAM Role을 붙인다
AmazonEC2ContainerRegistryReadOnly
노드가 대신 Pull
2 - IRSA (Pod 단위)
Pod ServiceAccount <-> IAM Role 매핑
세밀 권한 제어 가능
------------------------------------
실무 선택 기준\
| 상황 | Registry |
| 오픈소스 테스트 | DockerHub |
| 사내 앱 | ECR |
| 멀티클라우드 | GHCR / Harbor |
| 보안/폐쇄망 | Private Registry |
'[2] 250909~ 클라우드 > [b] 12월 : Terraform + Ansible' 카테고리의 다른 글
| [48] cluster_enpoint_public_access (0) | 2026.02.16 |
|---|---|
| [47] cluster_ca_certificate (0) | 2026.02.16 |
| [45] EKS 코드 (0) | 2026.02.15 |
| [44] ENI vs CNI (0) | 2026.02.15 |
| [43] EKS 콘솔 (0) | 2026.02.15 |