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

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

기여자

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

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

Astra Trident는 단일 컨트롤러 POD와 클러스터의 각 작업자 노드에 노드 POD를 더한 형태로 실행됩니다. Astra Trident 볼륨을 마운트하려는 호스트에서 노드 포드가 실행되고 있어야 합니다.

Kubernetes"노드 선택기"로, "관용과 오해"특정 노드 또는 기본 노드에서 실행할 Pod를 제한하는 데 사용됩니다. "ControllerPlugin" 및 을 사용하여 NodePlugin 제약 조건 및 재정의를 지정할 수 있습니다.

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

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

구성 옵션

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

이 테이블에서는 속성에 대해 자세히 TridentOrchestrator 설명합니다.

매개 변수 설명 기본값

namespace

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

"default"

debug

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

false

enableForceDetach

ontap-sanontap-san-economy 만 해당. Kubernetes Non-Graceful Node Shutdown(ngns)과 함께 작동하여 클러스터 관리자가 마운트된 볼륨이 있는 워크로드를 노드가 정상 상태가 아닌 경우 새 노드로 안전하게 마이그레이션할 수 있도록 합니다.

false

windows

`true`Windows 작업자 노드에 설치할 수 있도록 설정합니다.

false

cloudProvider

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

""

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/astratrident-role")으로 설정합니다.

""

IPv6

IPv6를 통해 Astra Trident를 설치합니다

거짓

k8sTimeout

Kubernetes 작업 시간이 초과되었습니다

30sec

silenceAutosupport

AutoSupport 번들을 NetApp에 자동으로 보내지 않습니다

false

autosupportImage

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

"netapp/trident-autosupport:24.06"

autosupportProxy

AutoSupport 텔레메트리 전송을 위한 프록시의 주소/포트입니다

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

uninstall

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

false

logFormat

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

"text"

tridentImage

설치할 Astra Trident 이미지

"netapp/trident:24.06"

imageRegistry

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

"k8s.gcr.io/sig-storage" (Kubernetes 1.19 이상) 또는 "quay.io/k8scsi"

kubeletDir

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

"/var/lib/kubelet"

wipeout

Astra Trident를 완전히 제거하기 위해 삭제할 리소스 목록입니다

imagePullSecrets

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

imagePullPolicy

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

IfNotPresent

controllerPluginNodeSelector

Pod용 추가 노드 선택기 과 같은 형식을 pod.spec.nodeSelector 사용합니다.

기본값 없음, 선택 사항

controllerPluginTolerations

Pod에 대한 Kubernetes 허용 설정을 재정의합니다. 과 같은 형식을 pod.spec.Tolerations 따릅니다.

기본값 없음, 선택 사항

nodePluginNodeSelector

Pod용 추가 노드 선택기 과 같은 형식을 pod.spec.nodeSelector 사용합니다.

기본값 없음, 선택 사항

nodePluginTolerations

Pod에 대한 Kubernetes 허용 설정을 재정의합니다. 과 같은 형식을 pod.spec.Tolerations 따릅니다.

기본값 없음, 선택 사항

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

강제 분리에 대한 세부 정보

강제 분리는 및 ontap-san-economy 에서만 사용할 수 ontap-san 있습니다. 강제 분리를 활성화하기 전에 Kubernetes 클러스터에서 비정상 노드 종료(ngns)를 활성화해야 합니다. 자세한 내용은 을 "Kubernetes: 노드 정상 종료 아님"참조하십시오.

경고 Astra Trident은 Kubernetes ngns를 사용하기 때문에 허용할 수 없는 모든 워크로드의 일정이 재조정될 때까지 비정상 노드에서 테인트를 제거하지 마십시오 out-of-service. 무모하게 타트를 적용하거나 제거하면 백엔드 데이터 보호가 위태롭게 될 수 있습니다.

Kubernetes 클러스터 관리자가 노드에 태그를 enableForceDetach 적용하고 node.kubernetes.io/out-of-service=nodeshutdown:NoExecute 로 설정하면 true Astra Trident이 노드 상태를 결정하고 다음과 같이 합니다.

  1. 해당 노드에 마운트된 볼륨에 대한 백엔드 입출력 액세스를 중단합니다.

  2. Astra Trident 노드 객체를 로 표시합니다 dirty(새 발행물에 안전하지 않음).

    참고 Trident 컨트롤러는 Trident 노드 포드에 의해 노드가 다시 검증될 때까지(로 표시된 후) 새로운 게시 볼륨 요청을 거부합니다 dirty. 마운트된 PVC로 예약된 모든 워크로드(클러스터 노드가 정상 상태이고 준비가 완료된 후에도)는 Astra Trident가 노드를 확인할 수 있을 때까지 수락되지 clean 않습니다(새 게시물에 안전함).

노드 상태가 복원되고 Tint가 제거되면 Astra Trident는 다음을 수행합니다.

  1. 노드에서 오래된 게시된 경로를 식별하고 제거합니다.

  2. 노드가 상태(서비스 중단 시간이 제거되고 노드가 상태)이고 모든 오래되고 Ready 게시된 경로가 정리된 경우 cleanable Astra Trident는 노드를 로 재지정하고 노드에 새로 게시된 볼륨을 허용합니다. clean

샘플 구성

를 정의할 때 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
노드 선택기

이 예에서는 노드 선택기와 함께 Astra Trident를 설치합니다.

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

이 예에서는 Windows 작업자 노드에 Astra Trident를 설치합니다.

cat deploy/crds/tridentorchestrator_cr.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
AKS 클러스터에서 관리되는 ID입니다

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

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

이 예에서는 AKS 클러스터에서 클라우드 ID와 함께 사용할 Astra 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와 함께 사용할 Astra 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/astratrident-role'"