SaltStack - Asseclas Proxy de Sal
Existem muitos dispositivos, como roteador, equipamento de rede, etc., com sistema operacional personalizado, memória limitada e considerações de alta segurança. Nesses dispositivos, não foi possível instalar o padrãosalt-minione, posteriormente, foram incapazes de gerenciar esses sistemas. No entanto, Salt fornece uma tecnologia inovadora para superar essa limitação.
Salt tem um módulo separado, salt proxy minion que controla o sistema remoto usando o serviço REST em execução no sistema remoto. Este serviço REST é um serviço da web baseado em HTTP escrito usando oRepresentational State Transfer (REST) conceito e são fáceis de implementar e de consumir.
Cada dispositivo terá seu próprio SDK e ambiente de desenvolvimento para escrever aplicativos complexos. Salt espera que um serviço REST seja desenvolvido no dispositivo de acordo com a especificação da interface Salt. O Salt também fornece um módulo python para escrever o serviço da web REST. Se o dispositivo suportar python, será fácil desenvolver o serviço da web REST.
Depois que o serviço da Web REST é desenvolvido e implantado no sistema remoto, o Salt pode ser configurado para controlar o dispositivo remoto usando o serviço da Web REST em vez do minion de sal.
Exemplo de Trabalho
Vamos aprender o conceito de salt proxy minionusando um ambiente de trabalho ativo. Para o ambiente ao vivo, escolhemos um sistema Linux para o mestre e o proxy minion. Vamos controlar o sistema usando o serviço da Web REST em vez do minion de sal.
Instalar e configurar o serviço da Web REST
Salt fornece uma amostra da implementação do serviço da web REST, que é nomeada como proxyminion_rest_example em seu módulo contrib. Vamos instalar o serviço da web de amostra.
Instalar ‘bottle’usando o pip. obottle comando é uma estrutura da web python para desenvolver aplicativos da web.
pip install bottle = 0.12.8
Faça o download do saltstack/salt-contribprojeto do github. Caso contrário, clone o projeto usando o seguinte comando.
git clone https://github.com/saltstack/salt-contrib
Abra um terminal e vá para o salt-contrib diretório.
Este diretório salt-contrib terá uma pasta, proxyminion_rest_example. Esta pasta contém implementação de amostra para o serviço da web REST. Vá para a pasta proxyminion_rest_example.
Execute o seguinte comando para iniciar o serviço da web REST.
python rest.py --address <your ip address> --port 8000
Abra um navegador e carregue http: // «seu endereço IP»: 8000. Isso mostrará a página padrão com serviços e pacotes, conforme mostrado na imagem abaixo.
Agora, configuramos o serviço da web REST e ele verificará como configurar o proxy salt para consultar o serviço da web REST e controlar o sistema.
Configurar Salt-Proxy
Para configurar o Salt-Proxy, temos que seguir os passos abaixo.
Temos que especificar o nó mestre para o salt-proxy. Edite o local do arquivo de configuração de proxy, que está em / etc / salt / proxy, e insira o código a seguir.
master: <your ip address>
Modificar / criar arquivo de pilar de base em /srv/pillar/top.sls conforme mostrado no seguinte bloco de código.
base:
'p8000':
- p8000
Adicione um novo arquivo pilar, p8000.sls no /srv/pillar conforme mostrado no bloco de código abaixo.
proxy:
proxytype: rest_sample
url: http://<your ip address>:8000
Inicie o salt-proxy no modo de depuração usando o seguinte comando.
salt-proxy --proxyid = p8000 -l debug
Semelhante ao minion de sal, aceite o salt-proxy key como mostrado abaixo.
salt-key -y -a p8000
The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.
Correndo o Sal
Agora, execute o salt comandar e chamar o ping.test função conforme mostrado abaixo.
salt p8000 test.ping
Podemos executar qualquer função compatível com o serviço da web REST usando salt, que é semelhante a salt-minion.
Por exemplo, as informações do grão podem ser obtidas usando o seguinte comando.
salt p8000 grains.items