Home [Kubernetes]Controller: Deployment 실습
Post
Cancel

[Kubernetes]Controller: Deployment 실습

1번 예제

다음의 조건으로 Deployment를 사용하는 dep-lab.yaml 파일을 생성하고 apply 명령으로 동작

  • 아래 설정의 Pod 2개 운영
    • labels: {name: apache, app: main, rel: stable}
    • container: httpd:2.2
    • 히스토리 기록
  • annotations( kubernetes.io/change-cause: version 2.2) 추가로 설정
    • deployment name: dep-mainui
    • container: httpd:2.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# dep-lab.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dep-mainui
  annotations:
    kubernetes.io/change-cause: version 2.2
spec:
  replicas: 2
  selector:
    matchLabels:
      name: apache
      app: main
      rel: stable
  template:
    metadata:
      labels:
        name: apache
        app: main
        rel: stable
    spec:
      containers:
      - name: deplab
        image: httpd:2.2
1
kubectl create -f dep-lab.yaml --record

2번 예제

위의 동작되는 dep-lab.yaml의 이미지를 httpd:2.4 버전으로 Rolling update

  • apply 명령을 통해 진행
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# [modified] dep-lab.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dep-mainui
  annotations:
    kubernetes.io/change-cause: version 2.2
spec:
  replicas: 2
  selector:
    matchLabels:
      name: apache
      app: main
      rel: stable
  template:
    metadata:
      labels:
        name: apache
        app: main
        rel: stable
    spec:
      containers:
      - name: deplab
        image: httpd:2.4
1
kubectl apply -f dep-lab.yaml --record

3번 예제

현재의 dep-mainui 히스토리(history)를 확인하고 rollback

1
2
kubectl rollout history deploy dep-mainui
kubectl rollout undo

4번 예제

현재 동작중인 Pod의 httpd 이미지 버전 확인

1
2
kubectl describe deploy dep-mainui
kubectl describe pod dep-mainui-67b4cc7d99-7vnmm
This post is licensed under CC BY 4.0 by the author.