쿠버네티스 Nginx 포드 배포하기

KubernetesBeginner
지금 연습하기

소개

이번 챌린지에서는 최신 버전의 Nginx 웹 서버를 실행하는 쿠버네티스 포드 (Pod) 를 배포하는 과제를 수행합니다. 여러분의 목표는 포드가 정상적으로 구동되도록 설정하고, 서비스를 통해 외부에서 접근 가능하도록 만드는 것입니다. 포드 배포를 위한 쿠버네티스 YAML 파일을 작성하고, Nginx 포드를 노출하기 위해 NodePort 타입의 서비스를 생성해야 합니다.

이 콘텐츠는 챌린지 (Challenge) 입니다. 가이드가 제공되는 실습 (Guided Lab) 과 달리, 학습 단계를 따라가는 것이 아니라 스스로의 힘으로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상담하거나 모범 답안을 확인해 보세요. 통계 데이터에 따르면 이 챌린지는 초급 수준이며, 통과율은 98%입니다. 또한 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

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 서비스를 통해 접근 가능한 상태가 되었는지 확인하는 과정을 거쳤습니다.