Skip to main content
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Trident 운영자 설치를 사용자 지정합니다

기여자 netapp-aruldeepa juliantap netapp-mwallis

Trident 연산자를 사용하면 사양의 속성을 사용하여 Trident 설치를 사용자 정의할 수 TridentOrchestrator 있습니다. 허용되는 인수를 넘어 설치를 사용자 지정하려면 TridentOrchestrator 을 사용하여 tridentctl 사용자 지정 YAML 매니페스트를 생성하여 필요에 따라 수정할 수 있습니다.

컨트롤러 Pod 및 노드 포드 이해

Trident 클러스터의 각 워커 노드에서 단일 컨트롤러 포드와 노드 포드로 실행됩니다. Trident 볼륨을 마운트하려는 모든 호스트에서 노드 포드를 실행해야 합니다.

쿠버네티스 "노드 선택기""관용과 오해" 포드를 특정 노드 또는 기본 노드에서 실행하도록 제한하는 데 사용됩니다. ControllerPlugin과 을 사용합니다 `NodePlugin`구속 조건과 덮어쓰기를 지정할 수 있습니다.

  • 컨트롤러 플러그인은 스냅샷 및 크기 조정과 같은 볼륨 프로비저닝 및 관리를 처리합니다.

  • 노드 플러그인은 스토리지에 노드를 연결하는 작업을 처리합니다.

구성 옵션

경고 spec.namespace Trident가 설치된 네임스페이스를 나타내기 위해 에 TridentOrchestrator 지정됩니다. 이 매개 변수 * 는 Trident 설치 후 업데이트할 수 없습니다 *. 이렇게 하면 TridentOrchestrator 상태가 로 `Failed`변경됩니다. Trident는 네임스페이스 간에 마이그레이션되지 않습니다.

이 표에 자세히 나와 있습니다 TridentOrchestrator 속성.

매개 변수 설명 기본값

namespace

Trident를 설치할 네임스페이스입니다

"default"

"버그"

Trident에 대해 디버깅을 활성화합니다

거짓입니다

enableForceDetach

ontap-san, ontap-san-economy , ontap-nas , 그리고 ontap-nas-economy 오직. Kubernetes Non-Graceful Node Shutdown(NGNS)과 함께 작동하여 클러스터 관리자가 노드가 비정상적으로 될 경우 마운트된 볼륨이 있는 작업 부하를 새 노드로 안전하게 마이그레이션할 수 있는 기능을 제공합니다. 자세한 내용은 다음을 참조하세요."Trident 사용하여 상태 저장 애플리케이션의 장애 조치 자동화" .

거짓입니다

windows

를 로 설정합니다 true Windows 작업자 노드에 설치할 수 있습니다.

거짓입니다

cloudProvider

AKS 클러스터에서 관리되는 ID 또는 클라우드 ID를 사용할 때 로 "Azure" 설정합니다. EKS 클러스터에서 클라우드 ID를 사용할 때 로 "AWS" 설정합니다. GKE 클러스터에서 클라우드 ID를 사용할 때 로 "GCP" 설정합니다.

""

cloudIdentity

AKS 클러스터에서 클라우드 ID를 사용할 때 워크로드 ID("Azure.workload.identity/client-id: xxxxxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxx")로 설정합니다. EKS 클러스터에서 클라우드 ID를 사용할 때 AWS IAM 역할("'eks.amazonaws.com/role-arn: arn:AWS:IAM::123456:role/Trident-role'")로 설정합니다. GKE 클러스터에서 클라우드 ID를 사용하는 경우 클라우드 ID("'iam.gke.io/gc-service-account:xxxx@mygcpproject.iam.gserviceaccount.com') 로 설정합니다.

""

IPv6

IPv6를 통해 Trident를 설치합니다

거짓

k8sTimeout

Kubernetes 작업에 대한 시간 초과입니다.

참고 그만큼 k8sTimeout 매개변수는 Trident 설치에만 적용됩니다.

180sec

silenceAutosupport

AutoSupport 번들을 NetApp로 보내지 마십시오
자동으로 계층화

거짓입니다

자동 지원 이미지

AutoSupport 텔레메트리 컨테이너 이미지입니다

"netapp/trident-autosupport10"

자동 지원 프록시

AutoSupport를 보내는 프록시의 주소/포트입니다
원격 측정

"http://proxy.example.com:8888"

"제거"를 선택합니다

Trident를 제거하는 데 사용되는 플래그입니다

거짓입니다

logFormat

사용할 Trident 로깅 형식 [text, json]

"text"

트리덴티이미지

설치할 Trident 이미지

"netapp/trident:25.10"

'imageRegistry'입니다

형식의 내부 레지스트리 경로입니다
<registry FQDN>[:port][/subpath]

"registry.k8s.io"

쿠벨레트디렉토리

호스트의 kubelet 디렉토리에 대한 경로입니다

"/var/lib/kubelet"

wipeout

Trident의 전체 제거를 수행하기 위해 삭제할 리소스 목록입니다

'imagePullSecrets'

내부 레지스트리에서 이미지를 가져올 수 있는 비밀

imagePullPolicy

Trident 운영자의 이미지 풀 정책을 설정합니다. 유효한 값은 다음과 같습니다.
Always 항상 이미지를 당깁니다.
IfNotPresent 이미지가 아직 노드에 없는 경우에만 이미지를 가져옵니다.
Never 이미지를 당기지 않습니다.

IfNotPresent

'controllerPluginNodeSelector'

Pod용 추가 노드 선택기 는 와 동일한 형식을 따릅니다 pod.spec.nodeSelector.

기본값 없음, 선택 사항

'컨트롤러 PluginTolerations'

Pod에 대한 Kubernetes 허용 설정을 재정의합니다. 는 와 동일한 형식을 따릅니다 pod.spec.Tolerations.

기본값 없음, 선택 사항

노드플러거노드 선택기

Pod용 추가 노드 선택기 는 와 동일한 형식을 따릅니다 pod.spec.nodeSelector.

기본값 없음, 선택 사항

노드 PluginTolerations

Pod에 대한 Kubernetes 허용 설정을 재정의합니다. 는 와 동일한 형식을 따릅니다 pod.spec.Tolerations.

기본값 없음, 선택 사항

nodePrep

Trident가 Kubernetes 클러스터의 노드를 준비하여 지정된 데이터 스토리지 프로토콜을 사용하여 볼륨을 관리할 수 있도록 합니다. * 현재 iscsi 지원되는 유일한 값입니다. *

참고 OpenShift 4.19부터 이 기능을 지원하는 최소 Trident 버전은 25.06.1입니다.

k8sAPIQPS

Kubernetes API 서버와 통신하는 동안 컨트롤러가 사용하는 초당 쿼리 수(QPS) 제한입니다. 버스트 값은 QPS 값에 따라 자동으로 설정됩니다.

100; 선택 사항

enableConcurrency

향상된 처리량을 위해 동시 Trident 컨트롤러 작업이 가능합니다.

참고 기술 미리보기: 이 기능은 실험적이며 현재 ONTAP-NAS(NFS만 해당) 및 ONTAP-SAN(통합 ONTAP 9의 NVMe) 드라이버를 사용한 제한된 병렬 워크플로를 지원합니다. 또한, ONTAP-SAN 드라이버(통합 ONTAP 9의 iSCSI 및 FCP 프로토콜)에 대한 기존 기술 미리보기도 지원합니다.

거짓

resources

Trident 컨트롤러와 노드 포드에 대한 Kubernetes 리소스 제한과 요청을 설정합니다. Kubernetes에서 리소스 할당을 관리하기 위해 각 컨테이너와 사이드카에 대한 CPU와 메모리를 구성할 수 있습니다.

리소스 요청 및 제한 구성에 대한 자세한 내용은 다음을 참조하세요."포드 및 컨테이너에 대한 리소스 관리" .

경고
  • 컨테이너나 필드의 이름을 변경하지 마세요.

  • 들여쓰기를 변경하지 마세요. YAML 들여쓰기는 올바른 구문 분석을 위해 중요합니다.

참고
  • 기본적으로 제한은 적용되지 않습니다. 요청에만 기본값이 있으며, 지정하지 않으면 자동으로 적용됩니다.

  • 컨테이너 이름은 포드 사양에 나타나는 대로 나열됩니다.

  • 사이드카는 각 주요 컨테이너 아래에 나열되어 있습니다.

  • TORC를 확인하세요 status.CurrentInstallationParams 현재 적용된 값을 보려면 필드를 클릭하세요.

resources:
  controller:
    trident-main:
      requests:
        cpu: 10m
        memory: 80Mi
      limits:
          cpu:
          memory:
    csi-provisioner:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-attacher:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-resizer:
      requests:
        cpu: 3m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-snapshotter:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    trident-autosupport:
      requests:
        cpu: 1m
        memory: 30Mi
      limits:
        cpu:
        memory:
  node:
    linux:
      trident-main:
        requests:
          cpu: 10m
          memory: 60Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 1m
          memory: 10Mi
        limits:
          cpu:
          memory:
    windows:
      trident-main:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      liveness-probe:
        requests:
          cpu: 2m
          memory: 40Mi
        limits:
          cpu:
          memory:

httpsMetrics

Prometheus 메트릭 엔드포인트에 HTTPS를 활성화합니다.

거짓

호스트 네트워크

Trident 컨트롤러에 대한 호스트 네트워킹을 활성화합니다. 이 기능은 멀티 홈 네트워크에서 프런트엔드와 백엔드 트래픽을 분리할 때 유용합니다.

거짓

참고 POD 매개 변수 포맷에 대한 자세한 내용은 을 참조하십시오 "노드에 Pod 할당".

샘플 구성

속성을 사용할 수 있습니다구성 옵션 정의할 때 TridentOrchestrator 사용자 정의 설치를 위해.

기본 사용자 정의 구성

이 예제는 다음을 실행한 후에 생성됩니다. cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml 명령은 기본적인 사용자 정의 설치를 나타냅니다.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
노드 선택기

이 예제에서는 노드 선택기를 사용하여 Trident 설치합니다.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Windows 작업자 노드

이 예제는 다음을 실행한 후에 생성됩니다. cat deploy/crds/tridentorchestrator_cr.yaml 명령을 실행하면 Windows 작업자 노드에 Trident 설치됩니다.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
AKS 클러스터의 관리 ID

이 예제에서는 AKS 클러스터에서 관리되는 ID를 활성화하기 위해 Trident 설치합니다.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
AKS 클러스터의 클라우드 ID

이 예제에서는 AKS 클러스터에서 클라우드 ID와 함께 사용할 Trident 설치합니다.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
  cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
EKS 클러스터의 클라우드 ID

이 예제에서는 AKS 클러스터에서 클라우드 ID와 함께 사용할 Trident 설치합니다.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "AWS"
  cloudIdentity: "'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'"
GKE용 클라우드 ID

이 예제에서는 GKE 클러스터에서 클라우드 ID와 함께 사용할 Trident 설치합니다.

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-gcp-gcnv
spec:
  version: 1
  storageDriverName: google-cloud-netapp-volumes
  projectNumber: '012345678901'
  network: gcnv-network
  location: us-west2
  serviceLevel: Premium
  storagePool: pool-premium1
Trident 컨트롤러 및 Trident Linux 노드 포드에 대한 Kubernetes 리소스 요청 및 제한 구성

이 예제에서는 Trident 컨트롤러와 Trident Linux 노드 포드에 대한 Kubernetes 리소스 요청 및 제한을 구성합니다.

경고 면책 조항: 이 예제에서 제공된 요청 및 제한 값은 데모 목적으로만 사용됩니다. 환경과 작업 부하 요구 사항에 따라 이러한 값을 조정하세요.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
      # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
Trident 컨트롤러와 Trident Windows 및 Linux 노드 포드에 대한 Kubernetes 리소스 요청 및 제한 구성

이 예제에서는 Trident 컨트롤러와 Trident Windows 및 Linux 노드 포드에 대한 Kubernetes 리소스 요청 및 제한을 구성합니다.

경고 면책 조항: 이 예제에서 제공된 요청 및 제한 값은 데모 목적으로만 사용됩니다. 환경과 작업 부하 요구 사항에 따라 이러한 값을 조정하세요.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  windows: true
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
        # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
      windows:
        trident-main:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 200m
            memory: 128Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 100m
            memory: 128Mi
        liveness-probe:
          requests:
            cpu: 2m
            memory: 40Mi
          limits:
            cpu: 50m
            memory: 64Mi