User Tools

Site Tools


informatica:linux:salt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:linux:salt [2014/01/03 22:15] – [Errores] javiinformatica:linux:salt [2015/04/13 20:19] (current) – external edit 127.0.0.1
Line 1: Line 1:
-========== Salt ==========+====== Salt ======
  
 salt configuration python salt configuration python
  
-======= Instalacion =======+===== Instalacion =====
  
-===== Servidor =====+==== Servidor ====
  
 Instalacion normal: Instalacion normal:
Line 20: Line 20:
 </code> </code>
  
-==== Instalacion manual de zeromq ====+==== Cliente ==== 
 +   
 +Instalacion normal: 
 + 
 +  sudo aptitude update; sudo aptitude install salt-minion 
 +   
 +Para tener la ultima version en ubuntu: 
 + 
 +<code> 
 +echo deb http://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudo tee /etc/apt/sources.list.d/saltstack.list 
 +wget -q -O- "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6" | sudo apt-key add - 
 +sudo apt-get update 
 +apt-get install salt-minion 
 +</code> 
 + 
 +==== (Cliente y servidor) Instalacion manual de zeromq ====
  
 1. Instalar paquetes: 1. Instalar paquetes:
Line 70: Line 85:
   sudo pip install --upgrade pyzmq   sudo pip install --upgrade pyzmq
  
 +===== Claves =====
  
 +==== Aceptar las claves del cliente ====
  
- 
- 
- 
-asdasd 
-as 
-dasd 
-as 
- 
-===== Cliente ===== 
-   
-Instalacion normal: 
- 
-  sudo aptitude update; sudo aptitude install salt-minion 
-   
-Para tener la ultima version en ubuntu: 
- 
-<code> 
-echo deb http://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudo tee /etc/apt/sources.list.d/saltstack.list 
-wget -q -O- "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6" | sudo apt-key add - 
-sudo apt-get update 
-apt-get install salt-minion 
-</code> 
-======= Claves ======= 
-   
 El cliente se tiene que registrar contra el servidor. Este proceso se realiza **una sola vez por cada cliente**: El cliente se tiene que registrar contra el servidor. Este proceso se realiza **una sola vez por cada cliente**:
  
Line 109: Line 102:
  
   sudo salt-key -L   sudo salt-key -L
- 
 <code>  <code> 
 Unaccepted Keys: Unaccepted Keys:
Line 119: Line 111:
 3. (Servidor) Aceptar una clave en particular: 3. (Servidor) Aceptar una clave en particular:
  
-  sudo salt-key -a client-1.example.com +  sudo salt-key -a client.example.com 
- +<code> 
-  Key for client-1.example.com accepted.+The following keys are going to be accepted: 
 +Unaccepted Keys: 
 +client.example.com 
 +Proceed? [n/Y] Y 
 +Key for minion client.example.com accepted. 
 +</code>
  
 4. (Servidor) Probar: 4. (Servidor) Probar:
Line 128: Line 125:
  
   client.example.com: True   client.example.com: True
 +  
 +==== Regenerar claves del cliente ====
  
-======= Configuracion =======+Este procedimiento es util cuando por ejemplo se clona una Maquina Virtual y se quiere registrar el cliente contra el maestro.
  
-===== Servidor =====+1. (Cliente) para salt: 
 + 
 +  sudo service salt-minion stop 
 +   
 +2. (Cliente) eliminar claves tanto propias como del servidor: 
 + 
 +  sudo rm -fr /etc/salt/pki/minion/
 +   
 +3. (Cliente) ajustar el id de minion, por ejemplo especificando el mismo valor que el hostname: 
 + 
 +  sudo vim /etc/salt/minion_id 
 + 
 +  cliente-2.example.com 
 +   
 +4. (Cliente) arrancar salt: 
 + 
 +  sudo service salt-minion start 
 +   
 +5. (Servidor) ya deberia poder ver la nueva peticion: 
 + 
 +  sudo salt-key -L 
 +Accepted Keys: 
 +cliente.example.com 
 +Unaccepted Keys: 
 +cliente-2.example.com 
 +Rejected Keys: 
 + 
 +6. (Servidor) solo queda aceptar las claves: 
 + 
 +  sudo salt-key -a cliente-2.example.com 
 +   
 +<code> 
 +The following keys are going to be accepted: 
 +Unaccepted Keys: 
 +cliente-2.example.com 
 +Proceed? [n/Y] Y 
 +Key for minion cliente-2.example.com accepted 
 +</code> 
 + 
 + 
 +===== Configuracion ===== 
 + 
 +==== Servidor ====
  
   sudo cp /etc/salt/master cp /etc/salt/master.bak; sudo vim /etc/salt/master   sudo cp /etc/salt/master cp /etc/salt/master.bak; sudo vim /etc/salt/master
Line 142: Line 183:
 renderer: py renderer: py
 log_level: debug log_level: debug
 +
 +pillar_roots:
 +  base:
 +    - /etc/salt/pillar
 </code>  </code> 
          
-===== Cliente =====+Para ejecutar salt-master como usuario no-privilegiado: 
 + 
 +1. Para salt: 
 + 
 +  sudo service salt-master stop 
 +  ps aux | grep salt 
 + 
 +2. Cambiar permisos (en este caso yo uso '/etc/salt' para almacenar states, etc...): 
 + 
 +  sudo chown -R usuario:usuario /var/cache/salt /var/log/salt /etc/salt/pki /etc/salt 
 + 
 +3. Reiniciar salt: 
 + 
 +  sudo service salt-master start 
 +==== Cliente ====
  
   sudo cp /etc/salt/minion cp /etc/salt/minion.bak; sudo vim /etc/salt/minion   sudo cp /etc/salt/minion cp /etc/salt/minion.bak; sudo vim /etc/salt/minion
Line 152: Line 211:
 </code>  </code> 
  
-======= States =======+ 
 +===== States =====
  
 Son los modulos en los que se definen las acciones, mas o menos complejas, a realizar por parte de los clientes, o 'minions'. Son los modulos en los que se definen las acciones, mas o menos complejas, a realizar por parte de los clientes, o 'minions'.
Line 175: Line 235:
   sudo salt '*' state.sls virt_what   sudo salt '*' state.sls virt_what
  
-======= Errores =======+Salida (salt 0.17.4-1)
  
-  2014-01-03 22:25:05,116 [salt.master      ][WARNING ] You have a version of ZMQ less than ZMQ 3.2! There are known connection keep-alive issues with ZMQ < 3.2 which may result in loss of contact with minions. Please upgrade your ZMQ!+<code> 
 +jamgo@salt-1:~$ sudo salt '*' state.sls virt_what 
 +client.example.com: 
 +---------- 
 +    State: - pkg 
 +    Name:      virt-what 
 +    Function:  installed 
 +        Result:    True 
 +        Comment:   The following packages were installed/updated: virt-what. 
 +        Changes:   virt-what: { new : 1.12-1 
 +old :  
 +
 +                   
  
-**SOLUCION** seguir procedimiento [[informatica:linux:salt#instalacion_manual_de_zeromq|instalacion manual de zeromq]]+Summary 
 +------------ 
 +Succeeded
 +Failed   0 
 +------------ 
 +Total:     1 
 +</code>
  
-**SOLUCION** seguir procedimiento [[salt#instalacion_manual_de_zeromq|instalacion manual de zeromq]]+===== Pillars =====
  
 +==== Ejemplo sencillo ====
 +
 +(Salt < 0.16.2 usar 'pillar.data'):
 +
 +  sudo salt '*' pillar.items
 +
 +Salida:
 +
 +<code>
 +client.example.com:
 +    ----------
 +    master:
 +        ----------
 +        auth_mode:
 +            1
 +        auto_accept:
 +            False
 +        cachedir:
 +            /var/cache/salt/master
 +        client_acl:
 +            ----------
 +        client_acl_blacklist:
 +            ----------
 +        cluster_masters:
 +        cluster_mode:
 +            paranoid
 +        conf_file:
 +            /etc/salt/master
 +        config_dir:
 +            /etc/salt
 +        cython_enable:
 +            False
 +        daemon:
 +            False
 +        default_include:
 +            master.d/*.conf
 +        enable_gpu_grains:
 +            False
 +        enforce_mine_cache:
 +            False
 +        environment:
 +            None
 +        ext_job_cache:
 +            
 +        ext_pillar:
 +        extension_modules:
 +            /var/cache/salt/master/extmods
 +        external_auth:
 +            ----------
 +        external_nodes:
 +            
 +        failhard:
 +            False
 +        file_buffer_size:
 +            1048576
 +        file_client:
 +            local
 +        file_ignore_glob:
 +            None
 +        file_ignore_regex:
 +            None
 +        file_recv:
 +            False
 +        file_roots:
 +            ----------
 +            base:
 +                - /etc/salt/states
 +        fileserver_backend:
 +            - roots
 +        fileserver_limit_traversal:
 +            False
 +        gitfs_base:
 +            master
 +        gitfs_remotes:
 +        gitfs_root:
 +            
 +        hash_type:
 +            md5
 +        hgfs_branch_method:
 +            branches
 +        hgfs_remotes:
 +        hgfs_root:
 +            
 +        id:
 +            client.example.com
 +        interface:
 +            0.0.0.0
 +        ipv6:
 +            False
 +        job_cache:
 +            True
 +        keep_jobs:
 +            24
 +        key_logfile:
 +            /var/log/salt/key
 +        log_datefmt:
 +            %H:%M:%S
 +        log_datefmt_logfile:
 +            %Y-%m-%d %H:%M:%S
 +        log_file:
 +            /var/log/salt/master
 +        log_fmt_console:
 +            [%(levelname)-8s] %(message)s
 +        log_fmt_logfile:
 +            %(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s
 +        log_granular_levels:
 +            ----------
 +        log_level:
 +            debug
 +        loop_interval:
 +            60
 +        master_ext_job_cache:
 +            
 +        master_roots:
 +            ----------
 +            base:
 +                - /srv/salt-master
 +        master_tops:
 +            ----------
 +        max_open_files:
 +            100000
 +        minion_data_cache:
 +            True
 +        nodegroups:
 +            ----------
 +        open_mode:
 +            False
 +        order_masters:
 +            False
 +        outputter_dirs:
 +        peer:
 +            ----------
 +        permissive_pki_access:
 +            False
 +        pidfile:
 +            /var/run/salt-master.pid
 +        pillar_opts:
 +            True
 +        pillar_roots:
 +            ----------
 +            base:
 +                - /srv/pillar
 +        pillar_version:
 +            2
 +        pki_dir:
 +            /etc/salt/pki/master
 +        pub_hwm:
 +            1000
 +        publish_port:
 +            4505
 +        publish_session:
 +            86400
 +        range_server:
 +            range:80
 +        reactor:
 +        renderer:
 +            py
 +        ret_port:
 +            4506
 +        root_dir:
 +            /
 +        runner_dirs:
 +        saltversion:
 +            0.17.4
 +        search:
 +            
 +        search_index_interval:
 +            3600
 +        serial:
 +            msgpack
 +        sock_dir:
 +            /var/run/salt/master
 +        state_auto_order:
 +            True
 +        state_output:
 +            full
 +        state_top:
 +            salt://top.sls
 +        state_verbose:
 +            True
 +        syndic_master:
 +            
 +        syndic_wait:
 +            1
 +        timeout:
 +            5
 +        token_dir:
 +            /var/cache/salt/master/tokens
 +        token_expire:
 +            43200
 +        user:
 +            root
 +        verify_env:
 +            True
 +        win_gitrepos:
 +            - https://github.com/saltstack/salt-winrepo.git
 +        win_repo:
 +            /srv/salt/win/repo
 +        win_repo_mastercachefile:
 +            /srv/salt/win/repo/winrepo.p
 +        worker_threads:
 +            5
 +</code>
 +
 +==== Especificar por minion id ====
 +
 +  /etc/salt/pillar/top.sls
      
-   +<code> 
-  +base: 
 +  '*': 
 +    - users 
 +  'test-2.*': 
 +    - data 
 +</code>
  
  
 +===== Grains =====
 +
 +==== Listar ====
 +
 +  sudo salt '*' grains.ls
 +
 +<code>
 +client.example.com:
 +    - biosreleasedate
 +    - biosversion
 +    - cpu_flags
 +    - cpu_model
 +    - cpuarch
 +    - defaultencoding
 +    - defaultlanguage
 +    - domain
 +    - fqdn
 +    - fqdn_ip4
 +    - fqdn_ip6
 +    - gpus
 +    - host
 +    - id
 +    - ip_interfaces
 +    - ipv4
 +    - ipv6
 +    - kernel
 +    - kernelrelease
 +    - localhost
 +    - lsb_distrib_codename
 +    - lsb_distrib_description
 +    - lsb_distrib_id
 +    - lsb_distrib_release
 +    - manufacturer
 +    - master
 +    - mem_total
 +    - nodename
 +    - num_cpus
 +    - num_gpus
 +    - os
 +    - os_family
 +    - osarch
 +    - oscodename
 +    - osfinger
 +    - osfullname
 +    - osrelease
 +    - path
 +    - productname
 +    - ps
 +    - pythonpath
 +    - pythonversion
 +    - saltpath
 +    - saltversion
 +    - saltversioninfo
 +    - serialnumber
 +    - server_id
 +    - shell
 +    - virtual
 +</code>
 +
 +
 +===== "pull" de configuracion por parte del cliente =====
 +
 +http://docs.saltstack.com/topics/troubleshooting/index.html#using-salt-call
 +
 +http://docs.saltstack.com/topics/tutorials/quickstart.html
 +
 +http://docs.saltstack.com/topics/tutorials/standalone_minion.html
 +
 +===== Enlaces =====
 +
 +  * Lista de state modules:
 +
 +http://docs.saltstack.com/ref/states/all/
 +
 +===== Errores =====
 +
 +  2014-01-03 22:25:05,116 [salt.master      ][WARNING ] You have a version of ZMQ less than ZMQ 3.2! There are known connection keep-alive issues with ZMQ < 3.2 which may result in loss of contact with minions. Please upgrade your ZMQ!
 +
 +**SOLUCION** seguir procedimiento [[salt#cliente_y_servidor_instalacion_manual_de_zeromq]]
  
informatica/linux/salt.1388787301.txt.gz · Last modified: 2015/04/13 20:19 (external edit)