Questa sezione illustra come utilizzare il pacchetto cloud-init per gestire la prima inizializzazione delle istanze.

Informazioni su cloud-init

Cloud-init è un pacchetto Linux responsabile della gestione della prima inizializzazione delle istanze. Se è disponibile nelle distribuzioni, consente la configurazione di molti parametri comuni dell'istanza direttamente dopo l'installazione. In questo modo viene creata un'istanza completamente funzionante configurata in base a una serie di input.

Il comportamento di cloud-init può essere configurato tramite il file user-data. Il file user-data può essere fornito dall'utente al momento dell'avvio dell'istanza. Questa operazione viene in genere eseguita collegando un disco secondario in formato ISO che verrà cercato da cloud-init al primo avvio. Il disco contiene tutti i dati di configurazione iniziali che verranno applicati in quel momento.

SASE Orchestrator supporta cloud-init e tutte le configurazioni indispensabili possono essere inserite in un pacchetto in un'immagine ISO.

Creare il file meta-data di cloud-init

Le opzioni di configurazione dell'installazione finale vengono impostate con una coppia di file di configurazione di cloud-init. Il primo file di configurazione dell'installazione contiene meta-data. Creare questo file con un editor di testo e denominarlo meta-data. Il file fornisce informazioni che identificano l'istanza di SASE Orchestrator in fase di installazione. instance-id può essere qualsiasi nome identificativo e local-hostname deve essere un nome host che segue gli standard del sito, ad esempio:

instance-id: vco01
local-hostname: vco-01

È inoltre possibile specificare le informazioni dell'interfaccia di rete (ad esempio, se la rete non è configurata tramite DHCP):

instance-id: vco01
local-hostname: vco-01
network-interfaces: |
  auto eth0
  iface eth0 inet static
  address 10.0.1.2
  network 10.0.1.0
  netmask 255.255.255.0
  broadcast 10.0.1.255
  gateway 10.0.1.1

Creare il file user-data di cloud-init

Il secondo file di opzioni di configurazione dell'installazione è il file dei dati utente. Questo file fornisce informazioni sugli utenti del sistema. Crearlo con un editor di testo e denominarlo user-data. Il file verrà utilizzato per abilitare l'accesso all'installazione di SASE Orchestrator.  L'esempio seguente illustra l'aspetto del file user-data:

#cloud-config 
            password: Velocloud123 
            chpasswd: {expire: False} 
            ssh_pwauth: True 
            ssh_authorized_keys:
              - ssh-rsa AAA...SDvz [email protected]
              - ssh-rsa AAB...QTuo [email protected]
            vco:
              super_users:
                list: |
                  [email protected]:password1
                remove_default_users: True
              system_properties:
                 list: |
                    mail.smtp.port:34
                    mail.smtp.host:smtp.yourdomain.com
                    service.maxmind.enable:True
                    service.maxmind.license:todo_license
                    service.maxmind.userid:todo_user
                    service.twilio.phoneNumber:222123123
                    network.public.address:222123123
            write_files:
               - path: /etc/nginx/velocloud/ssl/server.crt
                 permissions: '0644'
                 content: "-----BEGIN CERTIFICATE-----\nMI….ow==\n-----END CERTIFICATE-----\n"
               - path: /etc/nginx/velocloud/ssl/server.key
                 permissions: '0600'
                 content: "-----BEGIN RSA PRIVATE KEY-----\nMII...D/JQ==\n-----END RSA PRIVATE KEY-----\n" 
               - path: /etc/nginx/velocloud/ssl/velocloudCA.crt
Questo file user-data consente all'utente predefinito, vcadmin, di accedere con una password o con una chiave SSH. L'uso di entrambi i metodi è possibile, ma non è obbligatorio. L'accesso tramite password è abilitato dalle righe password e chpasswd.
  • password contiene la password di testo normale per l'utente vcadmin.
  • La riga chpasswd disattiva la scadenza della password per impedire che al primo accesso venga immediatamente richiesto di modificare la password. Questa opzione è facoltativa.
Nota: Se si imposta una password, è consigliabile modificarla al primo accesso perché la password è stata archiviata in un file di testo normale.

La riga ssh_pwauth abilita l'accesso SSH. La riga ssh_authorized_keys inizia un blocco di una o più chiavi autorizzate. Ogni chiave SSH pubblica elencata nelle righe ssh-rsa verrà aggiunta al file ~/.ssh/authorized_keys di vcadmin.

In questo esempio sono presenti due chiavi. La chiave è stata troncata ai fini dell'esempio, ma in un file reale è necessario inserire l'intera chiave pubblica. Si noti che le righe ssh-rsa devono essere precedute da due spazi, seguiti da un trattino, seguito da un altro spazio.

Nella sezione vco sono specificati i servizi di SASE Orchestrator configurati.

super_users contiene l'elenco degli account degli operatori superuser di VMware e le password corrispondenti.

La sezione system_properties consente di personalizzare le proprietà di sistema di Orchestrator. Per informazioni dettagliate sulla configurazione delle proprietà di sistema, vedere Proprietà di sistema.

La sezione write_files consente di sostituire file nel sistema. Per impostazione predefinita, i servizi Web di SASE Orchestrator sono configurati con un certificato SSL autofirmato. Se si desidera specificare un certificato SSL diverso, nell'esempio precedente sostituire i file server.crt e server.key nella cartella /etc/nginx/velocloud/ssl/ con i file desiderati.
Nota: Il file server.key non deve essere crittografato. In caso contrario, l'avvio del servizio non riuscirà senza la password della chiave.

Creare un file ISO

Dopo aver creato i file, è necessario inserirli in un'immagine ISO. L'immagine ISO viene utilizzata come CD di configurazione virtuale con la macchina virtuale. L'immagine ISO, denominata vco01-cidata.iso, viene creata con il comando seguente in un sistema Linux:

genisoimage -output vco01-cidata.iso -volid cidata -joliet -rock user-data meta-data

Trasferire l'immagine ISO appena creata nel datastore dell'host che esegue VMware.