Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
iconfalse
Info

Deployment는 쿠버네티스에서 가장 널리 사용되는 오브젝트입니다. ReplicaSet을 이용하여 Pod을 업데이트하고 이력을 관리하여 롤백Rollback하거나 특정 버전revision으로 돌아갈 수 있습니다.

Info
titlehttp://wiki.ciscolinux.co.uk/index.php/Kubernetes/Deployment,_ReplicaSet_and_Pod

Image Removed

Deployment Manifest

Info
iconfalse

https://dev-k8sref-io.web.app/docs/workloads/deployment-v1/

Info
iconfalse
  • apiVersion: apps/v1    #쿠버네티스 API버전을 가리킴

  • kind: Deployment    #리소스 유형

  • metadata (ObjectMeta): 포드와 관련된 이름, 네임스페이스, 라벨, 그밖의 정보

    • namespace
    • name
    • labels
  • spec (DeploymentSpec): PodTemplate

    • template                       # Pods 명세

      • metadata
        • name
        • labels
      • spec
        • containers
        • volumes
    • selector                # Pods 선택자

    • replicas                 # 복제본수

    • strategy: RollingUpdate(default)   #배포 전략
  • status(DeploymentStatus) : 포드의 상태, 각 컨테이너의 설명 및 상태, 포드 내부의 IP 및 그밖의 기본 정보 등
Code Block
titlenginx-deploy.yaml
linenumberstrue
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
  labels:
    app: myapp-deploy
    type: front-end
spec:
  template:
    metadata:
      name: nginx
      labels:
        app: myapp
        type: front-end
    spec:
      containers:
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80
  selector:
    matchLabels:
      type: front-end
  replicas: 3

Deployment Strategy

Info


Info
  • 무중단 배포를 위해서는 Pod에 대하여 StartupProbe, livenessProbe, readinessProbe, terminationGracePeriodSeconds설정등이 요구 됩니다.



...