구축 개요
Trident 운영자나 tridentctl을 사용하여 Astra Trident를 배포할 수 있습니다.
배포 방법을 선택합니다
사용할 배포 방법을 결정하려면 다음 사항을 고려하십시오.
Trident 연산자를 사용해야 하는 이유는 무엇입니까?
를 클릭합니다 "Trident 운영자" Astra Trident 리소스를 동적으로 관리하고 설정 단계를 자동화하는 훌륭한 방법입니다. 몇 가지 전제 조건이 충족되어야 합니다. 을 참조하십시오 "설명합니다".
Trident 운영자는 아래에 설명된 여러 가지 이점을 제공합니다.
자동 복구 기능
Astra Trident 설치를 모니터링하고 구축이 삭제되거나 실수로 수정된 경우와 같은 문제를 해결하기 위한 조치를 적극적으로 취할 수 있습니다. 운용자가 deployment로 설정된 경우 trident-operator-<generated-id>'pod가 생성된다. 이 포드는 아스트라 트리덴트 설치와 트리젠오케스트레이터 CR을 연결하며 항상 하나의 활성 '트리젠터레이터'만 존재하도록 합니다. 즉, 운영자는 클러스터에 Astra Trident 인스턴스가 하나만 있고 설정을 제어하여 설치가 매우 강력한지 확인합니다. 설치 변경(예: 배포 또는 노드 반점 삭제)이 수행되면 운영자가 이를 식별하고 개별적으로 수정합니다.
기존 설치에 대한 손쉬운 업데이트
기존 배포를 운영자로 쉽게 업데이트할 수 있습니다. 설치에 대한 업데이트를 하기 위해 '트리엔오케스트레이터' CR만 편집하면 됩니다. 예를 들어, Astra Trident를 활성화하여 디버그 로그를 생성해야 하는 시나리오를 생각해 보십시오.
이렇게 하려면 '트리엔오케스트레이터'를 패치하여 'pec.debug'를 'true'로 설정합니다.
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
'트리엔오케스트레이터'가 업데이트된 후, 운용자는 기존 설치 시 업데이트 및 패치를 처리한다. 이렇게 하면 새 포드가 생성되어 설치를 적절하게 수정할 수 있습니다.
Kubernetes 업그레이드 자동 처리
클러스터의 Kubernetes 버전이 지원되는 버전으로 업그레이드되면 운영자는 기존 Astra Trident 설치를 자동으로 업데이트하고 Kubernetes 버전 요구사항을 충족하도록 변경합니다.
클러스터가 지원되지 않는 버전으로 업그레이드되면 운영자는 Astra Trident를 설치할 수 없습니다. Astra Trident가 운영자와 함께 이미 설치된 경우 Astra Trident가 지원되지 않는 Kubernetes 버전에 설치되었음을 나타내는 경고가 표시됩니다. |
Helm을 사용해야 하는 이유는 무엇입니까?
Astra Trident 21.01부터 Helm을 사용하여 관리하는 다른 애플리케이션이 있는 경우 Helm을 사용하여 배포를 관리할 수도 있습니다.
언제 사용해야 하는 지 tridenctl
?
업그레이드해야 하는 기존 배포가 있거나 배포를 고도로 사용자 지정하려는 경우 를 사용하는 방법을 고려해야 합니다 "tridentctl 을 선택합니다". Astra Trident를 구축하는 기존 방법입니다.
배포 방법 간에 이동할 때의 고려 사항
배포 방법 간에 이동해야 하는 시나리오를 상상하기란 쉽지 않습니다. "tridentctl" 배포에서 연산자 기반 배포로 이동하거나 그 반대로 이동하려면 다음 사항을 고려해야 합니다.
-
Astra Trident를 제거할 때는 항상 동일한 방법을 사용하십시오. tridentctl을 사용하여 배포한 경우에는 해당 버전의 tridentctl 바이너리를 사용하여 Astra Trident를 제거해야 합니다. 마찬가지로 운영자와 함께 배포하는 경우 '트리젠오케스트레이터' CR을 편집하고 '스펙트 제거=true'를 설정하여 Astra Trident를 제거해야 합니다.
-
Astra Trident를 배포하기 위해 "tridentctl"을 사용하여 제거할 운영자 기반 배포가 있는 경우 먼저 'TridentOrchestrator'를 편집하고 'csec.uninstall=true'를 설정하여 Astra Trident를 제거해야 합니다. 그런 다음 '트리엔오케스트레이터'와 운영자 구축을 삭제합니다. 그런 다음 tridentctl을 사용하여 설치할 수 있습니다.
-
작업자 기반의 수동 배포를 사용하고 H제어 기반 Trident 연산자 배포를 사용하려는 경우 먼저 수동으로 연산자를 제거한 다음 Helm 설치를 수행해야 합니다. 이를 통해 Helm은 필요한 레이블 및 주석을 사용하여 Trident 연산자를 배포할 수 있습니다. 이렇게 하지 않으면 레이블 유효성 검사 오류 및 주석 유효성 검사 오류와 함께 H제어 기반 Trident 연산자 배포가 실패합니다. "tridentctl" 기반 배포를 사용하는 경우 문제 없이 Helm 기반 배포를 사용할 수 있습니다.
배포 모드를 이해합니다
Astra Trident를 구축하는 방법에는 세 가지가 있습니다.
Standard 구축
Kubernetes 클러스터에서 Trident를 구축하면 Astra Trident 설치 관리자가 다음 두 가지 작업을 수행할 수 있습니다.
-
인터넷을 통해 컨테이너 이미지를 가져오는 중입니다
-
Kubernetes 클러스터의 모든 유효한 노드에서 Astra Trident Pod를 가동하는 구축 및/또는 노드 데모 생성
이와 같은 표준 배포는 두 가지 방법으로 수행할 수 있습니다.
-
tridentctl install 사용
-
Trident 연산자 사용 Trident 연산자는 수동으로 또는 Helm을 사용하여 배포할 수 있습니다.
이 설치 모드는 Astra Trident를 설치하는 가장 쉬운 방법이며 네트워크 제한이 없는 대부분의 환경에서 작동합니다.
오프라인 배포
"tridentctl install"을 호출할 때 '--image-registry" 플래그를 사용하여 개인 이미지 레지스트리를 가리킬 수 있습니다. Trident 연산자를 사용하여 배포하는 경우 ' Trident' 오케스트레이터에서 's.imageRegistry'를 지정할 수도 있습니다. 이 레지스트리에는 가 포함되어 있어야 합니다 "Trident 이미지", "Trident AutoSupport 이미지"및 Kubernetes 버전에서 요구하는 CSI 사이드카 이미지를 참조하십시오.
배포를 사용자 지정하려면 tridentctl 을 사용하여 Trident의 리소스에 대한 매니페스트를 생성할 수 있습니다. 여기에는 구축, 개발/제거, 서비스 계정, Astra Trident가 설치의 일부로 생성한 클러스터 역할 등이 포함됩니다.
배포 사용자 지정에 대한 자세한 내용은 다음 링크를 참조하십시오.
개인 이미지 저장소를 사용하는 경우 Kubernetes 버전 1.17 이전의 Kubernetes에서는 /k8scsi를, Kubernetes 버전 1.17 이후의 경우에는 개인 레지스트리 URL 끝에 '/sig-storage'를 추가해야 합니다. tridentctl 배포를 위해 개인 레지스트리를 사용할 때는 '--trident-image' 및 '--autosupport-image'를 '--image-registry'와 함께 사용해야 합니다. Trident 연산자를 사용하여 Astra Trident를 배포하는 경우 Orchestrator CR에 설치 매개변수에 "tridentImage" 및 "autostsupportImage"가 포함되어 있는지 확인합니다. |
원격 배포
다음은 원격 배포 프로세스에 대한 상위 수준의 개요입니다.
-
Astra Trident를 구축하려는 원격 머신에 적절한 버전의 kubeck tl을 배포합니다.
-
Kubernetes 클러스터에서 구성 파일을 복사하고 원격 시스템에서 'KUBECONFIG' 환경 변수를 설정합니다.
-
필요한 Kubernetes 클러스터에 연결할 수 있는지 확인하려면 "kubbtl get nodes" 명령을 시작합니다.
-
표준 설치 단계를 사용하여 원격 컴퓨터에서 배포를 완료합니다.