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

Pré-requisitos

Antes de implantar um subordinado usando a API em um ambiente Windows, você deve:
  • Ter um ambiente SaltStack Config com RaaS implantado.
  • Ter um mestre Salt e um subordinado Salt instalados.
  • Ter uma VM Windows 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-windows--x86.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. No terminal do mestre Salt, instale as seguintes bibliotecas executando os comandos pip3 install pypsexec smbprotocol e pip3 install impacket --ignore-installed.
  3. Para identificar o FQDN do mestre Salt, execute o comando salt saltmaster grains.get fqdn no terminal do mestre Salt.
  4. Na sua máquina do Windows, verifique se o arquivo C: \Windows\System32\drivers\etc\hosts está configurado com o IP e o FQDN do mestre Salt.
  5. "Ao implantar subordinados em uma máquina Windows no Azure, abra o PowerShell e execute estes comandos para abrir as portas necessárias:"
    Porta Comandos
    445 New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445

    Enable-Psremoting
  6. "Se você não estiver implantando subordinados em uma máquina Windows no Azure, abra o PowerShell e execute estes comandos para abrir as portas necessárias:"
    Porta Comandos
    445 New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445

    Set-Item (dir wsman:\localhost\Listener*\Port - Recurse).pspath 445 -Force

    Restart-Service winrm
    4505 a 4506 netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506
  7. Certifique-se de que o FQDN esteja configurado para o mestre Salt, executando o comando ping [FQDN] na sua máquina do Windows.
    Os resultados da execução do comando ping FQDN em uma máquina Windows
  8. Faça essa chamada de API usando um cliente SSEAPI com as credenciais corretas para o seu ambiente.
    Observação: Se você integrou o SaltStack Config ao vRealize Automation, o serviço do vRealize Automation faz essa chamada de API para você ao implantar subordinados usando um modelo de nuvem.
    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 SaltStack Config. Você pode verificar se o trabalho está em execução na guia Atividade da interface do usuário do SaltStack Config ou executando o comando python3 seguido de client.api.minions.get_minion_deployments().

Resultados

O subordinado foi implantado e configurado com êxito a partir do seu ambiente Windows 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.