application/deployment.yaml

agnusdei·2023년 10월 30일
apiVersion: apps/v1  # 사용할 API 버전을 지정합니다 (apps/v1은 앱 관리를 위한 API 버전을 의미합니다).
kind: Deployment  # 이 리소스의 종류를 지정합니다. 이 경우에는 Deployment입니다.

metadata:
  name: nginx-deployment  # Deployment 리소스의 이름을 지정합니다.

spec:
  selector:  # ReplicaSet이 파드를 선택하기 위한 레이블 셀렉터를 정의합니다.
    matchLabels:  # 이 레이블 셀렉터는 아래 파드 템플릿에서 정의한 레이블과 일치하는 파드를 선택합니다.
      app: nginx

  replicas: 2  # ReplicaSet이 관리할 파드의 복제본 수를 지정합니다. 이 경우 2개의 파드를 유지합니다.

  template:  # 파드 템플릿을 정의합니다. 이 템플릿은 ReplicaSet이 생성하는 파드를 설명합니다.
    metadata:
      labels:  # 이 파드의 레이블을 정의합니다.
        app: nginx

    spec:
      containers:  # 파드 내의 컨테이너 목록을 정의합니다.
      - name: nginx  # 컨테이너의 이름을 지정합니다.
        image: nginx:1.14.2  # 실행할 도커 이미지를 지정합니다 (여기서는 nginx:1.14.2).
        ports:  # 컨테이너의 포트 설정을 정의합니다.
        - containerPort: 80  # 이 컨테이너는 80번 포트를 사용합니다.

이 코드는 "nginx-deployment"라는 이름의 Deployment를 생성하며, 이 Deployment는 "app: nginx" 레이블을 가진 파드를 2개 유지합니다. 이 파드는 Nginx 웹 서버 이미지를 사용하며 80번 포트로 서비스됩니다. Deployment는 언제든지 원하는 수의 파드를 유지하도록 관리하며, 파드가 중지되면 새로운 파드를 자동으로 시작하여 안정적인 서비스를 유지합니다.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글