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

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

기여자

Trident 운영자는 의 특성을 사용하여 Astra Trident 설치를 사용자 지정할 수 있습니다 TridentOrchestrator 사양 설치를 사용자 지정하려면 다음을 선택합니다 TridentOrchestrator 인수를 사용할 수 있습니다. 을 사용하는 것이 좋습니다 tridentctl 필요에 따라 수정할 사용자 지정 YAML 매니페스트를 생성합니다.

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

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

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

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

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

구성 옵션

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

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

매개 변수 설명 기본값

namespace

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

"기본값"

debug

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

거짓

enableForceDetach

ontap-sanontap-san-economy 만 해당.

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

* 이것은 23.04의 실험 기능입니다. * 를 참조하십시오 강제 분리에 대한 세부 정보 을 참조하십시오.

false

windows

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

거짓

IPv6

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

거짓

k8sTimeout

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

30초

silenceAutosupport

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

거짓

autosupportImage

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

"NetApp/trident-autosupport:23.07"

autosupportProxy

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

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

uninstall

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

거짓

logFormat

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

"텍스트"

tridentImage

설치할 Astra Trident 이미지

"NetApp/트라이덴트: 23.07"

imageRegistry

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

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

kubeletDir

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

"/var/lib/kubelet"

wipeout

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

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 할당".

강제 분리에 대한 세부 정보

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

경고 Astra Trident는 Kubernetes ngns에 의존하므로 제거하지 마십시오 out-of-service 허용 불가능한 모든 작업 부하가 재조정될 때까지 상태가 불량한 노드에서 오인합니다. 무모하게 타트를 적용하거나 제거하면 백엔드 데이터 보호가 위태롭게 될 수 있습니다.

Kubernetes 클러스터 관리자가 를 적용했을 때 node.kubernetes.io/out-of-service=nodeshutdown:NoExecute 노드 및 에 대한 태트 enableForceDetach 가 로 설정되어 있습니다 true, Astra Trident에서 노드 상태를 확인하고 다음을 수행합니다.

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

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

    참고 Trident 컨트롤러는 노드가 재검증될 때까지(로 표시된 후) 새로운 게시 볼륨 요청을 거부합니다 dirty) Trident 노드 POD를 사용합니다. 클러스터 노드가 정상 상태가 되고 준비된 후에도 마운트된 PVC로 예약된 워크로드는 Astra Trident가 노드를 확인할 때까지 허용되지 않습니다 clean (새 출판물에 대해 안전).

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

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

  2. 노드가 에 있는 경우 cleanable 상태(Out-of-service taint가 제거되었으며 노드가 IN 상태입니다 Ready State) 및 게시된 모든 경로가 깨끗하며, Astra Trident가 노드를 다시 입원 처리하는 역할을 합니다 clean 노드에 게시된 새 볼륨을 허용합니다.

샘플 구성

정의할 때 위에서 언급한 속성을 사용할 수 있습니다 TridentOrchestrator 를 눌러 설치를 사용자 정의합니다.

예 1: 기본 사용자 정의 구성

다음은 기본 사용자 지정 구성의 예입니다.

cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
예 2: 노드 선택기를 사용하여 배포

이 예제에서는 노드 선택기를 사용하여 Trident를 배포하는 방법을 보여 줍니다.

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

이 예제에서는 Windows 작업자 노드에 대한 배포를 보여 줍니다.

cat deploy/crds/tridentorchestrator_cr.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true