Ce guide vous présente l'ensemble des outils d'administration, autres que les interfaces web Prism Central et Prim Element, que sont :
ncli accessible sur un poste local, en SSH sur Prism Central et Prism Element.
acli utilisable en SSH sur les CVM.
Cmdlets pour Powershell.
L'interface REST API à partir de l'URL de Prism Central ou Prism Element.
Warning
OVHcloud vous met à disposition des services dont la configuration, la gestion et la responsabilité vous incombent. Il vous appartient donc de ce fait d’en assurer le bon fonctionnement.
Ce guide a pour but de vous accompagner au mieux sur des tâches courantes. Néanmoins, nous vous recommandons de faire appel à l'équipe Professional Services OVHcloud ou à un prestataire spécialisé si vous éprouvez des difficultés ou des doutes concernant l’administration, l’utilisation ou la mise en place d’un service sur un serveur.
Prérequis
Disposer d'un cluster Nutanix dans votre compte OVHcloud.
Être connecté à votre .
Pour l'interface REST API, vous devez disposer d'une machine virtuelle sous Linux avec un éditeur de texte, afin d'exécuter les commandes curl et jq.
Info
Certaines commandes ne sont utilisables que si vous avez accès à Prism Central et Prism Element en SSH.
Présentation des outils
Commande ncli
ncli se trouve sur Prism Central et sur toutes les CVM au travers d'une connexion SSH. Vous pouvez aussi l'installer en local sur un poste Windows ou Linux à partir de l'interface web Prism Central.
ncli permet de gérer des aspects du cluster Nutanix comme le stockage, les tâches et certaines actions sur les machines virtuelles à l'intérieur du cluster.
Outil acli
La commande acli est uniquement disponible sur les CVM. Elle est utilisée pour la gestion des hôtes des machines virtuelles, des réseaux et des snapshots.
Extensions Powershell
Powershell est un langage de script qui a été développé par Microsoft et qui se base sur Net.Framework.
Il fonctionne dans les environnements Microsoft, Linux et MacOS mais il est principalement utilisé dans un environnement Microsoft.
Tous les exemples cités ci-dessous ont été exécutés uniquement sur cet environnement.
Nutanix a rajouté des extensions qui permettent l'administration du cluster et des VM en utilisant des scripts Powershell.
Interface d'administration REST API
Au travers de l'URL de Prism central ou Prism Element, vous pouvez utiliser une API nommée REST API soit en ligne de commande avec l'outil curl, soit au travers d'un autre langage de programmation comme python ou php, voire même avec les commandes standard de Powershell.
Pour plus de détails sur ces commandes, reportez-vous à la section « Aller plus loin » de ce guide.
En pratique
Exemples d'utilisation de ncli
Connectez-vous en SSH avec un client SSH sur une des CVM :
ssh nutanix@oneofcvm
La commande ncli s'utilise suivie d'options, comme ici ncli entité action option1="valeur" option2="valeur2 mais elle est aussi utilisable de manière interactive en exécutant uniquement ncli.
Création d'un Storage Container nommé newcontainer en mode interactif
ncli<ncli><ncli> ctr create name="NewContainer" sp-name="default-storage-pool-10728992352041" Id : 0005ce15-3f3c-a8ce-3802-043f72bf18a6::2900908 Uuid : c3db4020-2a98-4636-b9eb-8ebf10a1b351 Name : Moncontainer Storage Pool Id : 0005ce15-3f3c-a8ce-3802-043f72bf18a6::9 Storage Pool Uuid : 111d4e91-10df-4f6c-a774-b79b53077131 Free Space (Logical) : 37.69 TiB (41,445,056,716,652 bytes) Used Space (Logical) : 0 bytes Allowed Max Capacity : 37.69 TiB (41,445,056,716,652 bytes) Used by other Containers : 260.86 GiB (280,096,141,312 bytes) Explicit Reservation : 0 bytes Thick Provisioned : 0 bytes Replication Factor : 2 Oplog Replication Factor : 2 NFS Whitelist Inherited : true Container NFS Whitelist : 192.168.0.77/255.255.255.255 VStore Name(s) : Moncontainer Random I/O Pri Order : SSD-PCIe, SSD-SATA, DAS-SATA Sequential I/O Pri Order : SSD-PCIe, SSD-SATA, DAS-SATA Compression : off Fingerprint On Write : off On-Disk Dedup : off Erasure Code : off Software Encryption : off<ncli>
Suppression du Storage Container
Lancez la commande ci-dessous pour supprimer sans confirmation le Storage Container :
ncli ctr remove name="Newcontainer"
Exemples d'utilisation de la commande acli
Connectez-vous en SSH avec un client SSH sur une des CVM :
ssh nutanix@oneofcvmipaddress
La commande acli s'utilise suivie d'options, comme ici acli entities.action for-which option1="value1" option2="value2" mais elle est aussi utilisable de manière interactive en uniquement acli depuis une CVM
Si l'on utilise acli suivie d'une suite de commandes, une demande de confirmation sera systématiquement proposée si un choix se présente.
Pour automatiser la tâche et faire un choix par défaut, utilisez plutôt cette syntaxe acli -y entities.action for-which option1="value" option2="value2"
Création d'un snapshot en mode interactif
Executez cette suite de commandes à partir d'une des CVM :
Téléchargez et installez le programme d'installation qui correspond à votre version de Windows, en 32 bits ou plus généralement en 64 bits.
Lancez l'invite de Commande Powershell 7 en mode administrateur.
PS C:\Users\Administrator> Install-Module Nutanix.CliUntrusted repositoryYou are installing the modules from an untrusted repository. If you trust this repository, change itsInstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from'PSGallery'?[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):APS C:\Users\Administrator> Install-module Nutanix.Prism.PS.CmdsPS C:\Users\Administrator> Install-module Nutanix.Prism.Common
Exemples de commandes avec Powershell pour Nutanix
Importez les modules pour Powershell depuis la console PowerShell 7 :
Connectez-vous à Prism Central en executant la commande ci-dessous en modifiant ces éléments :
< PRISM CENTRAL IP > remplacez cet élément par l'adresse IP ou le FQDN de Prism Central
< PRISM CENTRAL USERNAME > remplacez cet élément par le nom de l'utilisateur de Prism Central
PS C:\Users\Administrator> Connect-NTNXPrismCentral <PRISM CENTRAL IP> -UserName < PRISM CENTRAL USERNAME > -AcceptInvalidSSLCertsPassword: *****************[Warning]: This Prism Central version[pc.2022.1] might not be compatible.This might cause some cmdlets to not function correctly.Please consider upgrading to pc.2020.7 or later Do you still want to continue [Y/N]?:YServer : ipprismcentralVersion : pc.2022.1UserName : < PRISM CENTRAL IP >AcceptInvalidSSLCerts : TrueForcedConnection : False
Exécutez la commande ci-dessous pour afficher la liste de toutes les machines virtuelles :
Tous les exemples montrés ci-dessous doivent être exécutés sur une machine virtuelle sous Linux avec l'outil curl.
Certaines commandes ont besoin d'autres outils qui sont disponibles dans la plupart des distributions Linux.
Affichage de toutes les options API à partir de Prism central
Il est possible d'avoir la liste des options REST API à partir de Prism Central.
En haut à droite de l'interface Prism Central, cliquez sur Username puis sur REST API Explorer.
La liste des groupes de commandes est affichée à gauche.
Cliquez sur List operations à droite d'un des groupes de commandes pour faire apparaitre toutes les commandes possibles de ce groupe.
Cliquez sur Expand operations pour lister la syntaxe d'une commande en particulier.
Divers exemples simples
Connectez-vous en SSH sur une VM Linux du cluster qui a les commandes curl et jq installées.
Pour que ces exemples fonctionnent, remplacez :
< PRISMCENTRAL IP > par l'adresse IP ou le nom FQDN de Prism Central;
< PRISM CENTRAL USER > par l'utilisateur de Prism Central;
< PRISM CENTRAL PASSWORD > par le mot de passe de l'utilisateur de Prism Central.
Afficher la liste des images ISO et QCOW2 installées sur Prism Central
curl -k -X POST --header "Content-Type: application/json" --header "Accept: application/json" -u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" -d {} "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/images/list" | jq
Cette commande a généré un fichier au format json lisible grâce à la commande jq qui contient la liste des images et les informations nécessaires pour d'autres commandes REST API.
Exécutez cette commande pour afficher la liste des machines virtuelles :
curl -k -X POST --header "Content-Type: application/json" --header "Accept: application/json" -u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" -d {} "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/vms/list" | jq
Le résultat est toujours au format json.
Ci-dessous une partie du fichier généré, contenant l'UUID de la machine virtuelle.
Il existe un UUID pour chaque élément des clusters Nutanix (VM, Vdisks, images, etc....). Ce numéro est unique.
Affichage des informations d'une machine virtuelle à partir de son uuid
Lancez la commande ci dessous en remplaçant < VM UUID > par l'UUID d'une machine virtuelle listée précédemment :
curl -k -X GET --header "Accept: application/json" - u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/vms/< VM UUID >" | jq
Affichage de la liste des réseaux
Lancez cette commande pour afficher la liste des réseaux dans Nutanix :
curl -k -X POST --header "Content-Type: application/json" --header "Accept: application/json" -u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" -d {} "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/subnets/list" | jq
Affichage des informations sur les clusters administrées par la console Prism Central
Lancez la commande ci-dessous pour afficher les informations sur les clusters administrés par Prism Central :
curl -k --request POST --url "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/clusters/list" -u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" --header 'Content-Type: application/json' --data '{ }' | jq
Exemples avancés
En plus de pouvoir afficher des informations, vous pouvez agir sur le cluster Nutanix pour créer ou modifier des éléments d'un cluster.
Nous allons voir comment créer deux machines virtuelles d'une manière automatisée, l'une dans un environnement Linux, l'autre sous Windows.
Création d'une machine virtuelle sous Linux
Il est possible d'installer Linux à partir d'images préinstallées et de personnaliser la configuration avec cloud-init qui utilise le format de fichiers yaml. Pour importer des images dans un cluster Nutanix, vous pouvez vous aider de notre guide sur l'importation d'images ISO.
Suivez ces instructions pour créer une machine virtuelle à partir d'une image personnalisable avec cloud-init d'Ubuntu.
Sous Linux, créez un mot passe au format SHA-512 avec la commande mkpasswd :
Le fichier au format yaml est créé avec la possibilité de faire l'installation d'une machine virtuelle sous LINUX avec le serveur WEB NGINX.
Transformez le fichier yaml au format mime64 puis stockez-le dans une variable pour pouvoir l'intégrer dans le fichier de configuration de la machine virtuelle.
Editez le fichier vmlinux.json ci-dessous en modifiant ces éléments pour l'adapter à votre environnement :
< VMNAME > doit être remplacé par le nom de la machine virtuelle que vous voulez donner dans la console Nutanix.
< UUID-IMAGE-LINUX-CLOUD-INIT > doit être remplacé par l'UUID de l'image Linux compatible avec cloud-init.
< UUID-NETWORK > doit être remplacé par l'UUID du réseau sur laquelle la machine virtuelle va fonctionner.
< MIME64FORMATEDYAMLFILE > doit être remplacé par le contenu de la variable $USERDATA.
< CLUSTER-NAME > doit être remplacé par le nom du cluster.
< CLUSTER-UUID > doit être remplacé par l'UUID du cluster.
Toutes les informations nécessaires sont soit accessibles depuis l'interface web de Prism central, soit au travers des accès à REST API vus précédemment.
Lancez cette commande pour installer la machine virtuelle :
curl -k -H Accept:application/json -H Content-Type:application/json -u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" -X POST "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/vms" -d @vmlinux.json | jq .
La nouvelle machine virtuelle va alors apparaitre dans Prism Central avec NGINX installé et les mises à jours effectuées.
Création d'une machine virtuelle sous Windows
Vous pouvez installer des machines virtuelles sous Windows à partir d'une image préparée à l'aide de la commande sysprep intégrée à Windows, et y appliquer un fichier de personnalisation.
L'image peut être importée directement d'une machine virtuelle du cluster.
Le fichier de configuration est un fichier au format XML. Il est possible de créer ce fichier au travers des outils Windows ADK téléchargeables sur le site de Microsoft via ce lien et d'utiliser Windows system image manager pour créer un fichier XML adéquat.
Ci-dessous un exemple de fichier XML pour Windows 2019 qui crée un utilisateur admin et qui modifie le mot de passe du compte admin et Administrator en P@ssw0rd :
Copiez le fichier XML sur une VM Linux du cluster et transformez-le au format MIME64, comme ci-dessous, pour l'intégrer dans le fichier de configuration de la machine virtuelle au format json :
curl -k -H Accept:application/json -H Content-Type:application/json -u "< PRISM CENTRAL USER >:< PRISM CENTRAL PASSWORD >" -X POST "https://< PRISM CENTRAL IP >:9440/api/nutanix/v3/vms" -d @vmwindows.json | jq .
La nouvelle machine virtuelle doit apparaitre dans Prism Central, elle est alors démarrée avec les options du fichier de réponse.
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.