Deployments

Yu Sang Min·2025년 5월 21일

CKA

목록 보기
11/110
post-thumbnail

📌 Deployments

  • 제품 환경에서 응용 프로그램을 배포하기 위한 Controller

❕예시

  1. 웹서버가 운영환경에서 배포 되어야 함
  2. 한 개가 아니라 여러 개의 웹 서버 인스턴스가 실행됨
  3. Docker Hub에 새로운 버전의 응용 프로그램이 상용화 될때 무중단 배포
  4. 한번에 전체 인스턴스를 업그레이드 하는게 아니라 하나씩 업데이트
  5. 롤링 업데이트
  6. 업데이트 중 에러가 발생해 업그레이드를 취소하는 것도 가능
  7. 롤 아웃

💡Architecture

  • Deployment가 ReplicaSet보다 더 포괄적인 구조
  • 즉, Deployment는 ReplicaSet의 기능과 개념을 포함함

📋 Definition

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
  labels: 
    tier: frontend

spec:
  template:
    metadata:
      name: myapp-pod
      labels:
        tier: frontend
      spec:
        containers:
        - name: nginx
          image: nginx
  replication: 3
  selector:
    matchLabels:
      tier: frontend

⌨️ Command

$ kubectl create -f deployment-definition.yaml
$ kubectl get deployments
$ kubectl get replicaset // deployment가 replicaSet을 내포하고 있는 개념이라 조회 가능
$ kubectl get pods
$ kubectl get all // 쿠버네티스가 생성한 모든 object를 조회
profile
React, Node.js, AWS, Git, Github, Github Action, Docker, K8S

0개의 댓글