Sal minions continuam perdendo a conexão com o master

3

Estou testando o Salt. Eu tenho uma configuração de teste simples de 3 VirtualBox VM's - com salt-master em execução em uma das máquinas e salt-minions em execução nas outras 2 VMs.

Eu posso iniciar qualquer uma das VMs do minion de sal e elas se conectarão ao mestre e receberão comandos. Se eu iniciar ambas as minion VMs, elas serão conectadas por um curto período de tempo e, em seguida, uma será descartada e mostrada como não conectada do mestre.

Na verdade, nem preciso ter mais de um cliente VM ativo. Com 1 cliente de VM e 1 salt-minion da VM, ele será desconectado.

Eu posso reiniciar o salt-minion e ele irá se reconectar ao master e receber comandos novamente ... por alguns minutos, pelo menos. Eventualmente, ele será mostrado como desconectado no mestre. Executar o salt-minion na depuração não parece mostrar nada que explique por que ele está mostrando como desconectado no mestre.

O que poderia estar causando isso?

Editar:

O sistema operacional que estou usando é o Ubuntu 14.04. Os ambientes master e minion são os mesmos, exceto pelo pacote de mestre de sal. A execução de --versions-report no master e no minion fornece as seguintes versões:

             Salt: 2015.5.3
            Python: 2.7.6 (default, Mar 22 2014, 22:59:56)
            Jinja2: 2.7.2
          M2Crypto: 0.21.1
    msgpack-python: 0.3.0
      msgpack-pure: Not Installed
          pycrypto: 2.6.1
           libnacl: Not Installed
            PyYAML: 3.10
             ioflo: Not Installed
             PyZMQ: 14.0.1
              RAET: Not Installed
               ZMQ: 4.0.4
              Mako: Not Installed
           Tornado: Not Installed
Debian source package: 2015.5.3+ds-1trusty1
    
por Brendan Abel 15.08.2015 / 02:46

1 resposta

0

Problemas de conectividade geralmente são causados pela biblioteca do ZMQ (menor que 4.X.X) e / ou pela versão em salt. Por favor, execute salt --versions-report no mestre e salt-call --versions-report para ver quais versões você está usando. Você deveria estar correndo:

Salt: 2015.5.3
...
ZMQ: 4.0.5

Você também deve tentar reproduzir o problema com uma demonstração simples do salt-vagrant . Observe que você precisará alterar as versões de sal no arquivo vagrant para "2015.5.3"

Você não especificou qual versão do sistema operacional ou do Salt você está usando, mas há um problema contínuo com o pacote zmq usado pelo salt que causa conexões e quedas lentas. É altamente recomendado para atualizar o pacote zmq : (este é um arquivo sls baseado em redhat)

{% if grains['os'] in ('RedHat', 'CentOS', 'Fedora') %}
  {% if grains['os'] == 'Fedora' %}
    {% set repotype = 'fedora' %}
  {% else %}
    {% set repotype = 'epel' %}
  {% endif %}
saltstack-zeromq4:
  pkgrepo.managed:
    - humanname: Copr repo for zeromq4 owned by saltstack
    - baseurl: http://copr-be.cloud.fedoraproject.org/results/saltstack/zeromq4/{{ repotype }}-$releasever-$basearch/
    - gpgcheck: 0
    - skip_if_unavailable: True
    - enabled: 1
{% endif %}

{% if grains['os'] in ('RedHat', 'CentOS', 'Fedora') %}
update_zmq:
  pkg:
    - latest
    - pkgs:
      - zeromq
      - python-zmq
    - order: last
  cmd:
    - wait
    - name: echo service salt-minion restart | at now + 1 minute
    - watch:
      - pkg: update_zmq
{% endif %}

Outro "hack" é fazer o ping das máquinas a cada minuto ou mais, basta adicionar isso à configuração do servo de mestre de sal:

"salt '*' test.ping > /dev/null":
  cron.present:
    - user: root
    - minute: '*/1'

Você também pode executar ping no mestre a partir do minion definindo o master_alive_interval opção no arquivo de configuração do minion.

    
por 16.08.2015 / 16:48