Note

Ce plugin fait partie de la collection collection azure.azcollection (version 1.4.0).

Pour l'installer, utilisez : ansible-galaxy collection install azure.azcollection.

Pour l'utiliser dans un playbook, spécifiez : azure.azcollection.azure_rm_virtualmachinescaleset.

Nouveau dans la version 0.1.2 : de azure.azcollection

  • Synopsis
  • Exigences
  • Paramètres
  • Notes
  • Voir aussi
  • Exemples
  • Valeurs de retour

Synopsis

  • Crée et met à jour un jeu de balances de machines virtuelles.
  • Notez que ce module a été appelé azure_rm_virtualmachine_scaleset avant Ansible 2.8. L'utilisation n'a pas changé.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • python >= 2.7
  • azure >= 2.0.0

Paramètres

Paramètre Choix/Par défaut Commentaires
ad_userchaîne de caractères Nom d'utilisateur Active Directory. A utiliser lors de l'authentification avec un utilisateur Active Directory plutôt qu'avec un principal de service.
adfs_authority_urlchaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection Url de l'autorité Azure AD. A utiliser lors de l'authentification avec nom d'utilisateur/mot de passe, et a votre propre autorité ADFS.
admin_passwordchaîne de caractères Mot de passe pour le nom d'utilisateur admin.Non requis si l'os_type est Linux et que l'authentification par mot de passe SSH est désactivée par le paramètre ssh_password_enabled=false.
admin_usernamechaîne de caractères Nom d'utilisateur administrateur utilisé pour accéder à l'hôte après sa création. Requis lors de la création d'une VM.
api_profilechaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection Par défaut :
"dernier"
Sélectionne un profil d'API à utiliser lors de la communication avec les services Azure. Valeur par défaut de latest est appropriée pour les clouds publics ; les valeurs futures permettront une utilisation avec Azure Stack.
append_tagsbooléen
    Choix :

  • pas de
  • oui
Utiliser pour contrôler si le champ tags est canonique ou s'ajoute simplement aux tags existants.Lorsqu'il est canonique, tous les tags non trouvés dans le paramètre tags seront supprimés des métadonnées de l'objet.
application_gatewaychaîne de caractères Nom de la passerelle d'application.
auth_sourcechaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection
    Choix :

  • auto
  • cli
  • fichier d'identification
  • env
  • msi
Contrôle la source des informations d'identification à utiliser pour l'authentification. ANSIBLE_AZURE_AUTH_SOURCE Lorsqu'elle est définie sur auto (la valeur par défaut), la préséance est accordée aux paramètres du module -> env -> credential_file -> cliLorsqu'il est réglé sur env, les informations d'identification seront lues à partir des variables d'environnement.Lorsqu'il est défini sur credential_file, le profil sera lu à partir de ~/.azure/credentials.Lorsqu'il est défini sur cli, les informations d'identification seront des sources du profil Azure CLI. subscription_id ou la variable d'environnement AZURE_SUBSCRIPTION_ID peut être utilisée pour identifier l'ID de l'abonnement si plus d'un est présent sinon l'abonnement az cli par défaut est utilisé.Lorsqu'elle est définie sur msi, la machine hôte doit être une ressource azure avec une extension MSI activée. subscription_id ou la variable d'environnement AZURE_SUBSCRIPTION_ID peut être utilisée pour identifier l'ID de l'abonnement si la ressource a accès à plus d'un abonnement, sinon le premier abonnement est choisi.L'option msi a été ajouté dans Ansible 2.6.
capacitéchaîne de caractères Par défaut :
1
Capacité du VMSS.
cert_validation_modechaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection
    Choix :

  • ignorer
  • valider
Contrôle le comportement de validation du certificat pour les points de terminaison Azure. Par défaut, tous les modules valideront le certificat du serveur, mais lorsqu'un proxy HTTPS est utilisé, ou contre Azure Stack, il peut être nécessaire de désactiver ce comportement en passant. ignore. Peut également être défini via le profil du fichier d'accréditation ou l'attribut AZURE_CERT_VALIDATION variable d'environnement.
client_idchaîne de caractères ID du client Azure. À utiliser lors de l'authentification avec un principal de service.
cloud_environnementchaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection Par défaut :
"AzureCloud"
Pour les environnements de cloud autres que le cloud public américain, le nom de l'environnement (tel que défini par Azure Python SDK, par ex, AzureChinaCloud, AzureUSGovernment), ou une URL de point de terminaison de découverte de métadonnées (nécessaire pour Azure Stack). Peut également être défini via le profil du fichier d'accréditation ou le profil de l'utilisateur. AZURE_CLOUD_ENVIRONMENT variable d'environnement.
données_personnaliséeschaîne de caractères Données qui sont mises à la disposition de la machine virtuelle et utilisées par ex, cloud-init.De nombreuses images sur le marché ne sont pas prêtes pour le cloud-init. Ainsi, les données envoyées à custom_data Si l'image que vous tentez d'utiliser n'est pas répertoriée dans la section https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview, suivez les étapes suivantes https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cloudinit-prepare-custom-image.
disques_de_donnéeschaîne de caractères Décrit la liste des disques de données.
mise en cachechaîne de caractères
    Choix :

  • Lecture seule
  • ReadWrite
Type de mise en cache du disque de données.
taille_disque_gbchaîne de caractères La taille initiale du disque en Go pour les disques de données vierges.
lunchaîne de caractères Par défaut :
0
Le numéro d'unité logique pour le disque de données.
managed_disk_typechaîne de caractères
    Choix :

  • Standard_LRS
  • Premium_LRS
Type de disque de données géré.
enable_accelerated_networkingbooléen
    Choix :

  • pas de
  • oui
Indique si l'utilisateur veut autoriser la mise en réseau accélérée pour les machines virtuelles dans le jeu d'échelles en cours de création.
ephemeral_os_diskbooléen
    Choix :

  • pas de
  • oui
Paramètres des paramètres de disque éphémère qui peuvent être spécifiés pour le disque du système d'exploitation.Le disque éphémère du système d'exploitation est uniquement pris en charge pour les instances VMS utilisant Managed Disk.
imagechaîne de caractères / obligatoire Spécifie l'image utilisée pour construire la VM.Si c'est une chaîne de caractères, l'image provient d'une image personnalisée basée sur le nom.Si c'est un dict avec les clés éditeur, offre, sku et version, l'image provient d'une image Marketplace. Notez que l'ensemble version=latest pour obtenir la version la plus récente d'une image donnée.Si un dict avec les clés nom et groupe_ressources, l'image provient d'une image personnalisée basée sur le paramètre nom et groupe_ressources set. Notez que la clé groupe_ressources est facultative et si elle est omise, toutes les images de l'abonnement seront recherchées par la clé nom La prise en charge des images personnalisées a été ajoutée dans Ansible 2.5.
load_balancerchaîne de caractères Nom de l'équilibreur de charge.
emplacementchaîne de caractères Emplacement Azure valide. Par défaut, l'emplacement du groupe de ressources.
type_disque_géréchaîne de caractères
    Choix :

  • Standard_LRS
  • Premium_LRS
Type de disque géré.
nomchaîne de caractères / obligatoire Nom de la machine virtuelle.
os_disk_cachingchaîne de caractères
    Choix :

  • Lecture seule
  • ReadWrite
Type de mise en cache du disque du système d'exploitation.
alias : disk_caching
os_typechaîne de caractères
    Choix :

  • Windows
  • Linux
Type de base du système d'exploitation.
surprovisionnementbooléen
    Choix :

  • pas de
  • oui
Indique si le jeu d'échelles de la machine virtuelle doit être surprovisionné.
mot de passechaîne de caractères Mot de passe de l'utilisateur Active Directory. A utiliser lors de l'authentification avec un utilisateur Active Directory plutôt qu'avec un principal de service.
plandictionnaire Plan de facturation à un tiers pour la VM.
nomchaîne de caractères / obligatoire Nom du plan de facturation.
produitchaîne de caractères / obligatoire Nom du produit.
code_promotionnelchaîne de caractères Code de promotion facultatif.
éditeurchaîne de caractères / obligatoire Éditeur proposant le plan.
profilchaîne de caractères Profil de sécurité trouvé dans le fichier ~/.azure/credentials.
public_ip_per_vmboolean
    Choix :

  • pas de
  • oui
Attribuer une IP publique à chaque machine virtuelle de l'ensemble de balances.
remove_on_absentchaîne de caractères Par défaut :
["all"]
Lors de la suppression d'une VM en utilisant state=absent, supprimez également les ressources associées.Cela peut être all ou une liste avec l'un des éléments suivants ['network_interfaces', 'virtual_storage', 'public_ips']Toute autre entrée sera ignorée.
groupe_ressourceschaîne de caractères / obligatoire Nom du groupe de ressources contenant le jeu de balances de la machine virtuelle.
politique_d'échellechaîne de caractères
    Choix :

  • Défaut :
  • NewestVM
  • OldestVM
Définir l'ordre dans lequel les instances de vmss sont mises à l'échelle.
secretchaîne de caractères Secret du client Azure. À utiliser lors de l'authentification avec un principal de service.
groupe_de_sécuritéchaîne de caractères Groupe de sécurité existant avec lequel associer le sous-réseau.Il peut s'agir du nom du groupe de sécurité qui se trouve dans le même groupe de ressources.Il peut s'agir de l'ID de la ressource.Il peut s'agir d'un dict qui contient. nom et groupe_ressources du groupe de sécurité.
alias : nom_du_groupe_de_sécurité
nom_hôte courtchaîne de caractères Nom d'hôte court.
groupe_de_placement_uniquebooléen
    Choix :

  • pas de
  • oui
Lorsque true, cela limite le jeu d'échelles à un seul groupe de placement, de taille maximale 100 machines virtuelles.
ssh_password_enabledbooléen
    Choix :

  • pas de
  • oui
Lorsque l'os_type est Linux, le réglage ssh_password_enabled=false désactivera l'authentification par mot de passe SSH et exigera l'utilisation de clés SSH.
ssh_public_keyschaîne de caractères Pour os_type=Linux fournir une liste de clés SSH.Chaque élément de la liste doit être un dictionnaire où le dictionnaire contient deux clés, path et key_data.Définissez la clé path à l'emplacement par défaut des fichiers authorized_keys.Sur un hôte Enterprise Linux, par exemple, l'option path=/home//.ssh/authorized_keys. Définir key_data à la valeur réelle de la clé publique.
étatchaîne de caractères
    Choix :

  • absent
  • présent
Affirmer l'état de la balance de la machine virtuelle set.State present vérifiera que la machine existe avec la configuration demandée. Si la configuration de la machine existante ne correspond pas, la machine sera mise à jour.État absent supprimera l'ensemble de balance de la machine virtuelle.
nom_sous-réseauchaîne de caractères Nom du sous-réseau.
alias : subnet
abonnement_idchaîne de caractères Votre identifiant d'abonnement Azure.
balisesdictionnaire Dictionnaire de paires chaîne:chaîne à affecter comme métadonnées à l'objet.Les balises de métadonnées sur l'objet seront mises à jour avec toutes les valeurs fournies.Pour supprimer les balises, définissez l'option append_tags à false.
locatairechaîne de caractères ID du locataire Azure. À utiliser lors de l'authentification avec un principal de service.
terminate_event_timeout_minuteschaîne de caractères délai d'attente pour l'événement de notification de terminaisondans une plage comprise entre 5 et 15.
niveauchaîne de caractères
    Choix :

  • Basique
  • Standard
Niveau SKU.
Politique de mise à niveauchaîne de caractères
    Choix :

  • Manuel
  • Automatique
Politique de mise à niveau.Nécessaire lors de la création des jeux d'échelles de machines virtuelles Azure.
nom_réseau_virtuelchaîne de caractères Nom du réseau virtuel.
alias : virtual_network
groupe_ressource_réseau_virtuelchaîne de caractères Lors de la création d'une machine virtuelle, si un réseau virtuel spécifique d'un autre groupe de ressources doit être utilisé.Utilisez ce paramètre pour spécifier le groupe de ressources à utiliser.
vm_sizechaîne de caractères Une valeur de taille de VM Azure valide. Par exemple , Standard_D4La liste des choix varie en fonction de l'abonnement et de l'emplacement. Vérifiez votre abonnement pour connaître les choix disponibles.
zonesliste / elements=chaîne Une liste de zones de disponibilité pour votre ensemble d'échelles de machines virtuelles.

Notes

Note

  • Pour l'authentification avec Azure, vous pouvez passer des paramètres, définir des variables d'environnement, utiliser un profil stocké dans ~/.azure/credentials, ou vous connecter avant d'exécuter vos tâches ou votre playbook avec... az login.
  • L'authentification est également possible en utilisant un principal de service ou un utilisateur Active Directory.
  • Pour s'authentifier via un principal de service, passez le subscription_id, le client_id, le secret et le locataire ou définissez les variables d'environnement AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET et AZURE_TENANT.
  • Pour s'authentifier via un utilisateur Active Directory, passez ad_user et password, ou définissez AZURE_AD_USER et AZURE_PASSWORD dans l'environnement.
  • Alternativement, les informations d'identification peuvent être stockées dans ~/.azure/credentials. Il s'agit d'un fichier ini contenant un [default] et les clés suivantes : subscription_id, client_id, secret et tenant ou subscription_id, ad_user et password. Il est également possible d'ajouter des profils supplémentaires. Spécifiez le profil en passant profil ou en définissant AZURE_PROFILE dans l'environnement.

Voir aussi

Voir aussi

Connexion avec Azure CLI

Comment s'authentifier en utilisant le az login commande.

Exemples

-name: Create VMSS
  azure_rm_virtualmachinescaleset:resource_group: myResourceGroup
    name: testvmss
    vm_size: Standard_DS1_v2
    capacity:2virtual_network_name: testvnet
    upgrade_policy: Manual
    subnet_name: testsubnet
    terminate_event_timeout_minutes:10scale_in_policy: NewestVM
    admin_username: adminUser
    ssh_password_enabled:falsessh_public_keys:-path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert yor ssh public key here...>managed_disk_type: Standard_LRS
    image:offer: CoreOS
      publisher: CoreOS
      sku: Stable
      version: latest
    data_disks:-lun:0disk_size_gb:64caching: ReadWrite
        managed_disk_type: Standard_LRS

-name: Create VMSS with an image that requires plan information
  azure_rm_virtualmachinescaleset:resource_group: myResourceGroup
    name: testvmss
    vm_size: Standard_DS1_v2
    capacity:3virtual_network_name: testvnet
    upgrade_policy: Manual
    subnet_name: testsubnet
    admin_username: adminUser
    ssh_password_enabled:falsessh_public_keys:-path: /home/adminUser/.ssh/authorized_keys
        key_data: < insert yor ssh public key here...>managed_disk_type: Standard_LRS
    image:offer: cis-ubuntu-linux-1804-l1
      publisher: center-for-internet-security-inc
      sku: Stable
      version: latest
    plan:name: cis-ubuntu-linux-1804-l1
      product: cis-ubuntu-linux-1804-l1
      publisher: center-for-internet-security-inc
    data_disks:-lun:0disk_size_gb:64caching: ReadWrite
        managed_disk_type: Standard_LRS

-name: Create a VMSS with a custom image
  azure_rm_virtualmachinescaleset:resource_group: myResourceGroup
    name: testvmss
    vm_size: Standard_DS1_v2
    capacity:2virtual_network_name: testvnet
    upgrade_policy: Manual
    subnet_name: testsubnet
    admin_username: adminUser
    admin_password: password01
    managed_disk_type: Standard_LRS
    image: customimage001

-name: Create a VMSS with over 100 instances
  azure_rm_virtualmachinescaleset:resource_group: myResourceGroup
    name: testvmss
    vm_size: Standard_DS1_v2
    capacity:120single_placement_group:Falsevirtual_network_name: testvnet
    upgrade_policy: Manual
    subnet_name: testsubnet
    admin_username: adminUser
    admin_password: password01
    managed_disk_type: Standard_LRS
    image: customimage001

-name: Create a VMSS with a custom image from a particular resource group
  azure_rm_virtualmachinescaleset:resource_group: myResourceGroup
    name: testvmss
    vm_size: Standard_DS1_v2
    capacity:2virtual_network_name: testvnet
    upgrade_policy: Manual
    subnet_name: testsubnet
    admin_username: adminUser
    admin_password: password01
    managed_disk_type: Standard_LRS
    image:name: customimage001
      resource_group: myResourceGroup

Valeurs de retour

Les valeurs de retour courantes sont documentées ici, les champs suivants sont uniques à ce module :

Clé Retourné Description
azur_vmssdictionnaire toujours Faits concernant l'état actuel de l'objet.Notez que les faits ne font pas partie de la sortie enregistrée mais sont disponibles directement.
Exemple :{'properties' : {'overprovision' : True, 'scaleInPolicy' : {'règles' : ['NewestVM']}, 'singlePlacementGroup' : True, 'upgradePolicy' : {'mode' : 'Manual'}, 'virtualMachineProfile' : {'networkProfile' : {'networkInterfaceConfigurations' : [{'name' : 'testvmss', 'properties' : {'dnsSettings' : {'dnsServers' : []}, 'enableAcceleratedNetworking' : False, 'ipConfigurations' : [{'name': 'default', 'properties': {'privateIPAddressVersion': 'IPv4', 'subnet': {'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet'}}}], 'primary' : True}}]}, 'osProfile' : {'adminUsername' : 'testuser', 'computerNamePrefix' : 'testvmss', 'linuxConfiguration' : {'disablePasswordAuthentication' : True, 'ssh' : {'publicKeys' : [{'keyData': '', 'path': '/home/testuser/.ssh/authorized_keys'}]}}, 'secrets' : []}, 'scheduledEventsProfile' : {'terminateNotificationProfile' : {'enable' : True, 'notBeforeTimeout' : 'PT10M'}}, 'storageProfile' : {'dataDisks' : [{'caching': 'ReadWrite', 'createOption': 'empty', 'diskSizeGB': 64, 'lun': 0, 'managedDisk': {'storageAccountType': 'Standard_LRS'}}], 'imageReference' : {'offer' : 'CoreOS', 'publisher' : 'CoreOS', 'sku' : 'Stable', 'version' : '899.17.0'}, 'osDisk' : {'caching' : 'ReadWrite', 'createOption' : 'fromImage', 'managedDisk' : {'storageAccountType' : 'Standard_LRS'}}}}}, 'sku' : {'capacity' : 2, 'name' : 'Standard_DS1_v2', 'tier' : 'Standard'}, 'tags' : None, 'type' : 'Microsoft.Compute/virtualMachineScaleSets'}

Auteurs

  • Sertac Ozercan (@sozercan)