Cette page explique comment gérer ONTAP en mode ONTAP.
Pour des raisons de sécurité et de journalisation, NetApp Volumes n'autorise pas les connexions directes à la LIF de gestion ONTAP. Par conséquent, vous ne pouvez pas utiliser d'outils tels que SystemManager ou SSH pour gérer directement le système ONTAP. À la place, vous pouvez envoyer des opérations ONTAP à votre pool de stockage en mode ONTAP à l'aide d'une API proxy Google pour les appels d'API REST ONTAP.
Les outils de gestion, tels que Terraform, utilisent le proxy d'API Google pour gérer les ressources ONTAP.
Utiliser une API de proxy Google pour les appels d'API REST ONTAP
NetApp Volumes fournit un point de terminaison d'API Google pour chaque pool de stockage en mode FlexUnified ONTAP, ce qui vous permet d'envoyer des appels d'API REST ONTAP au cluster ONTAP sous-jacent. Cela vous permet de contrôler les fonctionnalités ONTAP à l'aide d'API.
Les appels au proxy ONTAP doivent utiliser le format d'URL suivant :
https://netapp.googleapis.com/v1beta1/projects/PROJECT/locations/LOCATION/storagePools/POOL_NAME/ontap/ONTAP_REST_URL
Cette URL se compose des éléments suivants :
URL de référence :
https://netapp.googleapis.com/v1beta1/projectsURN Google pour le pool de stockage : /
PROJECT/locations/LOCATION/storagePools/POOL_NAMERemplacez les informations suivantes :
PROJECT: votreproject IDou numéro.LOCATION: nom de la zone pour les pools zonaux ou région pour les pools régionaux.POOL_NAME: nom de votre pool.
Chemin d'accès à l'API REST ONTAP : /ontap/
ONTAP_REST_URL. Pour en savoir plus, consultez la documentation de référence de l'API REST ONTAP.
Lister tous les volumes d'un pool de stockage
L'exemple suivant montre l'URL complète permettant de lister tous les volumes du pool de stockage mypool dans us-central1-a du projet myproject.
https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes
Comme tous les appels d'API Google, celui-ci doit être authentifié. L'exemple CLI suivant récupère un jeton d'API, puis appelle l'URL à l'aide de curl pour lister tous les volumes du pool :
TOKEN=$(gcloud auth print-access-token) curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes'
--header "Authorization: Bearer $TOKEN"
--header "Content-Type: application/json"
Créer un volume
Cette section explique comment créer un volume nommé myvolume dans un pool de stockage Flex Unified en mode ONTAP existant, identifié par l'URN /projects/myproject/locations/us-central1-a/storagePools/mypool, à l'aide de l'API REST ONTAP.
Pour créer un volume, consultez la documentation en ligne de l'API REST ONTAP. Dans la documentation, accédez à la section Stockage, puis développez Gérer les volumes de stockage. Cette section fournit plusieurs exemples.
Suivez les instructions ci-dessous pour créer un volume.
Déterminez le point de terminaison de l'API REST ONTAP.
En utilisant l'exemple de base dans NetApp Volumes, le point de terminaison de l'API ONTAP requis est
/api/storage/volumes. Ce point de terminaison crée l'URL :https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes.Construisez la charge utile de la requête.
Utilisez l'exemple de charge utile de la documentation ONTAP pour l'adapter à votre environnement spécifique. Exemple :
{ "name": "vol1", "aggregates": [ { "name": "aggr1" } ], "svm": { "name": "vs1" } }Lorsque vous créez un volume, utilisez le champ
namepour lui attribuer un nom. Le payload de création de volume nécessite les noms de l'agrégat et de la machine virtuelle de stockage (SVM) attribués par NetApp Volumes lors de la création du pool en mode ONTAP. En mode ONTAP, chaque pool de stockage possède un SVM et un agrégat de stockage. Ces informations peuvent être récupérées en interrogeant ONTAP pour toutes les SVM.Pour récupérer les noms de la SVM et de l'agrégat :
Utiliser
ontap_fieldspour la sélection des champs : dans les pools en mode ONTAP de NetApp Volumes, utilisez le paramètre de requêteontap_fields=au lieu du paramètre ONTAP standardfields=pour spécifier les champs demandés.Facultatif : Utilisez
jqpour extraire des champs : l'exemple suivant utilise l'outil Open Source jq pour extrairename(nom du SVM) etaggregatesde la réponse JSON, ce qui est utile pour le traitement dans les scripts shell.TOKEN=$(gcloud auth print-access-token) curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/svm/svms?ontap_fields=name,aggregates' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json" | jq '.rawResponse.records[] | {name: .name, aggregates: .aggregates[].name}'Exemple de réponse :
{ "name": "gcnv-7cf6ee41c1a94f0-svm-01", "aggregates": "aggr1" }
Exécutez l'appel d'API de création de volumes.
Avec le nom d'agrégat (
aggr1) et le nom de la SVM (gcnv-7cf6ee41c1a94f0-svm-01), créez la charge utile finale de création de volume et envoyez l'appel d'API. Notez que la charge utile de l'API ONTAP doit être placée dans une enveloppebody: {}pour les NetApp Volumes.L'exemple suivant crée un volume nommé
myvolumed'une taille de 2 Go :curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json" \ --data '{ "body": { "name": "myvolume", "aggregates": [ { "name": "aggr1" } ], "svm": { "name": "gcnv-7cf6ee41c1a94f0-svm-01" }, "size": "2GB" } }'La création de volumes est compatible avec de nombreux paramètres facultatifs, tels que
size. Par exemple, la charge utile spécifie une taille de 2 Go. La page de documentation de la ressource liste tous les paramètres disponibles, y compris les paramètres obligatoires et facultatifs. Il fournit également des exemples détaillés de corps de charge utile et de corps de réponse.Surveillez le job ONTAP.
La plupart des appels d'API ONTAP, tels que les opérations
POSTouPATCHqui créent ou mettent à jour des ressources, ne s'exécutent pas de manière synchrone. Ces appels renvoient plutôt une ressource de tâche ONTAP, comme illustré dans l'exemple de création de volume.Exemple de réponse à une offre d'emploi :
{ "body": { "job": { "_links": { "self": { "href": "curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/cluster/jobs/15be1c46-fd2c-11f0-b3c2-7f15697be61c' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json"" } }, "uuid": "15be1c46-fd2c-11f0-b3c2-7f15697be61c" } } }Pour vérifier l'état du job, interrogez la ressource de job à l'aide de l'
uuidrenvoyé :curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/cluster/jobs/15be1c46-fd2c-11f0-b3c2-7f15697be61c' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json"
Exemple de réponse :
{ "rawResponse": { "uuid": "15be1c46-fd2c-11f0-b3c2-7f15697be61c", "description": "POST /api/storage/volumes/15be0ad9-fd2c-11f0-b3c2-7f15697be61c", "state": "success", "message": "success", "code": 0, "start_time": "2026-01-29T16:03:43+00:00", "end_time": "2026-01-29T16:03:44+00:00", "svm": { "name": "gcnv-7cf6ee41c1a94f0-svm-01", "uuid": "8a29c15d-fb31-11f0-ab03-03e1bb49206d" } } }Si la valeur de
stateestsuccess, le volume est créé.Cet exemple de workflow vous explique comment rechercher des actions ONTAP dans la documentation de l'API REST ONTAP. Il vous montre également comment créer le format de charge utile requis et l'envoyer au pool de stockage à l'aide d'une API Google. Enfin, il explique comment surveiller un job ONTAP jusqu'à la création de la ressource. Cette approche vous permet de contrôler la plupart des paramètres ONTAP pour votre pool de stockage.
Actions ONTAP autorisées
Lorsque vous accédez à un pool via le proxy API ou CLI, vos autorisations sont limitées et vous ne pouvez pas exécuter toutes les commandes ONTAP. Cela permet de protéger l'intégrité du système. Pour certaines API, le système filtre les charges utiles des requêtes et des réponses d'API. Par exemple, comme NetApp Volumes facture la capacité logique, le système bloque les paramètres de configuration de la capacité physique. Si vous envoyez un paramètre non autorisé, l'API renvoie une erreur.
Supprimer un pool en mode ONTAP
Pour supprimer un pool en mode ONTAP, vous devez d'abord supprimer tous les volumes du pool.