Astra Trident 설치에 대해 자세히 알아보십시오
Astra Trident를 다양한 환경과 조직에 설치할 수 있도록 NetApp은 다양한 설치 옵션을 제공합니다. Trident 연산자(수동 또는 Helm 사용) 또는 를 사용하여 Astra Trident를 설치할 수 있습니다 tridentctl
. 이 항목에서는 적합한 설치 프로세스를 선택하는 데 필요한 중요한 정보를 제공합니다.
Astra Trident 24.02에 대한 중요 정보
-
Astra Trident * 에 대한 다음 중요 정보를 읽어야 합니다
<strong> 중요 정보 Astra Trident </strong>
-
이제 Trident에서 Kubernetes 1.27이 지원됩니다. Kubernetes를 업그레이드하기 전에 Trident를 업그레이드하십시오.
-
Astra Trident는 SAN 환경에서 다중 경로 구성을 엄격하게 사용하며 권장 값은 입니다
find_multipaths: no
다중 경로 .conf 파일비 경로 다중화 구성 또는 의 사용
find_multipaths: yes
또는find_multipaths: smart
multipath.conf 파일의 값으로 인해 마운트 오류가 발생합니다. Trident에서 의 사용을 권장했습니다find_multipaths: no
21.07 릴리스 이후.
시작하기 전에
설치 경로에 관계없이 다음 항목이 있어야 합니다.
-
지원되는 버전의 Kubernetes 및 기능 요구 사항을 실행하는 지원되는 Kubernetes 클러스터에 대한 모든 권한이 활성화됩니다. 를 검토합니다 "요구 사항" 를 참조하십시오.
-
지원되는 NetApp 스토리지 시스템에 대한 액세스
-
모든 Kubernetes 작업자 노드에서 볼륨을 마운트할 수 있습니다.
-
가 설치된 Linux 호스트
kubectl
(또는oc
, OpenShift를 사용하는 경우) 사용하려는 Kubernetes 클러스터를 관리하도록 설치 및 구성한 것입니다. -
를 클릭합니다
KUBECONFIG
Kubernetes 클러스터 구성을 가리키도록 설정된 환경 변수입니다. -
Docker Enterprise와 함께 Kubernetes를 사용하는 경우, "다음 단계에 따라 CLI 액세스를 설정합니다".
에 익숙하지 않은 경우 "기본 개념"이제 아주 좋은 시간입니다. |
설치 방법을 선택합니다
적합한 설치 방법을 선택합니다. 의 고려 사항도 검토해야 합니다 "방법 간 이동" 결정을 내리기 전에
Trident 연산자 사용
수동으로 배포하든 Hrom을 사용하건 Trident 운영자는 설치를 단순화하고 Astra Trident 리소스를 동적으로 관리할 수 있는 훌륭한 방법입니다. 물론 가능합니다 "Trident 운영자 배포를 사용자 지정합니다" 의 속성을 사용합니다 TridentOrchestrator
사용자 지정 리소스(CR).
Trident 연산자를 사용하면 다음과 같은 이점이 있습니다.
<strong> Astra Trident 객체 생성 </strong>
Trident 운영자가 Kubernetes 버전에 대해 다음 오브젝트를 자동으로 생성합니다.
-
운영자용 ServiceAccount입니다
-
ServiceAccount에 대한 ClusterRole 및 ClusterRoleBinding
-
전용 PodSecurityPolicy(Kubernetes 1.25 이하)
-
작업자 자체
<strong> 리소스 책임 </strong>
클러스터 범위 Trident 운전자가 클러스터 수준에서 Astra Trident 설치와 관련된 리소스를 관리합니다. 이렇게 하면 네임스페이스 범위 연산자를 사용하여 클러스터 범위 리소스를 유지 관리할 때 발생할 수 있는 오류가 줄어듭니다. 이는 자가 복구 및 패치에 필수적입니다.
<strong> 자동 복구 기능 </strong>
운영자는 Astra Trident 설치를 모니터링하고 구축이 삭제되거나 실수로 수정된 경우와 같은 문제를 해결하기 위한 조치를 적극적으로 수행합니다. A trident-operator-<generated-id>
를 연결하는 POD가 생성됩니다 TridentOrchestrator
Astra Trident가 설치된 CR. 이렇게 하면 클러스터에 Astra Trident 인스턴스가 하나만 있고 설치가 제어되므로 설치가 매우 강력합니다. 설치 변경(예: 배포 또는 노드 반점 삭제)이 수행되면 운영자가 이를 식별하고 개별적으로 수정합니다.
<strong> 기존 설치에 대한 간편한 업데이트 </strong>
기존 배포를 운영자로 쉽게 업데이트할 수 있습니다. 를 편집하기만 하면 됩니다 TridentOrchestrator
CR을 사용하여 설치를 업데이트합니다.
예를 들어, Astra Trident를 활성화하여 디버그 로그를 생성해야 하는 시나리오를 생각해 보십시오. 이렇게 하려면 에 패치를 적용합니다 TridentOrchestrator
를 눌러 설정합니다 spec.debug
를 선택합니다 true
:
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
이후 TridentOrchestrator
이 업데이트되면 운영자가 업데이트를 처리하고 기존 설치를 패치합니다. 이 경우 새 Pod가 생성되어 적절히 설치가 수정될 수 있습니다.
<strong> Clean </strong> 재설치
클러스터 범위 Trident 운영자를 사용하면 클러스터 범위 리소스를 깨끗이 제거할 수 있습니다. 사용자는 Astra Trident를 완전히 제거하고 다시 설치할 수 있습니다.
</strong>를 처리하는 <strong> 자동 Kubernetes 업그레이드
클러스터의 Kubernetes 버전이 지원되는 버전으로 업그레이드되면 운영자는 기존 Astra Trident 설치를 자동으로 업데이트하고 Kubernetes 버전 요구사항을 충족하도록 변경합니다.
클러스터가 지원되지 않는 버전으로 업그레이드되면 운영자는 Astra Trident를 설치할 수 없습니다. Astra Trident가 운영자와 함께 이미 설치된 경우 Astra Trident가 지원되지 않는 Kubernetes 버전에 설치되었음을 나타내는 경고가 표시됩니다. |
BlueXP(이전의 Cloud Manager) </strong>를 사용한 <strong> Kubernetes 클러스터 관리
와 함께 "BlueXP를 사용하는 Astra Trident"Astra Trident의 최신 버전으로 업그레이드하고, 스토리지 클래스를 추가 및 관리하고, 작업 환경에 연결한 다음, Cloud Backup Service를 사용하여 영구 볼륨을 백업할 수 있습니다. BlueXP는 Trident 연산자를 사용하여 수동으로 또는 Helm을 사용하여 Astra Trident 구축을 지원합니다.
사용 tridentctl
업그레이드해야 하는 기존 배포가 있거나 배포를 사용자 지정하려는 경우 고려해야 합니다 . Astra Trident를 구축하는 기존 방법입니다.
가능합니다 Trident 리소스에 대한 매니페스트를 생성합니다. 여기에는 구축, 개발/제거, 서비스 계정, Astra Trident가 설치의 일부로 생성한 클러스터 역할 등이 포함됩니다.
22.04 릴리즈부터는 Astra Trident가 설치될 때마다 AES 키가 더 이상 다시 생성되지 않습니다. 이 릴리즈를 통해 Astra Trident는 설치 전반에 걸쳐 유지되는 새로운 비밀 객체를 설치합니다. 즉, tridentctl 22.04에서는 Trident의 이전 버전을 제거할 수 있지만 이전 버전에서는 22.04 설치를 제거할 수 없습니다.적절한 installation_method_를 선택합니다. |
설치 모드를 선택합니다
조직에서 요구하는 installation mode(Standard, Offline 또는 Remote)를 기반으로 배포 프로세스를 결정합니다.
이것은 Astra Trident를 설치하는 가장 쉬운 방법이며 네트워크 제한이 없는 대부분의 환경에서 작동합니다. 표준 설치 모드에서는 기본 레지스트리를 사용하여 필요한 Trident를 저장합니다 (docker.io
)와 CSI를 참조하십시오 (registry.k8s.io
) 이미지.
표준 모드를 사용하는 경우 Astra Trident 설치 프로그램이 다음을 수행합니다.
-
인터넷을 통해 컨테이너 이미지를 가져옵니다
-
Kubernetes 클러스터의 모든 적격 노드에서 Astra Trident Pod를 가동하는 구축 또는 노드 데모시작을 생성합니다
오프라인 설치 모드는 공기 박수나 안전한 위치에 필요할 수 있습니다. 이 시나리오에서는 필요한 Trident 및 CSI 이미지를 저장하기 위해 단일 전용 미러된 레지스트리 또는 두 개의 미러링된 레지스트리를 만들 수 있습니다.
레지스트리 구성에 관계없이 CSI 이미지는 하나의 레지스트리에 있어야 합니다. |
다음은 원격 설치 프로세스에 대한 상위 수준의 개요입니다.
-
적절한 버전의 를 배포합니다
kubectl
Astra Trident를 구축하려는 원격 머신 -
Kubernetes 클러스터에서 구성 파일을 복사하고 를 설정합니다
KUBECONFIG
원격 시스템의 환경 변수. -
를 시작합니다
kubectl get nodes
명령을 실행하여 필요한 Kubernetes 클러스터에 연결할 수 있는지 확인하십시오. -
표준 설치 단계를 사용하여 원격 컴퓨터에서 배포를 완료합니다.
방법 및 모드에 따라 프로세스를 선택합니다
결정을 내린 후 적절한 프로세스를 선택합니다.
방법 | 설치 모드 |
---|---|
Trident 운영자(수동) |
|
Trident 운영자(제어) |
|
|
설치 방법 간 이동
설치 방법을 변경할 수 있습니다. 이렇게 하기 전에 다음 사항을 고려하십시오.
-
Astra Trident를 설치 및 제거할 때는 항상 동일한 방법을 사용하십시오. 을(를) 배포한 경우
tridentctl
, 의 해당 버전을 사용해야 합니다tridentctl
Astra Trident를 제거하는 바이너리. 마찬가지로 연산자를 사용하여 를 배포하는 경우에는 를 편집해야 합니다TridentOrchestrator
CR 및 SETspec.uninstall=true
Astra Trident를 제거합니다. -
대신 를 제거하고 대신 사용할 운영자 기반 배포가 있는 경우
tridentctl
Astra Trident를 배포하려면 먼저 편집해야 합니다TridentOrchestrator
그리고 설정합니다spec.uninstall=true
Astra Trident를 제거합니다. 그런 다음 삭제합니다TridentOrchestrator
및 작업자 배포. 그런 다음 를 사용하여 를 설치할 수 있습니다tridentctl
. -
작업자 기반의 수동 배포를 사용하고 H제어 기반 Trident 연산자 배포를 사용하려는 경우 먼저 수동으로 연산자를 제거한 다음 Helm 설치를 수행해야 합니다. 이를 통해 Helm은 필요한 레이블 및 주석을 사용하여 Trident 연산자를 배포할 수 있습니다. 이렇게 하지 않으면 레이블 유효성 검사 오류 및 주석 유효성 검사 오류와 함께 H제어 기반 Trident 연산자 배포가 실패합니다. 가 있는 경우 `tridentctl`기반 배포에서는 문제 없이 Helm 기반 배포를 사용할 수 있습니다.
기타 알려진 구성 옵션
VMware Tanzu 포트폴리오 제품에 Astra Trident를 설치할 경우:
-
클러스터는 권한이 있는 워크로드를 지원해야 합니다.
-
를 클릭합니다
--kubelet-dir
플래그를 kubelet 디렉터리의 위치로 설정해야 합니다. 기본적으로 이 값은 입니다/var/vcap/data/kubelet
.를 사용하여 kubelet 위치 지정
--kubelet-dir
Trident Operator, Helm 및 에 대해 작업하는 것으로 알려져 있습니다tridentctl
적합합니다.