운영자 업그레이드 워크플로우를 이해합니다
Trident 연산자를 사용하여 Astra Trident를 업그레이드하기 전에 업그레이드 중에 발생하는 백그라운드 프로세스를 이해해야 합니다. 여기에는 Trident 컨트롤러, 컨트롤러 Pod 및 노드 Pod, 롤링 업데이트를 사용하는 노드 DemonSet의 변경 사항이 포함됩니다.
Trident 운영자 업그레이드 처리
많은 것 중 하나입니다 "Trident 연산자를 사용할 때의 이점" Astra Trident를 설치 및 업그레이드하는 데 사용되는 것은 기존의 마운트된 볼륨을 중단하지 않고 Astra Trident 및 Kubernetes 개체를 자동으로 처리하는 것입니다. 이를 통해 Astra Trident는 다운타임 없이 업그레이드를 지원할 수 있으며 또는 "_롤링 업데이트 _". 특히, Trident 운영자는 Kubernetes 클러스터와 통신하여 다음을 수행합니다.
-
Trident 컨트롤러 배포 및 노드 DemonSet을 삭제하고 다시 만듭니다.
-
Trident 컨트롤러 Pod 및 Trident 노드 Pod를 새로운 버전으로 교체합니다.
-
노드가 업데이트되지 않으면 나머지 노드가 업데이트됩니다.
-
실행 중인 Trident 노드 Pod가 있는 노드에서만 볼륨을 마운트할 수 있습니다.
-
Kubernetes 클러스터의 Astra Trident 아키텍처에 대한 자세한 내용은 을 참조하십시오 "Astra Trident 아키텍처". |
운영자 업그레이드 워크플로우
Trident 연산자를 사용하여 업그레이드를 시작하는 경우:
-
Trident 운영자 *:
-
현재 설치된 Astra Trident 버전(version_n_)을 감지합니다.
-
CRD, RBAC, Trident SVC를 포함한 모든 Kubernetes 오브젝트를 업데이트합니다.
-
버전_n_에 대한 Trident 컨트롤러 배포를 삭제합니다.
-
버전_n+1_에 대한 Trident 컨트롤러 배포를 생성합니다.
-
-
* Kubernetes * 는 _n+1_용 Trident 컨트롤러 포드를 생성합니다.
-
Trident 운영자 *:
-
_n_에 대한 Trident 노드 데모 세트를 삭제합니다. 운용자는 Node Pod 종료를 기다리지 않는다.
-
_n+1_에 대한 Trident 노드 데모 세트를 생성합니다.
-
-
* Kubernetes * 는 Trident 노드 Pod_n_을(를) 실행하지 않는 노드에서 Trident 노드 Pod를 생성합니다. 따라서 노드에 여러 버전의 Trident 노드 Pod가 둘 이상 있지 않도록 합니다.