O objetivo deste caso de uso é instalar programaticamente o serviço de subordinado Salt em um subordinado conectando uma VM Linux ao seu ambiente do SaltStack Config.

Pré-requisitos

Antes de implantar um subordinado usando a API em um ambiente Linux, você deve:
  • Ter um ambiente do SaltStack Config com RaaS implantado.
  • Ter um mestre Salt e um subordinado Salt instalados.
  • Ter uma VM Linux implantada.

Procedimento

  1. Verifique se a pasta etc/salt/cloud.deploy.d no mestre Salt contém esses arquivos.
    Uma lista dos arquivos necessários no diretório cloud.deploy.d em um Mestre Salt

    Se os arquivos não forem exibidos, entre em contato com o suporte.

    Observação: O xxxx no nome do arquivo, como em salt-xxxx-redhat-8-x86_64-amd64.tar.gz, deve corresponder à versão do mestre Salt. Para verificar a versão do mestre Salt, execute o comando salt-master -V nele.
  2. Se o seu ambiente estiver isolado e conclua estas etapas:
    1. Abra o arquivo de configuração do RaaS no /etc/raas/raas.
    2. Adicione estas linhas ao arquivo de configuração:
      minion_deployment:
        airgap_install: true
    3. Reinicie o serviço RaaS usando o comando service raas restart.
    Observação: Se você estiver usando uma VM Linux reforçada, haverá algumas situações em que os scripts não podem ser executados de /tmp na VM.
    • Se você estiver usando o vRA Cloud Assembly versão 8.10.2 ou superior: adicione a propriedade additionlAuthParams ao recurso salt no modelo de nuvem. Para obter mais informações, consulte Adicionar o recurso SaltStack Config ao modelo de nuvem.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Se você estiver usando o vRA Cloud Assembly versão 8.10.1 ou inferior: modifique o arquivo /etc/salt/cloud.providers.d/ssc_saltify_provider.conf com
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      Se esse arquivo de configuração não existir, crie-o e adicione a configuração acima.
  3. Para identificar o FQDN do mestre Salt, execute o comando salt saltmaster grains.get fqdn no terminal do mestre Salt.
  4. Certifique-se de que o FQDN esteja configurado para o mestre Salt, executando o comando ping [FQDN].
    Os resultados da execução do comando ping FQDN em uma máquina Linux
  5. Para abrir o Python, execute python3.
  6. Faça essa chamada de API usando um cliente SSEAPI com as credenciais corretas para o seu ambiente:
    from sseapiclient import APIClient
    
    client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
    
    
    client.api.minions.deploy_minion(
    
     master_id = '<master-id>',
    
     host_name_ip = '<prospective minion’s ip>',
    
     os = ‘<prospective minion’s os>’,
    
     minion_id = '<desired-minion-name-for-prospective-minion>',
    
     username = '<ssh-username-for-prospective-minion>', 
    
     password = '<ssh-password-for-prospective-minion>',
    
    )

    A função deploy.minion começa a ser executada no seu ambiente do SaltStack Config. Você pode verificar se o trabalho está em execução na guia Atividade da interface do usuário do SaltStack Config.

    Observação: Se você estiver implantando um subordinado do vRA, essa chamada de API será executada pelo vRA.

Resultados

O subordinado foi implantado e configurado com êxito a partir do seu ambiente Linux e chamada de API.

O que Fazer Depois

Verifique se o subordinado foi implantado com êxito, executando um comando test.ping no subordinado usando a janela Executar Comando ou executando os comandos \* test.ping e \* test.versions na janela de comando do mestre Salt.