Helm을 사용하여 Trident 운영자 배포(표준 모드)
Helm을 사용하여 Trident 오퍼레이터를 배포하고 Trident를 설치할 수 있습니다. 이 프로세스는 Trident에 필요한 컨테이너 이미지가 프라이빗 레지스트리에 저장되지 않은 설치에 적용됩니다. 프라이빗 이미지 레지스트리가 있는 경우 "오프라인 배포 프로세스"을 사용하십시오.
Trident 25.10에 대한 중요 정보
Trident에 대한 다음 중요 정보를 읽어야 합니다.
<strong>Trident에 대한 중요 정보</strong>
-
Kubernetes 1.34는 이제 Trident에서 지원됩니다. Kubernetes를 업그레이드하기 전에 Trident를 먼저 업그레이드하십시오.
-
Trident는 SAN 환경에서 다중 경로 구성 사용을 엄격하게 시행하며, multipath.conf 파일에 권장 값은 `find_multipaths: no`입니다.
다중 경로를 사용하지 않는 구성 또는 multipath.conf 파일에서
find_multipaths: yes또는find_multipaths: smart값을 사용하면 마운트가 실패합니다. Trident는 21.07 릴리스부터find_multipaths: no사용을 권장해 왔습니다.
Helm을 사용하여 Trident 오퍼레이터를 배포하고 Trident를 설치하십시오
Trident "Helm Chart"를 사용하여 Trident 운영자를 배포하고 Trident를 한 번에 설치할 수 있습니다.
"설치 개요"을(를) 검토하여 설치 사전 요구 사항을 충족했는지, 그리고 사용 환경에 맞는 올바른 설치 옵션을 선택했는지 확인하십시오.
"배포 사전 요구 사항" 외에도 "Helm 버전 3"이(가) 필요합니다.
-
Trident Helm 리포지토리 추가:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
-
`helm install`를 사용하고 다음 예시와 같이 배포 이름을 지정하십시오. 여기서 `100.2506.0`는 설치하려는 Trident 버전입니다.
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace <trident-namespace>
이미 Trident에 대한 네임스페이스를 생성한 경우 --create-namespace매개변수는 추가 네임스페이스를 생성하지 않습니다.`helm list`을 사용하여 이름, 네임스페이스, 차트, 상태, 앱 버전 및 수정 번호와 같은 설치 세부 정보를 검토할 수 있습니다.
설치 중에 구성 데이터를 전달합니다
설치 중에 구성 데이터를 전달하는 방법에는 두 가지가 있습니다.
| 옵션 | 설명 |
|---|---|
|
재정의를 포함하는 YAML 파일을 지정합니다. 이 파일은 여러 번 지정할 수 있으며 가장 오른쪽에 있는 파일이 우선 적용됩니다. |
|
명령줄에서 재정의를 지정합니다. |
예를 들어, `debug`의 기본값을 변경하려면 다음 명령을 실행하십시오. 여기서 `100.2506.0`는 설치하려는 Trident 버전입니다.
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace trident --set tridentDebug=true
구성 옵션
이 표와 Helm 차트의 일부인 values.yaml 파일은 키 목록과 해당 기본값을 제공합니다.
| 옵션 | 설명 | 기본값 | ||||
|---|---|---|---|---|---|---|
|
POD 할당을 위한 노드 레이블 |
|||||
|
Pod 주석 |
|||||
|
배포 주석 |
|||||
|
POD 할당에 대한 톨러레이션 |
|||||
|
POD 할당에 대한 선호도 |
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- arm64
- amd64
- key: kubernetes.io/os
operator: In
values:
- linux
|
||||
|
Pod에 대한 추가 노드 선택기입니다. 자세한 내용은 컨트롤러 Pod 및 노드 Pod 이해을 참조하십시오. |
|||||
|
Pod에 대한 Kubernetes 허용 설정을 재정의합니다. 자세한 내용은 컨트롤러 Pod 및 노드 Pod 이해을(를) 참조하십시오. |
|||||
|
Pod에 대한 추가 노드 선택기입니다. 자세한 내용은 컨트롤러 Pod 및 노드 Pod 이해을 참조하십시오. |
|||||
|
Pod에 대한 Kubernetes 허용 설정을 재정의합니다. 자세한 내용은 컨트롤러 Pod 및 노드 Pod 이해을(를) 참조하십시오. |
|||||
|
|
|
||||
|
`trident-operator`에 대한 이미지 풀 정책을 설정합니다. |
|
||||
|
|
|||||
|
kubelet의 내부 상태의 호스트 위치를 재정의할 수 있습니다. |
|
||||
|
Trident 운영자의 로그 레벨을 |
|
||||
|
Trident 운영자의 로그 수준을 디버그로 설정할 수 있습니다. |
|
||||
|
`trident-operator`에 대한 이미지의 완전한 재정의를 허용합니다. |
|
||||
|
|
|
||||
|
Trident가 IPv6 클러스터에서 작동하도록 설정할 수 있습니다. |
|
||||
|
대부분의 Kubernetes API 작업에 대한 기본 30초 시간 초과를 재정의합니다(0이 아닌 경우 초 단위). |
|
||||
|
HTTP 요청에 대한 기본 90초 타임아웃을 재정의하며, `0s`는 타임아웃의 무한 기간입니다. 음수 값은 허용되지 않습니다. |
|
||||
|
Trident 주기적인 AutoSupport 보고 기능을 비활성화할 수 있습니다. |
|
||||
|
Trident AutoSupport 컨테이너의 이미지 태그를 재정의할 수 있습니다. |
|
||||
|
Trident AutoSupport 컨테이너가 HTTP 프록시를 통해 홈에 전화를 걸 수 있도록 합니다. |
|
||||
|
Trident 로깅 형식을 설정합니다(( |
|
||||
|
Trident 감사 로거를 비활성화합니다. |
|
||||
|
Trident의 로그 레벨을 |
|
||||
|
Trident의 로그 레벨을 `debug`로 설정할 수 있습니다. 노드 상태 점검(NHC) 연산자와 통합하여 강제 분리 프로세스를 자동화할 수 있습니다. 자세한 내용은 "Trident를 사용하여 상태 저장 애플리케이션의 페일오버 자동화"를 참조하십시오. |
|
||||
|
특정 Trident 워크플로우에 대해 추적 로깅 또는 로그 억제를 활성화할 수 있습니다. |
|
||||
|
특정 Trident 레이어에 대해 추적 로깅 또는 로그 억제를 활성화할 수 있습니다. |
|
||||
|
Trident의 이미지를 완전히 재정의할 수 있습니다. |
|
||||
|
Trident의 이미지 태그를 재정의할 수 있습니다. |
|
||||
|
Kubernetes 활성/준비 상태 프로브에 사용되는 기본 포트를 재정의할 수 있습니다. |
|
||||
|
Windows 워커 노드에 Trident를 설치할 수 있도록 합니다. |
|
||||
|
강제 분리 기능을 활성화할 수 있습니다. |
|
||||
|
운영자 포드 보안 정책을 생성에서 제외합니다. |
|
||||
|
`"Azure"`AKS 클러스터에서 관리형 ID 또는 클라우드 ID를 사용하는 경우 로 설정합니다. EKS 클러스터에서 클라우드 ID를 사용하는 경우 "AWS"로 설정합니다. |
|
||||
|
AKS 클러스터에서 클라우드 ID를 사용하는 경우 워크로드 ID("azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx")로 설정하십시오. EKS 클러스터에서 클라우드 ID를 사용하는 경우 AWS IAM 역할("eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role")로 설정하십시오. |
|
||||
|
iSCSI 자체 복구가 호출되는 간격입니다. |
|
||||
|
iSCSI 자체 복구 기능이 로그아웃 후 로그인을 수행하여 오래된 세션을 해결하려고 시도하는 기간입니다. |
|
||||
|
Trident가 지정된 데이터 스토리지 프로토콜을 사용하여 볼륨을 관리하도록 Kubernetes 클러스터의 노드를 준비할 수 있습니다. 현재 `iscsi`만 지원됩니다. 참고: OpenShift 4.19부터 이 기능을 지원하는 최소 Trident 버전은 25.06.1입니다. |
|||||
|
처리량 향상을 위해 동시 Trident 컨트롤러 작업을 지원합니다.
|
거짓 |
||||
|
컨트롤러가 Kubernetes API 서버와 통신할 때 사용하는 초당 쿼리 수(QPS) 제한입니다. 버스트 값은 QPS 값을 기반으로 자동으로 설정됩니다. |
|
||||
|
Trident 컨트롤러, 노드 및 오퍼레이터 파드에 대한 Kubernetes 리소스 제한 및 요청을 설정합니다. 각 컨테이너 및 사이드카에 대한 CPU 및 메모리를 구성하여 Kubernetes에서 리소스 할당을 관리할 수 있습니다. 리소스 요청 및 제한 구성에 대한 자세한 내용은 "Pod 및 컨테이너에 대한 리소스 관리"을(를) 참조하십시오.
|
|
||||
|
Prometheus 메트릭 엔드포인트에 대해 HTTPS를 활성화합니다. |
거짓 |
||||
|
Trident 컨트롤러에 호스트 네트워킹을 활성화합니다. 이는 멀티홈 네트워크에서 프런트엔드와 백엔드 트래픽을 분리하려는 경우 유용합니다. |
거짓 |
컨트롤러 Pod 및 노드 Pod 이해
Trident는 단일 컨트롤러 Pod와 클러스터의 각 작업자 노드에 있는 노드 Pod로 실행됩니다. 노드 Pod는 Trident 볼륨을 마운트하려는 모든 호스트에서 실행되어야 합니다.
Kubernetes "노드 선택기"와 "톨러레이션 및 테인트"는 특정 또는 선호하는 노드에서 실행되도록 Pod를 제약하는 데 사용됩니다. `ControllerPlugin`와 `NodePlugin`를 사용하여 제약 및 오버라이드를 지정할 수 있습니다.
-
컨트롤러 플러그인은 스냅샷 및 크기 조정과 같은 볼륨 프로비저닝 및 관리를 처리합니다.
-
노드 플러그인은 스토리지를 노드에 연결하는 작업을 처리합니다.