Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Opzioni di configurazione ed esempi

Collaboratori

Scopri come creare e utilizzare i driver NAS ONTAP con l’installazione di Astra Trident. Questa sezione fornisce esempi di configurazione back-end e dettagli su come mappare i backend a StorageClasses.

Opzioni di configurazione back-end

Per le opzioni di configurazione del backend, consultare la tabella seguente:

Parametro Descrizione Predefinito

version

Sempre 1

storageDriverName

Nome del driver di storage

"ontap-nas", "ontap-nas-economy", "ontap-nas-flexgroup", "ontap-san", "ontap-san-economy"

backendName

Nome personalizzato o backend dello storage

Nome del driver + "_" + dataLIF

managementLIF

Indirizzo IP di un cluster o LIF di gestione SVM

"10.0.0.1", "[2001:1234:abcd::fefe]"

dataLIF

Indirizzo IP del protocollo LIF. USA le parentesi quadre per IPv6. Non può essere aggiornato dopo l’impostazione

Derivato dalla SVM, se non specificato

autoExportPolicy

Abilitare la creazione e l’aggiornamento automatici dei criteri di esportazione [booleano]

falso

autoExportCIDRs

Elenco di CIDR per filtrare gli IP dei nodi Kubernetes rispetto a quando autoExportPolicy è attivato

["0.0.0.0/0", ":/0"]`

labels

Set di etichette arbitrarie formattate con JSON da applicare sui volumi

""

clientCertificate

Valore del certificato client codificato con base64. Utilizzato per l’autenticazione basata su certificato

""

clientPrivateKey

Valore codificato in base64 della chiave privata del client. Utilizzato per l’autenticazione basata su certificato

""

trustedCACertificate

Valore codificato in base64 del certificato CA attendibile. Opzionale. Utilizzato per l’autenticazione basata su certificato

""

username

Nome utente per la connessione al cluster/SVM. Utilizzato per l’autenticazione basata sulle credenziali

password

Password per la connessione al cluster/SVM. Utilizzato per l’autenticazione basata sulle credenziali

svm

Macchina virtuale per lo storage da utilizzare

Derivato se un SVM managementLIF è specificato

igroupName

Nome dell’igroup per i volumi SAN da utilizzare

"Trident-<backend-UUID>"

storagePrefix

Prefisso utilizzato per il provisioning di nuovi volumi nella SVM. Non può essere aggiornato dopo l’impostazione

"tridente"

limitAggregateUsage

Il provisioning non riesce se l’utilizzo è superiore a questa percentuale. Non si applica ad Amazon FSX per ONTAP

"" (non applicato per impostazione predefinita)

limitVolumeSize

Fallire il provisioning se la dimensione del volume richiesta è superiore a questo valore.

"" (non applicato per impostazione predefinita)

lunsPerFlexvol

LUN massimi per FlexVol, devono essere compresi nell’intervallo [50, 200]

"100"

debugTraceFlags

Flag di debug da utilizzare per la risoluzione dei problemi. Ad esempio, {"api":false,} method":true

nullo

nfsMountOptions

Elenco separato da virgole delle opzioni di montaggio NFS

""

qtreesPerFlexvol

Qtree massimi per FlexVol, devono essere compresi nell’intervallo [50, 300]

"200"

useREST

Parametro booleano per l’utilizzo delle API REST di ONTAP. Anteprima tecnica

falso

Nota useREST viene fornito come anteprima tecnica consigliata per ambienti di test e non per carichi di lavoro di produzione. Quando è impostato su true, Astra Trident utilizzerà le API REST di ONTAP per comunicare con il backend. Questa funzione richiede ONTAP 9.9 e versioni successive. Inoltre, il ruolo di accesso ONTAP utilizzato deve avere accesso a. ontap applicazione. Ciò è soddisfatto dal predefinito vsadmin e. cluster-admin ruoli.

Per comunicare con il cluster ONTAP, è necessario fornire i parametri di autenticazione. Potrebbe trattarsi del nome utente/password di un account di accesso di sicurezza o di un certificato installato.

Attenzione Se si utilizza un backend Amazon FSX per NetApp ONTAP, non specificare limitAggregateUsage parametro. Il fsxadmin e. vsadmin I ruoli forniti da Amazon FSX per NetApp ONTAP non contengono le autorizzazioni di accesso necessarie per recuperare l’utilizzo aggregato e limitarlo tramite Astra Trident.
Attenzione Non utilizzare debugTraceFlags a meno che non si stia eseguendo la risoluzione dei problemi e non si richieda un dump dettagliato del log.
Nota Quando si crea un backend, tenere presente che il dataLIF e. storagePrefix impossibile modificare dopo la creazione. Per aggiornare questi parametri, è necessario creare un nuovo backend.

È possibile specificare un FQDN (Fully-qualified domain name) per managementLIF opzione. È inoltre possibile specificare un FQDN per dataLIF In questo caso, l’FQDN verrà utilizzato per le operazioni di montaggio NFS. In questo modo è possibile creare un DNS round-robin per il bilanciamento del carico tra più LIF di dati.

`managementLIF` Per tutti i driver ONTAP è possibile impostare anche gli indirizzi IPv6. Assicurarsi di installare Astra Trident con `--use-ipv6` allarme. È necessario prestare attenzione alla definizione di `managementLIF` Indirizzo IPv6 tra parentesi quadre.
Attenzione Quando si utilizzano indirizzi IPv6, assicurarsi managementLIF e. dataLIF (se incluso nella definizione del backend) sono definiti tra parentesi quadre, ad esempio [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]. Se dataLIF Non è fornito, Astra Trident recupererà i dati IPv6 LIF da SVM.

Utilizzando il autoExportPolicy e. autoExportCIDRs CSI Trident è in grado di gestire automaticamente le policy di esportazione. Questo è supportato per tutti i driver ontap-nas-*.

Per ontap-nas-economy driver, il limitVolumeSize L’opzione limita inoltre le dimensioni massime dei volumi gestiti per qtree e LUN e l' qtreesPerFlexvol Consente di personalizzare il numero massimo di qtree per FlexVol.

Il nfsMountOptions il parametro può essere utilizzato per specificare le opzioni di montaggio. Le opzioni di montaggio per i volumi persistenti di Kubernetes sono normalmente specificate nelle classi di storage, ma se non sono specificate opzioni di montaggio in una classe di storage, Astra Trident tornerà a utilizzare le opzioni di montaggio specificate nel file di configurazione del backend di storage. Se non sono specificate opzioni di montaggio nella classe di storage o nel file di configurazione, Astra Trident non imposta alcuna opzione di montaggio su un volume persistente associato.

Nota Astra Trident imposta le etichette di provisioning nel campo "commenti" di tutti i volumi creati con(ontap-nas e.(ontap-nas-flexgroup. In base al driver utilizzato, i commenti vengono impostati su FlexVol (ontap-nas) O FlexGroup (ontap-nas-flexgroup). Astra Trident copia tutte le etichette presenti in un pool di storage nel volume di storage al momento del provisioning. Gli amministratori dello storage possono definire le etichette per ogni pool di storage e raggruppare tutti i volumi creati in un pool di storage. In questo modo è possibile differenziare i volumi in base a una serie di etichette personalizzabili fornite nella configurazione di back-end.

Opzioni di configurazione back-end per il provisioning dei volumi

Per impostazione predefinita, è possibile controllare il provisioning di ciascun volume utilizzando queste opzioni in una sezione speciale della configurazione. Per un esempio, vedere gli esempi di configurazione riportati di seguito.

Parametro Descrizione Predefinito

spaceAllocation

Allocazione dello spazio per LUN

"vero"

spaceReserve

Modalità di riserva dello spazio; "nessuno" (sottile) o "volume" (spesso)

"nessuno"

snapshotPolicy

Policy di Snapshot da utilizzare

"nessuno"

qosPolicy

Gruppo di criteri QoS da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend

""

adaptiveQosPolicy

Gruppo di criteri QoS adattivi da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend. Non supportato da ontap-nas-Economy.

""

snapshotReserve

Percentuale di volume riservato agli snapshot "0"

Se snapshotPolicy è "nessuno", altrimenti ""

splitOnClone

Separare un clone dal suo padre al momento della creazione

"falso"

encryption

Abilitare la crittografia dei volumi NetApp

"falso"

securityStyle

Stile di sicurezza per nuovi volumi

"unix"

tieringPolicy

Policy di tiering per utilizzare "nessuno"

"Solo snapshot" per configurazione SVM-DR precedente a ONTAP 9.5

UnixPermissions

Per i nuovi volumi

"777"

SnapshotDir

Controlla la visibilità di .snapshot directory

"falso"

ExportPolicy

Policy di esportazione da utilizzare

"predefinito"

SecurityStyle

Stile di sicurezza per nuovi volumi

"unix"

Nota L’utilizzo di gruppi di policy QoS con Astra Trident richiede ONTAP 9.8 o versione successiva. Si consiglia di utilizzare un gruppo di criteri QoS non condiviso e assicurarsi che il gruppo di criteri sia applicato a ciascun componente singolarmente. Un gruppo di policy QoS condiviso applicherà il limite massimo per il throughput totale di tutti i carichi di lavoro.

Ecco un esempio con i valori predefiniti definiti:

{
  "version": 1,
  "storageDriverName": "ontap-nas",
  "backendName": "customBackendName",
  "managementLIF": "10.0.0.1",
  "dataLIF": "10.0.0.2",
  "labels": {"k8scluster": "dev1", "backend": "dev1-nasbackend"},
  "svm": "trident_svm",
  "username": "cluster-admin",
  "password": "password",
  "limitAggregateUsage": "80%",
  "limitVolumeSize": "50Gi",
  "nfsMountOptions": "nfsvers=4",
  "debugTraceFlags": {"api":false, "method":true},
  "defaults": {
    "spaceReserve": "volume",
    "qosPolicy": "premium",
    "exportPolicy": "myk8scluster",
    "snapshotPolicy": "default",
    "snapshotReserve": "10"
  }
}

Per ontap-nas e. ontap-nas-flexgroups, Astra Trident utilizza ora un nuovo calcolo per garantire che il FlexVol sia dimensionato correttamente con la percentuale di snapshotReserve e PVC. Quando l’utente richiede un PVC, Astra Trident crea il FlexVol originale con più spazio utilizzando il nuovo calcolo. Questo calcolo garantisce che l’utente riceva lo spazio scrivibile richiesto nel PVC e non uno spazio inferiore a quello richiesto. Prima della versione 21.07, quando l’utente richiede un PVC (ad esempio, 5GiB), con SnapshotReserve al 50%, ottiene solo 2,5 GiB di spazio scrivibile. Questo perché ciò che l’utente ha richiesto è l’intero volume e. snapshotReserve è una percentuale. Con Trident 21.07, ciò che l’utente richiede è lo spazio scrivibile e Astra Trident definisce snapshotReserve numero come percentuale dell’intero volume. Questo non si applica a. ontap-nas-economy. Vedere l’esempio seguente per vedere come funziona:

Il calcolo è il seguente:

Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)

Per snapshotReserve = 50% e richiesta PVC = 5GiB, la dimensione totale del volume è 2/0,5 = 10GiB e la dimensione disponibile è 5GiB, che è ciò che l’utente ha richiesto nella richiesta PVC. Il volume show il comando dovrebbe mostrare risultati simili a questo esempio:

Mostra l’output del comando di visualizzazione del volume.

I backend esistenti delle installazioni precedenti eseguiranno il provisioning dei volumi come spiegato in precedenza durante l’aggiornamento di Astra Trident. Per i volumi creati prima dell’aggiornamento, è necessario ridimensionare i volumi per osservare la modifica. Ad esempio, un PVC 2GiB con snapshotReserve=50 In precedenza, si è creato un volume che fornisce 1 GB di spazio scrivibile. Il ridimensionamento del volume su 3GiB, ad esempio, fornisce all’applicazione 3GiB di spazio scrivibile su un volume da 6 GiB.

Esempi di configurazione minimi

Gli esempi seguenti mostrano le configurazioni di base che lasciano la maggior parte dei parametri predefiniti. Questo è il modo più semplice per definire un backend.

Nota Se si utilizza Amazon FSX su NetApp ONTAP con Trident, si consiglia di specificare i nomi DNS per le LIF anziché gli indirizzi IP.

ontap-nas driver con autenticazione basata su certificato

Si tratta di un esempio minimo di configurazione di back-end. clientCertificate, clientPrivateKey, e. trustedCACertificate (Facoltativo, se si utilizza una CA attendibile) sono inseriti in backend.json E prendere rispettivamente i valori codificati base64 del certificato client, della chiave privata e del certificato CA attendibile.

{
  "version": 1,
  "backendName": "DefaultNASBackend",
  "storageDriverName": "ontap-nas",
  "managementLIF": "10.0.0.1",
  "dataLIF": "10.0.0.15",
  "svm": "nfs_svm",
  "clientCertificate": "ZXR0ZXJwYXB...ICMgJ3BhcGVyc2",
  "clientPrivateKey": "vciwKIyAgZG...0cnksIGRlc2NyaX",
  "trustedCACertificate": "zcyBbaG...b3Igb3duIGNsYXNz",
  "storagePrefix": "myPrefix_"
}

ontap-nas driver con policy di esportazione automatica

Questo esempio mostra come impostare Astra Trident a utilizzare policy di esportazione dinamiche per creare e gestire automaticamente le policy di esportazione. Questo funziona allo stesso modo per ontap-nas-economy e. ontap-nas-flexgroup driver.

{
    "version": 1,
    "storageDriverName": "ontap-nas",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "labels": {"k8scluster": "test-cluster-east-1a", "backend": "test1-nasbackend"},
    "autoExportPolicy": true,
    "autoExportCIDRs": ["10.0.0.0/24"],
    "username": "admin",
    "password": "secret",
    "nfsMountOptions": "nfsvers=4",
}

ontap-nas-flexgroup driver

{
    "version": 1,
    "storageDriverName": "ontap-nas-flexgroup",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "labels": {"k8scluster": "test-cluster-east-1b", "backend": "test1-ontap-cluster"},
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret",
}

ontap-nas Driver con IPv6

{
 "version": 1,
 "storageDriverName": "ontap-nas",
 "backendName": "nas_ipv6_backend",
 "managementLIF": "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]",
 "labels": {"k8scluster": "test-cluster-east-1a", "backend": "test1-ontap-ipv6"},
 "svm": "nas_ipv6_svm",
 "username": "vsadmin",
 "password": "netapp123"
}

ontap-nas-economy driver

{
    "version": 1,
    "storageDriverName": "ontap-nas-economy",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret"
}

Esempi di backend con pool di storage virtuali

Nel file di definizione back-end di esempio mostrato di seguito, vengono impostati valori predefiniti specifici per tutti i pool di storage, ad esempio spaceReserve a nessuno, spaceAllocation a false, e. encryption a falso. I pool di storage virtuali sono definiti nella sezione storage.

In questo esempio, alcuni dei pool di storage vengono impostati in modo personalizzato spaceReserve, spaceAllocation, e. encryption e alcuni pool sovrascrivono i valori predefiniti precedentemente impostati.

ontap-nas driver

{
    {
    "version": 1,
    "storageDriverName": "ontap-nas",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "admin",
    "password": "secret",
    "nfsMountOptions": "nfsvers=4",

    "defaults": {
          "spaceReserve": "none",
          "encryption": "false",
          "qosPolicy": "standard"
    },
    "labels":{"store":"nas_store", "k8scluster": "prod-cluster-1"},
    "region": "us_east_1",
    "storage": [
        {
            "labels":{"app":"msoffice", "cost":"100"},
            "zone":"us_east_1a",
            "defaults": {
                "spaceReserve": "volume",
                "encryption": "true",
                "unixPermissions": "0755",
                "adaptiveQosPolicy": "adaptive-premium"
            }
        },
        {
            "labels":{"app":"slack", "cost":"75"},
            "zone":"us_east_1b",
            "defaults": {
                "spaceReserve": "none",
                "encryption": "true",
                "unixPermissions": "0755"
            }
        },
        {
            "labels":{"app":"wordpress", "cost":"50"},
            "zone":"us_east_1c",
            "defaults": {
                "spaceReserve": "none",
                "encryption": "true",
                "unixPermissions": "0775"
            }
        },
        {
            "labels":{"app":"mysqldb", "cost":"25"},
            "zone":"us_east_1d",
            "defaults": {
                "spaceReserve": "volume",
                "encryption": "false",
                "unixPermissions": "0775"
            }
        }
    ]
}

ontap-nas-flexgroup driver

{
    "version": 1,
    "storageDriverName": "ontap-nas-flexgroup",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret",

    "defaults": {
          "spaceReserve": "none",
          "encryption": "false"
    },
    "labels":{"store":"flexgroup_store", "k8scluster": "prod-cluster-1"},
    "region": "us_east_1",
    "storage": [
        {
            "labels":{"protection":"gold", "creditpoints":"50000"},
            "zone":"us_east_1a",
            "defaults": {
                "spaceReserve": "volume",
                "encryption": "true",
                "unixPermissions": "0755"
            }
        },
        {
            "labels":{"protection":"gold", "creditpoints":"30000"},
            "zone":"us_east_1b",
            "defaults": {
                "spaceReserve": "none",
                "encryption": "true",
                "unixPermissions": "0755"
            }
        },
        {
            "labels":{"protection":"silver", "creditpoints":"20000"},
            "zone":"us_east_1c",
            "defaults": {
                "spaceReserve": "none",
                "encryption": "true",
                "unixPermissions": "0775"
            }
        },
        {
            "labels":{"protection":"bronze", "creditpoints":"10000"},
            "zone":"us_east_1d",
            "defaults": {
                "spaceReserve": "volume",
                "encryption": "false",
                "unixPermissions": "0775"
            }
        }
    ]
}

ontap-nas-economy driver

{
    "version": 1,
    "storageDriverName": "ontap-nas-economy",
    "managementLIF": "10.0.0.1",
    "dataLIF": "10.0.0.2",
    "svm": "svm_nfs",
    "username": "vsadmin",
    "password": "secret",

    "defaults": {
          "spaceReserve": "none",
          "encryption": "false"
    },
    "labels":{"store":"nas_economy_store"},
    "region": "us_east_1",
    "storage": [
        {
            "labels":{"department":"finance", "creditpoints":"6000"},
            "zone":"us_east_1a",
            "defaults": {
                "spaceReserve": "volume",
                "encryption": "true",
                "unixPermissions": "0755"
            }
        },
        {
            "labels":{"department":"legal", "creditpoints":"5000"},
            "zone":"us_east_1b",
            "defaults": {
                "spaceReserve": "none",
                "encryption": "true",
                "unixPermissions": "0755"
            }
        },
        {
            "labels":{"department":"engineering", "creditpoints":"3000"},
            "zone":"us_east_1c",
            "defaults": {
                "spaceReserve": "none",
                "encryption": "true",
                "unixPermissions": "0775"
            }
        },
        {
            "labels":{"department":"humanresource", "creditpoints":"2000"},
            "zone":"us_east_1d",
            "defaults": {
                "spaceReserve": "volume",
                "encryption": "false",
                "unixPermissions": "0775"
            }
        }
    ]
}

Mappare i backend in StorageClasses

Le seguenti definizioni di StorageClass si riferiscono ai pool di storage virtuali sopra indicati. Utilizzando il parameters.selector Ciascun StorageClass richiama i pool virtuali che possono essere utilizzati per ospitare un volume. Gli aspetti del volume saranno definiti nel pool virtuale scelto.

  • Il primo StorageClass (protection-gold) verrà mappato al primo, secondo pool di storage virtuale in ontap-nas-flexgroup il back-end e il primo pool di storage virtuale in ontap-san back-end. Si tratta dell’unico pool che offre una protezione di livello gold.

  • Il secondo StorageClass (protection-not-gold) verrà mappato al terzo e quarto pool di storage virtuale in ontap-nas-flexgroup back-end e il secondo, terzo pool di storage virtuale in ontap-san back-end. Questi sono gli unici pool che offrono un livello di protezione diverso dall’oro.

  • Il terzo StorageClass (app-mysqldb) verrà mappato al quarto pool di storage virtuale in ontap-nas il back-end e il terzo pool di storage virtuale in ontap-san-economy back-end. Questi sono gli unici pool che offrono la configurazione del pool di storage per applicazioni di tipo mysqldb.

  • Il quarto StorageClass (protection-silver-creditpoints-20k) verrà mappato al terzo pool di storage virtuale in ontap-nas-flexgroup il back-end e il secondo pool di storage virtuale in ontap-san back-end. Questi sono gli unici pool che offrono una protezione di livello gold a 20000 punti di credito.

  • Quinta StorageClass (creditpoints-5k) verrà mappato al secondo pool di storage virtuale in ontap-nas-economy il back-end e il terzo pool di storage virtuale in ontap-san back-end. Queste sono le uniche offerte di pool a 5000 punti di credito.

Astra Trident deciderà quale pool di storage virtuale è selezionato e garantirà il rispetto dei requisiti di storage.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: protection-gold
provisioner: netapp.io/trident
parameters:
  selector: "protection=gold"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: protection-not-gold
provisioner: netapp.io/trident
parameters:
  selector: "protection!=gold"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: app-mysqldb
provisioner: netapp.io/trident
parameters:
  selector: "app=mysqldb"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: protection-silver-creditpoints-20k
provisioner: netapp.io/trident
parameters:
  selector: "protection=silver; creditpoints=20000"
  fsType: "ext4"
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: creditpoints-5k
provisioner: netapp.io/trident
parameters:
  selector: "creditpoints=5000"
  fsType: "ext4"