U kunt een cloudConfig-sectie toevoegen aan de code van een vRealize Automation Cloud Assembly-sjabloon, waarin u machine-initialisatieopdrachten toevoegt die worden uitgevoerd tijdens de implementatie.

  • Linux — initialisarieopdrachten volgen de open cloud-init-standaard.
  • Windows — initialisatieopdrachten maken gebruik van Cloudbase-init.
Opmerking: cloud-init voor Linux en cloudbase-init voor Windows hebben niet dezelfde syntaxis. Een sectie cloudConfig voor één besturingssysteem werkt niet in een machine-image van het andere besturingssysteem.

U gebruikt initialisatieopdrachten om de applicatie van gegevens of instellingen te automatiseren tijdens het maken van een instantie, waarmee gebruikers, rechten, installaties en opdrachten kunnen worden aangepast. Voorbeelden zijn:

  • Een hostnaam instellen
  • Persoonlijke SSH-sleutels genereren en instellen
  • Pakketten installeren

In vRealize Automation Cloud Assembly kunt u ook initialisatieopdrachten op voorhand toevoegen aan een machine-image bij het configureren van de infrastructuur. Alle cloudsjablonen die naar de bronimage verwijzen, krijgen dezelfde initialisatie.

Belangrijk: Mogelijk hebt u een imagetoewijzing en een cloudsjabloon die allebei initialisatieopdrachten bevatten. Tijdens de implementatie worden de opdrachten samengevoegd en voert vRealize Automation Cloud Assembly de geconsolideerde opdrachten uit.

Wanneer dezelfde opdracht op beide plaatsen wordt weergegeven maar andere parameters bevat, wordt alleen de opdracht van de imagetoewijzing uitgevoerd.

Zie Meer informatie over imagetoewijzingen in vRealize Automation voor meer informatie.

Het volgende voorbeeld van een cloudConfig-sectie komt uit de cloudsjablooncode van het WordPress-gebruiksscenario voor de op Linux gebaseerde MySQL-server.

Om de juiste interpretatie van commando's te garanderen, moet u altijd het sluisteken cloudConfig: | toevoegen, zoals getoond.

Als een cloud-init-script zich onverwacht gedraagt, controleert u de vastgelegde console-uitvoer in /var/log/cloud-init-output.log bij het oplossen van problemen. Zie de documentatie voor cloud-init voor meer informatie over cloud-init.

      cloudConfig: |
        #cloud-config
        repo_update: true
        repo_upgrade: all
        packages:
         - apache2
         - php
         - php-mysql
         - libapache2-mod-php
         - php-mcrypt
         - mysql-client
        runcmd:
         - mkdir -p /var/www/html/mywordpresssite && cd /var/www/html && wget https://wordpress.org/latest.tar.gz && tar -xzf /var/www/html/latest.tar.gz -C /var/www/html/mywordpresssite --strip-components 1
         - i=0; while [ $i -le 5 ]; do mysql --connect-timeout=3 -h ${DBTier.networks[0].address} -u root -pmysqlpassword -e "SHOW STATUS;" && break || sleep 15; i=$((i+1)); done
         - mysql -u root -pmysqlpassword -h ${DBTier.networks[0].address} -e "create database wordpress_blog;"
         - mv /var/www/html/mywordpresssite/wp-config-sample.php /var/www/html/mywordpresssite/wp-config.php
         - sed -i -e s/"define( 'DB_NAME', 'database_name_here' );"/"define( 'DB_NAME', 'wordpress_blog' );"/ /var/www/html/mywordpresssite/wp-config.php && sed -i -e s/"define( 'DB_USER', 'username_here' );"/"define( 'DB_USER', 'root' );"/ /var/www/html/mywordpresssite/wp-config.php && sed -i -e s/"define( 'DB_PASSWORD', 'password_here' );"/"define( 'DB_PASSWORD', 'mysqlpassword' );"/ /var/www/html/mywordpresssite/wp-config.php && sed -i -e s/"define( 'DB_HOST', 'localhost' );"/"define( 'DB_HOST', '${DBTier.networks[0].address}' );"/ /var/www/html/mywordpresssite/wp-config.php
         - service apache2 reload