O Salt é necessário para executar a instalação do SaltStack Config. No mínimo, o Salt e suas dependências devem ser instalados nos nós que estão envolvidos em um cenário de instalação padrão do SaltStack Config.

É recomendável instalar o Salt com antecedência em qualquer infraestrutura que você planeja gerenciar com o SaltStack Config. A instalação do Salt simplifica e agiliza o processo de atualização para versões futuras do Salt. Antes de iniciar a instalação do SaltStack Config, considere instalar o Salt na sua infraestrutura e, em seguida, monitorá-lo por um determinado período a fim de garantir que ele seja estável e esteja em execução conforme o esperado.

Consulte estes guias para garantir que o seu ambiente esteja seguindo as práticas recomendadas ao implementar o Salt na sua infraestrutura:

Para preparar suas máquinas para uma instalação padrão do SaltStack Config, você precisa fazer a instalação ou o upgrade do Salt e do Python. O Salt e o Python precisam estar presentes e atualizados em todos os nós envolvidos na instalação. A instalação falhará se o Salt e as dependências do instalador não estiverem instaladas em seus nós.

Instalar dependências do Salt

Essas dependências devem ser instaladas em todos os nós envolvidos na instalação. Em uma instalação padrão, você deve instalar estas dependências em todos os nós que hospedarão o mestre Salt, o RaaS, o banco de dados Redis e o banco de dados PostgreSQL:

  • OpenSSL
  • Pacotes adicionais para o Enterprise Linux (EPEL)
  • Criptografia Python
  • Biblioteca OpenSSL do Python

Para verificar se essas dependências estão presentes:

  1. No terminal, verifique se essas dependências estão instaladas em cada nó:
    sudo yum list installed | grep openssl
    sudo yum list installed | grep epel-release
    sudo yum list installed | grep python36-cryptography
    sudo yum list installed | grep python36-pyOpenSSL
  2. Se as dependências não estiverem presentes, instale-as:
    sudo yum install openssl
    sudo yum install epel-release -y
    sudo yum install python36-cryptography
    sudo yum install python36-pyOpenSSL
    Cuidado:

    Certifique-se de instalar o pacote python36-pyOpenSSL. É necessário configurar o SSL após a instalação. Porém, essa etapa deve ser concluída antes da instalação.

Instalar o Salt no(s) mestre(es) Salt

Em uma instalação padrão, você precisa instalar o serviço do mestre Salt e o serviço de subordinados no host do mestre Salt.

Estas instruções instalam a versão mais recente do Salt no RedHat/CentOS 7 PY3. Se a sua máquina estiver executando outro sistema operacional ou uma versão diferente do Python, o script não funcionará. Para obter informações sobre como instalar o Salt em outros sistemas operacionais ou versões do Python, consulte o Repositório de pacotes do SaltStack.
Observação: O Centos 7, por padrão, bloqueia as conexões com o mestre Salt. Você deve criar regras de firewall para permitir a conectividade:
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
Para obter mais informações, consulte Como abrir o firewall para o Salt.
  1. Instale o repositório e a chave do projeto Salt:
    sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
  2. Limpe o cache:
    sudo yum clean expire-cache
  3. Instale o serviço do mestre Salt e o serviço de subordinados no nó do mestre Salt:
    sudo yum install salt-master
    sudo yum install salt-minion
  4. Crie um arquivo master.conf no diretório /etc/salt/minion.d. Nesse arquivo, defina o endereço IP do mestre Salt de forma que ele aponte para si mesmo:
    master: localhost
  5. Inicie o serviço do mestre Salt e o serviço de subordinados:
    sudo systemctl start salt-master
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    Use service salt-minion restart para reiniciar os subordinados, se necessário.

Instalar o Salt nos subordinados Salt

Após a instalação do Salt no mestre Salt, conforme descrito na seção anterior, a próxima etapa é instalar o serviço de subordinados (e não o serviço do mestre) nos três nós que se tornarão o RaaS, um banco de dados Redis e um banco de dados PostgreSQL.

Em seguida, você precisará configurar os subordinados para se comunicar com o mestre Salt. Para obter informações mais detalhadas sobre como instalar o serviço de subordinados, consulte Configuração de subordinados, na documentação do Salt.

Para instalar o serviço de subordinados:

  1. Instale apenas o serviço de subordinados executando o seguinte comando:
    sudo yum install salt-minion
  2. Responda com y a todos os prompts para aceitar todas as alterações.
  3. Configure cada subordinado para se comunicar com o mestre Salt criando um arquivo master.conf no diretório /etc/salt/minion.d. Nesse arquivo, forneça o endereço IP do mestre Salt. Por exemplo:
    master: 192.0.2.1
  4. Inicie o serviço do subordinado:
    sudo systemctl enable salt-minion
    sudo systemctl start salt-minion

    Use servicesalt-minionrestart para reiniciar os subordinados, se necessário.

  5. Repita as etapas anteriores para todos os nós restantes.

Aceitar as chaves de subordinados no(s) mestre(s)

Neste ponto, você instalou o serviço do mestre Salt e o serviço de subordinados e forneceu aos seus subordinados o endereço IP do mestre Salt. Agora, para que o mestre Salt envie comandos aos subordinados, a próxima etapa é aceitar as chaves de subordinados no mestre Salt.

Antes de continuar:

  • Certifique-se de que o serviço do mestre Salt esteja ativado e iniciado.
  • Certifique-se de que o subordinado esteja ativado e iniciado em todos os nós.

Para aceitar as chaves:

  1. No terminal do mestre Salt, liste todas as chaves que estão no mestre Salt:
    salt-key -L
  2. Verifique se todos os IDs de subordinados estão listados em Unacceptedkeys.

    Se os IDs de subordinados aparecerem em Acceptedkeys, nenhuma ação adicional será necessária, pois esse é o objetivo final.

  3. Aceite cada ID de subordinado usando o seguinte comando, substituindo <your-minion-id> pelo ID da sua rede:
    salt-key -a <your-minion-ID>

    A execução de salt-key-A aceita todas as chaves.

  4. Responda com y a todos os prompts.
  5. Execute o comando salt-key-L uma segunda vez para confirmar que todos os subordinados aparecem em Acceptedkeys.

Instalando o Salt em um sistema isolado

A única exceção à recomendação geral de instalar o Salt com antecedência é quando você está instalando o SaltStack Config em um sistema isolado. Lembre-se de que existem desvantagens em instalar o Salt na sua infraestrutura em um sistema isolado.

O instalador do SaltStack Config pode instalar a versão estável mais recente do Salt à medida que ele é executado. No entanto, a versão do Salt que é instalada pelo instalador do SaltStack Config é chamada de pacote Salt Crystal. Esse pacote destina-se principalmente para uso em sistemas isolados, nos quais não é possível atualizar o Salt pela Internet. Por ser projetada para uso em sistemas isolados, a versão do Salt no pacote Salt Crystal não pode ser atualizada pela Internet e deve ser atualizada manualmente. Para obter informações sobre como atualizar o pacote Salt Crystal, consulte Atualizando o Salt Crystal.

A incapacidade de atualizar o Salt regularmente pela Internet pode se tornar um problema para a sua rede, a menos que esta seja isolada. Por esse motivo, é altamente recomendável instalar o Salt com antecedência em vez de usar o pacote Salt Crystal.