Note

Ce plugin fait partie du programme collection community.azure (version 1.0.0).

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

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

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

Synopsis

  • Crée et met à jour un ensemble de balances de machines virtuelles.
  • Notez que ce module a été appelé communauté.azure.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 de l'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.Peut également être défini via le paramètre 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'environnementLorsqu'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 :

  • ignore
  • 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 le paramètre 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 seraient ignorées.Si l'image que vous tentez d'utiliser ne figure pas dans la liste des https://docs.microsoft.com/en-us/azure/virtual-machines/linux/using-cloud-init#cloud-init-overview, suivez ces étapes 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.
option_créationchaîne de caractères
    Choix :

  • Vide
  • FromImage
Spécifiez si le disque doit être créé Empty ou FromImage. Ceci est nécessaire pour permettre l'utilisation d'images personnalisées avec des disques de données.
taille_du_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.
type_disque_géréchaî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.
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.
équilibreur de chargechaî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. À 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.
prioritéchaîne de caractères
    Choix :

  • Régulier
  • Bas
Si vous souhaitez demander des machines virtuelles à faible priorité pour le VMSS, définissez ce paramètre sur "Low". La valeur par défaut est "Regular"
profilchaîne de caractères Profil de sécurité trouvé dans le fichier ~/.azure/credentials.
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'échelle à 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

Se connecter avec Azure CLI

Comment s'authentifier en utilisant le az login commande.

Exemples

-name: Create VMSS
  community.azure.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
  community.azure.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
  community.azure.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 a custom image and override data disk
  community.azure.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
    data_disks:-lun:0disk_size_gb:64caching: ReadWrite
        managed_disk_type: Standard_LRS
        create_option: FromImage

-name: Create a VMSS with over 100 instances
  community.azure.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
  community.azure.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, uprad-wepolicy: {mode: manual}, virtualmachineprofile: {NetworkProfile: {NetworkInterFaceConfigurations: [{name: testvmss, Properties: {dnssettings: {dnsservings: []}, perteaceleratednetworking: false, ipconfigurations: [{'name': 'default', 'properties': {'privateIPAddressVersion': 'IPv4', 'subnet': {'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet'}}}], primaire: true}}]}, Osprofile: {administrationname: TesUser, ComputerAmEpRefix: testvmss, linuxConfiguration: {disablepasswordAuthentication: true, ssh: {publicKeys: [{'keyData': '', 'path': '/home/testuser/.ssh/authorized_keys'}]}}, secrets: []}, ScheduleDeventsProfile: {terminatenotificationProfile: {activer: true, notBeForEtimeout: pt10m}}, StorageProfile: {Datadisks: [{'caching': 'ReadWrite', 'createOption': 'empty', 'diskSizeGB': 64, 'lun': 0, 'managedDisk': {'storageAccountType': 'Standard_LRS'}}], ImageReference: {Offre: Coreos, Publisher: Coreos, Sku: Stable, Version: 899.17.0}, Osdisk: {Caching: ReadWrite, CreateOption: FromImage, ManagedDisk: {StorageAccountType: Standard_LRS}}}}}, Sku: {CAPACITAL: 2, nom: standard_ds1_v2, niveau: standard}, tags: aucun, type: microsoft.compute / virtualmachinescalesets}

Auteurs

  • SERTAC OZERCAN (@SOZERCAN)