Esta secção descreve como utilizar o pacote cloud-init para lidar com a inicialização precoce de instâncias.

Sobre o cloud-init

O cloud-init é um pacote Linux responsável por lidar com a inicialização precoce de instâncias. Se disponível nas distribuições, permite a configuração de muitos parâmetros comuns da instância diretamente após a instalação. Isto cria uma instância totalmente funcional que é configurada com base numa série de entradas.

O comportamento da cloud-init pode ser configurado através dos dados do utilizador. Os dados do utilizador podem ser fornecidos pelo utilizador no momento da criação. Isto é normalmente feito anexando um disco secundário no formato ISO que o cloud-init irá procurar no primeiro momento de arranque. Este disco contém todos os dados de configuração anteriores que serão aplicados nesse momento.

O SASE Orchestrator suporta o cloud-init e todas as configurações essenciais podem ser embaladas numa imagem ISO.

Criar o ficheiro de metadados do cloud-init

As opções finais de configuração de instalação são definidas com um par de ficheiros de configuração do cloud-init. O primeiro ficheiro de configuração de instalação contém os metadados. Crie este ficheiro com um editor de texto e dê-lhe o nome metadados. Este ficheiro fornece informações que identificam a instância de SASE Orchestrator a ser instalada. O instance-id pode ser qualquer nome de identificação e o local-hostname deve ser um nome de anfitrião que segue os padrões do seu site, por exemplo:

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

Além disso, pode especificar informações da interface de rede (se a rede não estiver configurada via DHCP, por exemplo):

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

Criar o ficheiro de dados do utilizador do cloud-init

O segundo ficheiro de opções de configuração de instalação é o ficheiro de dados do utilizador. Este ficheiro fornece informações sobre os utilizadores no sistema. Crie-o com um editor de texto e atribua-lhe o nome dados do utilizador. Este ficheiro será utilizado para permitir o acesso à instalação de SASE Orchestrator.  Segue-se um exemplo do aspeto do ficheiro dados do utilizador:

#cloud-config 
            password: Velocloud123 
            chpasswd: {expire: False} 
            ssh_pwauth: True 
            ssh_authorized_keys:
              - ssh-rsa AAA...SDvz user1@yourdomain.com
              - ssh-rsa AAB...QTuo user2@yourdomain.com
            vco:
              super_users:
                list: |
                  user1@yourdomain.com: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 ficheiro dados do utilizador permite ao utilizador predefinido, vcadmin, iniciar sessão com uma palavra-passe ou com uma chave SSH. A utilização de ambos os métodos é possível, mas não é necessária. O início de sessão com palavra-passe é ativado pelas linhas password e chpasswd.
  • A password contém a palavra-passe de texto simples para o utilizador vcadmin.
  • A linha chpasswd desativa a expiração da palavra-passe para evitar que o primeiro início de sessão solicite imediatamente uma mudança de palavra-passe. Isto é opcional.
Nota: Se definir uma palavra-passe, recomenda-se que a altere quando iniciar sessão pela primeira vez porque a palavra-passe foi armazenada num ficheiro de texto simples.

A linha ssh_pwauth permite o início de sessão do SSH. A linha ssh_authorized_keys começa com um bloco de uma ou mais chaves autorizadas. Cada chave SSH pública listada nas linhas ssh-rsa será adicionada ao ficheiro vcadmin ~/.ssh/authorized_keys.

Neste exemplo, estão listadas duas chaves. Para este exemplo, a chave foi truncada. Num ficheiro real, deverá estar listada toda a chave pública. Note que as linhas ssh-rsa devem ser precedidas por dois espaços, seguidos de um hífen, seguidos de outro espaço.

A secção vco especifica os serviços SASE Orchestrator configurados.

super_users contém uma lista de contas de superoperador do VMware e palavras-passes correspondentes.

A secção system_properties permite personalizar as propriedades do sistema Orchestrator. Consulte Propriedades do sistema para obter mais informações sobre a configuração das propriedades do sistema.

A secção write_files permite substituir ficheiros no sistema. Por predefinição, os serviços Web do SASE Orchestrator são configurados com certificado SSL autoassinado. Se pretender fornecer diferentes certificados SSL, o exemplo acima substitui os ficheiros server.crt e server.key na pasta /etc/nginx/velocloud/ssl/ por ficheiros fornecidos pelo utilizador.
Nota: O ficheiro server.key não deve estar encriptado. Caso contrário, o serviço não começará sem a palavra-passe principal.

Criar um ficheiro ISO

Uma vez concluídos os seus ficheiros, estes têm de ser embalados numa imagem ISO. Esta imagem ISO é utilizada como um CD de configuração virtual com a máquina virtual. Esta imagem ISO, denominada vco01-cidata.iso, é criada com o seguinte comando num sistema Linux:

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

Transfira a imagem ISO recém-criada para o arquivo de dados no anfitrião que está a executar o VMware.