Kubernetes Deployment

2023. 4. 6. 22:31·⚙️ Ops/Kubernetes

💡 Deployments

replicaset의 상위 오브젝트

replicaset에 없는 배포 작업의 세분화, 롤링업데이트, revision 등의 기능을 사용 가능

img


Yaml & kubectl 기반 Deployment 생성

# 생성, --replicas=3 으로 레플리카 수 지정 가능
kubectl create deployment [deploy-name] --image=[image-name] --dry-run=client -o yaml > [yaml-name]

# Yaml 생성
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
# 생성
kubectl apply -f [deployment-name].yaml

# Deployment Update
kubectl set image deployment/[deploy-name] [container-name]=[image-name]:[version]

# revision
kubectl apply -f deployment-nginx.yaml --record     * --record : revision Enable

kubectl set image deployment [deploy_name] nginx=nginx:1.11 --record   * update image & revision

kubectl rollout history deployment [deploy_name]   * revision history   1 전 / 2 최근

kubectl rollout undo deployment [deploy_name] --to-revision=1   * revision 1번으로 rolling update

# rollout 기록에 change-cause 버전 기록
metadata:
  annotations:
    kubernetes.io/change-cause: [기록할 단어]

# Deployment 배포 일시중지
kubectl rollout pause deployment/[deploy-name]

# Deployment 배포 재시작
kubectl rollout resume deployment/[deploy-name]

# Deployment 전체 Pod 재시작
kubectl rollout restart deployment/[deploy-name]
저작자표시 (새창열림)

'⚙️ Ops > Kubernetes' 카테고리의 다른 글

Kubernetes DaemonSet  (0) 2023.04.07
Kubernetes StatefulSet  (0) 2023.04.06
Kubernetes Labels  (0) 2023.04.06
Kubernetes Namespace  (0) 2023.04.06
Kubernetes Pod  (0) 2023.04.06
'⚙️ Ops/Kubernetes' 카테고리의 다른 글
  • Kubernetes DaemonSet
  • Kubernetes StatefulSet
  • Kubernetes Labels
  • Kubernetes Namespace
신건우
신건우
조용한 개발자
  • 신건우
    우주먼지
    신건우
  • 전체
    오늘
    어제
    • 분류 전체보기 (422)
      • 📘 Frontend (71)
        • Markup (1)
        • Style Sheet (2)
        • Dart (8)
        • Javascript (12)
        • TypeScript (1)
        • Vue (36)
        • React (2)
        • Flutter (9)
      • 📘 Backend (143)
        • Java (34)
        • Concurrency (19)
        • Reflection (1)
        • Kotlin (29)
        • Python (1)
        • Spring (42)
        • Spring Cloud (5)
        • Message Broker (5)
        • Streaming (2)
        • 기능 개발 (5)
      • 💻 Server (6)
        • Linux (6)
      • ❌ Error Handling (11)
      • 📦 Database (62)
        • SQL (31)
        • NoSQL (2)
        • JPQL (9)
        • QueryDSL (12)
        • Basic (4)
        • Firebase (4)
      • ⚙️ Ops (57)
        • CS (6)
        • AWS (9)
        • Docker (8)
        • Kubernetes (13)
        • MSA (1)
        • CI & CD (20)
      • 📚 Data Architect (48)
        • Data Structure (10)
        • Algorithm (8)
        • Programmers (17)
        • BaekJoon (5)
        • CodeUp (4)
        • Design Pattern (4)
        • AI (0)
      • ⚒️ Management & Tool (8)
        • Git (7)
        • IntelliJ (1)
      • 📄 Document (10)
        • Project 설계 (6)
        • Server Migration (3)
      • 📄 책읽기 (2)
        • 시작하세요! 도커 & 쿠버네티스 (2)
      • 🎮 Game (4)
        • Stardew Vally (1)
        • Path of Exile (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      React #Markdown
      GStreamer #Pipeline
      Lock #Thread #Concurrency
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    신건우
    Kubernetes Deployment
    상단으로

    티스토리툴바