본문으로 건너뛰기
SKS (Smileserv Kubernetes System) Pod 배포 메뉴얼 ver. 2025.01.21

Pod 배포

yaml 파일로 포드 생성

yaml 파일을 작성하여 포드를 생성 할 수 있습니다.

  1. 아래와 같이 간단한 정보가 들어있는 pod_test.yaml 을 생성 합니다.

pod_01

apiVersion: v1
kind: Pod
metadata:
name: manual-pod
labels:
app: manual-test
spec:
containers:
- name: manual-container
image: nginx
  1. 생성한 파일을 적용하여 포드를 생성 합니다.
kubectl apply -f pod_test.yaml

pod_02

  1. 포트가 잘 생성 되었는지 확인 합니다.
kubectl get pod

pod_03

컨트롤러로 포드 생성, 관리

직접 생성한 pod 는 장애가 발생하거나, 삭제시 수동으로 직접 생성 해야 합니다.

효율적인 서비스 운영을 위해서는 Deployment ,Statefulset 와 같은 컨트롤러 를 사용하는 것이 권장 됩니다.

Deployment 는 API , 웹 서버 와 같은 stateless 어플리케이션 에 주로 사용하고

Statefulset 은 Database 와 같은 Stateful 서비스 운영시 사용 합니다.

Deployment 로 포드 배포하기


  1. deployment 생성을 위한 yaml 파일을 작성합니다.
    아래 샘플은 접속자 정보를 응답 해주는 whoami 포드를 배포 합니다.

whoami_01

apiVersion: apps/v1
kind: Deployment
metadata:
name: whoami
spec:
replicas: 3
selector:
matchLabels:
name: whoami
template:
metadata:
labels:
name: whoami
spec:
containers:
- name: whoami
image: quanhua92/whoami:latest
imagePullPolicy: Always
ports:
- containerPort: 8080

  1. 작성한 yaml 파일로 디플로이먼트를 생성 합니다.
kubectl apply -f deploytment_whoami.yaml

whoami_02


  1. 디플로이먼트 상태를 확인 합니다.
kubectl get deployment

whomai_03


  1. 디플로이먼트에 의해 자동으로 생성, 관리 되는 포드 상태를 확인 할 수 있습니다.
kubectl get pod -o wide

whomai_04



포드를 생성 할 때 사용하는 컨테이너 이미지는 Docker Hub 와 같은 공식 컨테이너 레지스트리 에서 검색 할 수 있으며,
필요시 직접 이미지를 만들어서 사용 할 수 있습니다.