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

Google Cloud NetApp Volumes ONTAP 모드 스토리지 풀 구성

기여자 joan-ing

Trident 26.06 버전부터 기존 ontap-sanontap-nas 백엔드를 구성하여 Google Cloud NetApp Volumes(GCNV) ONTAP 모드 스토리지 풀에 스토리지를 프로비저닝할 수 있습니다. 이 기능은 기술 미리 보기로 제공됩니다.

참고

이 기능은 Trident 26.06의 기술 미리보기 기능입니다. 기술 미리보기 기능은 실제 운영 환경에서 사용할 수 없습니다. 기능, 구성 필드 및 지원 매트릭스는 정식 출시(GA) 전에 변경될 수 있습니다.

작동 원리

Trident는 기존 ontap-sanontap-nas 드라이버 로직을 재사용하고 ONTAP REST 호출을 GCNV 프록시 엔드포인트를 통해 라우팅합니다. 이 방식을 통해 GCNV에서 호스팅되는 ONTAP 클러스터의 스토리지를 프로비저닝하고 관리하는 동시에 직접 ONTAP 백엔드에 사용하는 것과 동일한 운영 워크플로를 유지할 수 있습니다. ONTAP 모드는 새로운 스토리지 드라이버를 도입하지 않습니다. gcnv 구성 블록을 ontap-san 또는 ontap-nas 백엔드에 추가하여 백엔드별로 활성화할 수 있습니다.

프로비저닝 경로는 다음과 같습니다.

PersistentVolumeClaim → Trident (ontap-san or ontap-nas) → ONTAP REST 클라이언트 → GCNV 프록시 → GCNV 풀의 ONTAP 클러스터

지원되는 범위 및 지원되지 않는 범위

이 기술 미리보기 버전은 다음을 지원합니다.

  • 드라이버: ontap-san(iSCSI) 및 ontap-nas(NFS 또는 SMB).

  • 프록시를 통한 라이프사이클 작업: 백엔드 초기화, 볼륨 생성 및 삭제, 관련 ONTAP REST 흐름.

  • 인증 모델: 워크로드 ID 풀(WIP), 서비스 계정 키 및 애플리케이션 기본 자격 증명(ADC) 대체 방식.

다음 사항은 이번 기술 미리보기의 범위에서 제외됩니다.

  • ontap-san-economy, ontap-nas-economyontap-nas-flexgroup 드라이버.

  • ASA r2 퍼스낼리티 경로.

  • ZAPI 대체 기능입니다. ONTAP 모드는 ONTAP REST만 사용합니다.

필수 구성 요소

ONTAP 모드 백엔드를 구성하기 전에 다음 사항을 확인하십시오.

  • Trident 26.06 이상 버전.

  • 대상 프로젝트 및 위치에 GCNV ONTAP 모드 스토리지 풀이 있어야 합니다.

  • 사용자 환경에 맞게 범위가 지정된 프록시 작업에 대한 GCP IAM 권한입니다.

  • proxyURL, projectNumber, location 및 `poolID`를 포함하는 백엔드 구성입니다.

  • iSCSI SAN 워크플로우의 경우, 플랫폼에 필요한 노드 측 iSCSI 및 다중 경로 필수 조건을 확인하십시오. "작업자 노드를 준비합니다"을 참조하십시오.

백엔드 구성

A TridentBackendConfig`는 필수입니다 `credentials. ONTAP 모드의 경우 해당 비밀 키는 GCP 프록시 자격 증명을 보유하며 ONTAP managementLIF/ username/ `password`는 해당되지 않습니다. `svm`는 선택 사항입니다. 현재 각 GCNV ONTAP 모드 풀에는 하나의 SVM이 있으며, 생략 시 Trident는 풀에서 SVM을 파생합니다.

네이티브 GCNV와 동일한 서비스 계정 패턴을 사용하십시오. 즉, 민감하지 않은 필드는 gcnv.apiKey, private_key 및 `private_key_id`에, 민감한 필드는 시크릿에 저장하십시오. "Google Cloud NetApp Volumes 구성 예시"을 참조하십시오.

ontap-san 백엔드
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: gcnv-ontap-san
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-san
  backendName: gcnv-ontap-san
  credentials:
    name: gcnv-sa-secret
    type: secret
  gcnv:
    proxyURL: "https://netapp.googleapis.com"
    projectNumber: "<project-number>"
    location: "<region-or-zone>"
    poolID: "<pool-id>"
  svm: "<svm-name>"
ontap-nas 백엔드
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: gcnv-ontap-nas
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-nas
  backendName: gcnv-ontap-nas
  credentials:
    name: gcnv-sa-secret
    type: secret
  gcnv:
    proxyURL: "https://netapp.googleapis.com"
    projectNumber: "<project-number>"
    location: "<region-or-zone>"
    poolID: "<pool-id>"
    apiKey:
      type: service_account
      project_id: "<project-id>"
      client_email: "<service-account-email>"
      client_id: "<client-id>"
      auth_uri: "https://accounts.google.com/o/oauth2/auth"
      token_uri: "https://oauth2.googleapis.com/token"
      auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs"
      client_x509_cert_url: "<client-x509-cert-url>"
비밀
apiVersion: v1
kind: Secret
metadata:
  name: gcnv-sa-secret
  namespace: trident
type: Opaque
stringData:
  private_key_id: "<private-key-id>"
  private_key: |
    -----BEGIN PRIVATE KEY-----
    <private-key>
    -----END PRIVATE KEY-----
참고
`TridentBackendConfig` 사양에  `private_key` 또는  `private_key_id`을 넣지 마십시오. CRD에서 이를 거부합니다. 블록 스토리지에는 동일한  `gcnv` 및 자격 증명 패턴을 가진  `ontap-san`을 사용하십시오.
svm: "<svm-name>"
== Authentication

Trident resolves credentials for proxy access in the following order:

. Workload Identity Pool (WIP)
. Service account key
. Application Default Credentials (ADC)

For this Tech Preview, use the following practices:

* Prefer Workload Identity Pool where it is available.
* Do not embed raw private keys in version-controlled backend files. Store credentials in a Kubernetes secret.
* Apply least-privilege IAM scoping to the service account.

== Validation and initialization behavior

Trident validates an ONTAP-mode backend during initialization and fails fast rather than partially initializing.

Backend initialization fails if a required `gcnv` field is missing, the driver is unsupported for ONTAP-mode, or credential resolution fails.

== Known limitations

* This feature is a Tech Preview. Behavior and the supported matrix can change before GA.
* ZAPI fallback is not used in ONTAP-mode.
* Protocol and node-readiness requirements still apply. For example, iSCSI workflows require the node-side prerequisites described in link:../trident-use/worker-node-prep.html[Prepare the worker node].
* Existing ONTAP and GCNV environment constraints still apply.

== Upgrade and compatibility

ONTAP-mode is opt-in per backend through the `gcnv` configuration block:

* Existing non-GCNV ONTAP backends are unaffected.
* Mixed deployments that combine direct ONTAP backends and ONTAP-mode proxy backends are supported through backend-level configuration. Each backend is configured independently.
* To stop using ONTAP-mode, remove or replace the affected backends. No global switch is required.

== What's next?

Apply secret before TBC; use `kubectl apply` and `-n trident` to match examples.