소개
이번 챌린지에서는 최신 버전의 Nginx 웹 서버를 실행하는 쿠버네티스 포드 (Pod) 를 배포하는 과제를 수행합니다. 여러분의 목표는 포드가 정상적으로 구동되도록 설정하고, 서비스를 통해 외부에서 접근 가능하도록 만드는 것입니다. 포드 배포를 위한 쿠버네티스 YAML 파일을 작성하고, Nginx 포드를 노출하기 위해 NodePort 타입의 서비스를 생성해야 합니다.
Nginx 포드 배포
신입 데브옵스 (DevOps) 엔지니어로서 여러분은 최신 Nginx 웹 서버를 실행하는 쿠버네티스 포드를 배포하는 업무를 맡게 되었습니다. 포드가 안정적으로 실행되고 서비스를 통해 원활하게 접속되는지 확인해야 합니다.
수행 과제
- 최신 Nginx 컨테이너를 실행하는 포드 배포용 쿠버네티스 YAML 파일을 생성합니다.
- Nginx 포드를 외부로 노출하기 위해 NodePort 타입의 서비스를 생성합니다.
요구 사항
- 쿠버네티스 YAML 파일은
~/project디렉토리에 생성해야 합니다. - YAML 파일의 이름은
nginx-pod.yaml로 지정합니다. - Nginx 컨테이너 이미지 버전은 반드시 최신 (latest) 이어야 합니다.
- 서비스 타입은 반드시
NodePort여야 합니다.
예시
YAML 파일 구성 예시:
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
type: placeholder
ports:
- port: 80
targetPort: 80
서비스 접속 URL 예시:
http://<node-ip>:<node-port>
힌트
- 쿠버네티스 클러스터와 상호작용하려면
kubectl명령어를 사용하세요. - 포드가 정상적으로 실행 중인지, 그리고 서비스가 포드를 올바르게 노출하고 있는지 확인하세요.
요약
이번 챌린지에서는 최신 Nginx 웹 서버를 실행하는 쿠버네티스 포드를 배포하고, 이를 외부로 노출하기 위한 서비스를 생성해 보았습니다. 쿠버네티스 YAML 파일을 작성하여 포드와 서비스를 정의하고, 포드가 정상적으로 구동되어 NodePort 서비스를 통해 접근 가능한 상태가 되었는지 확인하는 과정을 거쳤습니다.


