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