Kubernetes 자세한 설명(22) - 배포 컨트롤러

오늘은 Linux 운영 및 유지 관리에 대한 관련 지식을 계속해서 소개하겠습니다.이 기사의 주요 내용은 배포 컨트롤러입니다.

1. 배포 컨트롤러 개요

이전 Kubernetes 상세설명(20) - ReplicaSet ControllerKubernetes 상세설명(21) - ReplicaSet Controller Practical Application 에서 Kubernetes의 ReplicaSet 컨트롤러를 소개했는데, 오늘은 또 다른 Kubernetes 제어 Device - Deployment를 소개합니다. Deployment 컨트롤러는 Pod 및 ReplicaSet 리소스에 대한 선언적 업데이트를 제공할 수 있는 ReplicaSet 컨트롤러(배포 컨트롤러가 생성될 때 먼저 ReplicaSet 컨트롤러를 생성해야 함) 위에 구축됩니다.
Deployment 컨트롤러의 주요 책임은 Pod 리소스의 정상적인 작동을 보장하는 것입니다. 컨트롤러의 대부분의 기능은 ReplicaSet 컨트롤러를 호출하여 실현됩니다. 동시에 Deployment 컨트롤러도 몇 가지 기능을 추가합니다. 이러한 기능의 대부분은 다음과 같습니다. Pod 업데이트에 반영되어 우리 팀의 Pod 업데이트 제어가 더 세분화됩니다. Deployment 컨트롤러에 추가된 기능은 다음과 같습니다.
1. 이벤트 및 상태 보기.
Deployment 컨트롤러를 사용하여 Pod 업데이트 상태를 볼 수 있습니다.
2. 롤백
Pod 업그레이드 시 업데이트 및 업그레이드 후 문제가 발생하면 Deployment 제어를 통해 Pod를 롤백할 수 있습니다. 즉, Pod를 이전 버전으로 복원합니다.
3. 버전 기록
Pod 업그레이드의 각 버전을 유지할 수 있으므로 롤백 작업이 용이합니다.
4. 일시 중지 및 시작
Pod 업그레이드 프로세스 중에 언제든지 일시 중지하고 시작할 수 있습니다. 이러한 방식으로 일부 Pod만 업그레이드하여 카나리아 릴리스(그레이스케일 릴리스)를 달성할 수 있습니다.
5. 다양한 프로그램 업데이트
배포는 두 가지 업데이트 체계를 지원합니다. 하나는 업데이트 메커니즘을 다시 빌드하는 것을 의미하는 Recreate이며, 먼저 원래 Pod 개체를 완전히 중지하고 삭제한 다음 새 버전으로 교체합니다. 다른 하나는 점진적 업데이트 메커니즘인 RollingUpdate입니다. 중단 없는 서비스를 보장하기 위해 Pod를 업그레이드합니다.

2. 배포 컨트롤러 리소스 목록 생성

다음으로 리소스 구성 목록을 통해 배포 컨트롤러를 만들고 효과를 확인합니다. Deployment.yaml 파일을 만들고 다음 콘텐츠를 작성합니다.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      controller: deployment
      pod: myapp
  template:
    metadata:
      labels:
        controller: deployment
        pod: myapp
    spec:
      containers:
      - name: myapp
        image: ikubernetes/myapp:v1
        ports:
        - name: http
          containerPort: 80

설정이 완료된 후의 리소스 설정 목록은 다음과 같다
여기에 이미지 설명 삽입
. 이전 기사에서 언급한 두 기사에 대해 말씀드리지만 너무 많습니다.
리소스 구성 매니페스트 파일의 생성 및 작성을 완료한 후 리소스 매니페스트 구성 파일을 실행하여 배포 컨트롤러를 생성합니다.
주문 실행:

kubectl apply -f Deployment.yaml

다음으로 명령을 차례로 실행합니다.

kubectl get deployment
kubectl get replicaset
kubectl get pods

디플로이먼트 컨트롤러, 레플리카셋 컨트롤러, 파드를 각각 조회하는데 사용되며, 결과는 다음과 같다
여기에 이미지 설명 삽입
. 그리고 디플로이먼트 컨트롤러, 레플리카셋 컨트롤러, 파드 사이에는 다음과 같은 관계가 있다: 디플로이먼트 컨트롤러가 생성된 후 쿠버네티스는 자동으로 레플리카셋 컨트롤러를 생성한다 컨트롤러 이름은 디플로이먼트 컨트롤러 이름을 기반으로 하고 뒤에 오는 임의의 문자열이고 파드의 이름은 배포 컨트롤러의 이름과 그 뒤에 오는 임의의 문자열을 기반으로 합니다.
독창성은 쉽지 않습니다. 재인쇄를 위한 출처를 명시해주세요: https://blog.csdn.net/weixin_40228200

추천

출처blog.csdn.net/weixin_40228200/article/details/124349268