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
속성.
매개 변수 | 설명 | 기본값 |
---|---|---|
|
Astra Trident를 설치할 네임스페이스입니다 |
"기본값" |
|
Astra Trident에 대한 디버깅을 활성화합니다 |
거짓 |
|
를 로 설정합니다 |
거짓 |
|
IPv6를 통해 Astra Trident를 설치합니다 |
거짓 |
|
Kubernetes 작업 시간이 초과되었습니다 |
30초 |
|
AutoSupport 번들을 NetApp에 자동으로 보내지 않습니다 |
거짓 |
|
작업자 노드 종속성 자동 관리(* beta*) |
거짓 |
|
AutoSupport 텔레메트리 컨테이너 이미지입니다 |
"NetApp/트리덴트 - AutoSupport: 23.01" |
|
AutoSupport 텔레메트리 전송을 위한 프록시의 주소/포트입니다 |
|
|
Astra Trident를 제거하는 데 사용되는 플래그입니다 |
거짓 |
|
사용할 Astra Trident 로깅 형식[text,json] |
"텍스트" |
|
설치할 Astra Trident 이미지 |
"NetApp/트리덴트: 21.04" |
|
형식의 내부 레지스트리 경로입니다 |
"k8s.gcr.io/sig-storage(k8s 1.19 이상) 또는 quay.io/k8scsi" |
|
호스트의 kubelet 디렉토리에 대한 경로입니다 |
“/var/lib/kubelet” |
|
Astra Trident를 완전히 제거하기 위해 삭제할 리소스 목록입니다 |
|
|
내부 레지스트리에서 이미지를 가져올 수 있는 비밀 |
|
|
Trident 운영자의 이미지 풀 정책을 설정합니다. 유효한 값은 다음과 같습니다. |
|
|
Pod용 추가 노드 선택기 pod.spec.nodeSelector 과 동일한 형식을 따릅니다. |
기본값 없음, 선택 사항 |
|
Pod에 대한 Kubernetes 허용 설정을 재정의합니다. pod.spec.Tolerations와 같은 형식을 따릅니다. |
기본값 없음, 선택 사항 |
|
Pod용 추가 노드 선택기 pod.spec.nodeSelector 과 동일한 형식을 따릅니다. |
기본값 없음, 선택 사항 |
|
Pod에 대한 Kubernetes 허용 설정을 재정의합니다. pod.spec.Tolerations와 같은 형식을 따릅니다. |
기본값 없음, 선택 사항 |
포드 매개 변수 포맷에 대한 자세한 내용은 을 참조하십시오 "노드에 Pod 할당". |
샘플 구성
정의할 때 위에서 언급한 속성을 사용할 수 있습니다 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