Isso provavelmente não é realmente responder à sua pergunta, de qualquer forma na minha configuração eu apenas uso o ambiente de base e eu faço o bootstrap sal usando saltify .
Desta forma, você não precisa do ambiente init
Eu comecei a controlar todas as minhas máquinas virtuais usando o Saltstack. Eu configurei dois ambientes separados, init
e base
, para instalar o minion em uma VM recém-implementada e gerenciamento de configuração em andamento, respectivamente. Tendo implantado com sucesso um minion, ele adere aos estados de AMBOS os ambientes! Eu não quero isso. Só deve ser gerenciado de acordo com o ambiente base
.
Por que ele usa os dois ambientes e como eu o forcei a não se importar mais com o ambiente init
, após a implantação inicial?
Tendo implantado uma nova VM, eu uso salt-ssh
para configurar repositórios, instalar o servo de sal e ativá-lo. Depois disso, uso salt
para gerenciar minhas VMs. Então, para cada nova VM eu faço (uma vez)
salt-ssh -i 'anewhost' state.apply
e depois disso eu faço / cron faz
salt '*' state.apply
A configuração das minhas raízes de arquivo é o único conteúdo do arquivo de configuração do meu mestre:
file_roots:
base:
- /srv/salt/base
init:
- /srv/salt/init
Para transformar uma VM em um lacaio, eu uso um arquivo de lista. /etc/salt/roster
, onde cada bloco se parece com isto:
anewhost:
host: anewhost.mydomain.tld
user: root
passwd: rootpw
minion_opts:
environment: init
A ideia é
state.apply
usando salt-ssh
, o estado é construído a partir de /srv/salt/init/top.sls
state.apply
usando salt
, o estado é construído a partir de /srv/salt/base/top.sls
O que acontece é que salt-ssh
se comporta exatamente como esperado, mas salt
cria alguma abominação unificada que realmente contém os dois estados, descritos por init
e base
.
Aparentemente, salt
lembra o ambiente init
e o puxa, não importa o que eu faça. Como faço para esquecer o ambiente init
?
Corrigi-o aumentando meus init
estados para anexar environment: base
a /etc/salt/minion
. Isso faz com que o minion ignore o ambiente init
. Mas por que honrou isso em primeiro lugar? A idéia por trás dos ambientes para fazer sal não é diferente?
Isso provavelmente não é realmente responder à sua pergunta, de qualquer forma na minha configuração eu apenas uso o ambiente de base e eu faço o bootstrap sal usando saltify .
Desta forma, você não precisa do ambiente init
Tags saltstack