En esta sección se describe cómo usar el paquete cloud-init para controlar la inicialización introductoria de las instancias.

Acerca de cloud-init

El paquete de Linux cloud-init es responsable de controlar la inicialización introductoria de las instancias. Si está disponible en las distribuciones, permite la configuración de muchos parámetros comunes de la instancia directamente después de la instalación. Esto crea una instancia completamente funcional configurada en función de una serie de entradas.

El comportamiento de cloud-init puede configurarse a través de los datos de usuario. El usuario puede proporcionar los datos del usuario en el momento del inicio de la instancia. Por lo general, esto se hace asociando un disco secundario en formato ISO que cloud-init buscará en el primer arranque. Este disco contiene todos los datos de configuración anteriores que se aplicarán en ese momento.

SD-WAN Orchestrator es compatible con cloud-init y todas las configuraciones esenciales se pueden empaquetar en una imagen ISO.

Crear el archivo de metadatos de cloud-init

Las opciones de configuración de la instalación final se establecen con un par de archivos de configuración de cloud-init. El primer archivo de configuración de instalación contiene los metadatos. Cree este archivo con un editor de texto y etiquételo como meta-data. Este archivo proporciona información que identifica la instancia de SD-WAN Orchestrator que se está instalando. El valor de instance-id puede ser cualquier nombre de identificación y el valor de local-hostname debe ser un nombre de host que cumpla con las normas de su sitio, por ejemplo:

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

Además, puede especificar la información de la interfaz de red (si la red no está configurada mediante DHCP, por ejemplo):

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

Crear el archivo de datos del usuario de cloud-init

El segundo archivo de opción de configuración de instalación es el archivo de datos de usuario. Este archivo proporciona información sobre los usuarios del sistema. Créelo con un editor de texto y denomínelo user-data. Este archivo se utilizará para habilitar el acceso a la instalación de SD-WAN Orchestrator.  A continuación, se muestra un ejemplo de la apariencia del archivo 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
Este archivo user-data permite que el usuario predeterminado, vcadmin, inicie sesión con una contraseña o con una clave SSH. El uso de ambos métodos es posible, pero no es obligatorio. El inicio de sesión con contraseña está habilitado mediante las líneas password y chpasswd.
  • La línea password contiene la contraseña de texto sin formato para el usuario vcadmin.
  • La línea chpasswd desactiva la caducidad de la contraseña para evitar que el primer inicio de sesión solicite un cambio de contraseña inmediatamente. Esta acción es opcional.
Nota: Si establece una contraseña, se recomienda que la cambie cuando inicie sesión por primera vez, ya que la contraseña se almacena en un archivo de texto sin formato.

La línea ssh_pwauth habilita el inicio de sesión SSH. La línea ssh_authorized_keys comienza un bloque de una o más claves autorizadas. Cada clave SSH pública enumerada en las líneas ssh-rsa se agregará al archivo ~/.ssh/authorized_keys de vcadmin.

En este ejemplo, se enumeran dos claves. En este ejemplo, la clave se truncó. En un archivo real, se debe enumerar toda la clave pública. Tenga en cuenta que las líneas ssh-rsa deben ir precedidas por dos espacios, seguidos por un guion, seguido por otro espacio.

En la sección vco se especifican los servicios de SD-WAN Orchestrator configurados.

super_users contiene una lista de cuentas de superoperador de VMware y las contraseñas correspondientes. 

La sección system_properties permite personalizar las propiedades del sistema de Orchestrator. Consulte Propiedades del sistema para obtener más información sobre la configuración de las propiedades del sistema.

La sección write_files permite reemplazar archivos en el sistema. De forma predeterminada, los servicios web de SD-WAN Orchestrator se configuran con un certificado SSL autofirmado. Si desea proporcionar un certificado SSL diferente, el ejemplo anterior reemplaza los archivos server.crt y server.key en la carpeta /etc/nginx/velocloud/SSL/ con archivos proporcionados por el usuario.
Nota: El archivo server.key debe estar sin cifrar. De lo contrario, el servicio no se iniciará sin la contraseña de clave.

Crear un archivo ISO

Una vez que haya completado los archivos, debe empaquetarlos en una imagen ISO. Esta imagen ISO se utiliza como un CD de configuración virtual con la máquina virtual. Esta imagen ISO, denominada vco01-cidata.iso, se crea con el siguiente comando en un sistema Linux:

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

Transfiera la imagen ISO recién creada al almacén de datos en el host que ejecuta VMware.