SaltStack - Gerente de Pacote de Sal

As fórmulas do Salt são empacotadas e distribuídas aos mestres do Salt usando o gerenciador de pacotes. Este conceito foi influenciado porRPM, Yum e Pacmansistemas de embalagem. Estado de sal, pilar, modelos de arquivo e outros arquivos são usados ​​pela fórmula e, em seguida, empacotados em um único arquivo.

Depois que um pacote de fórmula é criado, ele é copiado para o Sistema de Repositório para ser usado para mestres do Salt. Antes de passar para o gerenciador de pacotes, vamos dar uma olhada em como instalar um pacote “nginx” usando o comando básico do Salt.

A seguinte sintaxe é usada para instalar um pacote “nginx”.

root@saltmaster:/home/vagrant# salt '*' pkg.install nginx

Aqui o pkg.install nginxcomando é usado para instalar um pacote. Após a execução, você verá a seguinte resposta.

Irá produzir o seguinte output -

minion2:
   ----------
   httpd:
      ----------
      new:
         1
      old:
   httpd-cgi:
      ----------
      new:
         1
      old:
   libxslt1.1:
      ----------
      new:
         1.1.28-2build1
      old:
   nginx:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-common:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-core:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
minion1:
   ----------
   httpd:
      ----------
      new:
         1
      old:
   httpd-cgi:
      ----------
      new:
         1
      old:
   libxslt1.1:
      ----------
      new:
         1.1.28-2build1
      old:
   nginx:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-common:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:
   nginx-core:
      ----------
      new:
         1.4.6-1ubuntu3.7
      old:

Agora, você instalou um pacote. Para iniciar os serviços desse pacote, use o comando fornecido a seguir.

root@saltmaster:/home/vagrant# salt '*' service.start nginx

Depois de executar este comando, o resultado parece mostrado no bloco de código abaixo.

minion1:
   True
minion2:
   True

Portanto, instalamos e iniciamos os serviços para o pacote “nginx” usando o comando básico. Vamos agora discutir como construir e instalar pacotes no gerenciador de pacotes Salt.

Pacotes de construção

Os pacotes podem ser construídos em qualquer sistema onde você possa instalar o Salt. Existem três tipos de pacotes e são os seguintes.

  • Formula
  • Reactor
  • Conf

Vamos agora entender como construir pacotes usando o Fomula Arquivo.

Arquivo de fórmula

A maioria dos arquivos do pacote estão localizados no diretório - / srv / spm / salt / por padrão, mas o arquivo pilar pode ser colocado no diretório - / srv / spm / pillar /. O arquivo de fórmula descreve o pacote.

Example

name: apache
os: RedHat
os_family: RedHat
version: 201607
release: 2
summary: Formula for installing Apache
description: Formula for installing Apache

Aqui,

  • Name- O nome do pacote. Aqui, o nome do pacote éapache.

  • os - É usado para saber quais sistemas operacionais podem suportar este pacote.

  • os_family - É usado para saber quais famílias de sistemas operacionais podem oferecer suporte a este pacote.

  • Version- A versão do pacote. Ele é especificado no formato AAAAMM.

  • Release - Este campo se refere principalmente ao lançamento de uma versão.

  • Summary - Descrição do pacote em linhas curtas.

  • Description - Uma descrição mais detalhada do pacote.

REATOR

Os arquivos do reator residem no /srv/spm/reactor/ diretório.

CONF

Os arquivos neste tipo de pacote são arquivos de configuração do Salt, que normalmente residem no /etc/salt/diretório. Arquivos de configuração para pacotes diferentes de Salt podem e devem ser tratados com um Salt State (usando um tipo de pacote de fórmula).

Vamos continuar com as etapas a seguir para construir um pacote.

  • Crie um arquivo FORMULA e coloque-o na raiz da pasta do pacote.

  • Monte os arquivos de fórmula em uma pasta no sistema de compilação.

  • Corre spm build. O pacote é construído e colocado na pasta / srv / spm_build. O seguinte comando é usado para construir um pacote.

spm build /path/to/salt-packages-source/formula
  • Agora, copie o .spm arquivo para uma pasta no sistema de repositório.

  • Você pode compartilhar o srv/spm_build pasta na rede ou copie os arquivos para o seu FTP ou servidor da Web.

  • Gere metadados de repo usando o seguinte comando.

spm create_repo /srv/spm_build

Instalando Pacotes

Esta seção explica sobre como instalar os pacotes do gerenciador de pacotes Salt.

Configurar Repositórios Remotos

Para configurar repositórios remotos, o Salt Master precisa saber onde o repositório está por meio de um processo de configuração.

Os arquivos estão no /etc/salt/spm.repos.d/spm.repo diretório.

Example

file_repository:
   url: https://spm.example.com/

Aqui, o arquivo contém o nome do repositório e o link para o repositório. Você também pode usar http, https, ftp ou o caminho do arquivo. Para usar o caminho do arquivo, você pode acessá-lo usando a URL: file: /// srv / spm_build.

Atualizar Metadados

Depois que o repositório é configurado no Salt master, os metadados do repositório são baixados usando o comando abaixo.

spm update_repo

Atualizar raízes de arquivo

Os pacotes SPM estão localizados no diretório srv / spm / salt. Adicione o seguinte caminho às raízes do arquivo no Salt master,

file_roots:
   base:
      1. /srv/salt
      2. /srv/spm/salt

Agora, reinicie o salt master.

Instale o pacote Apache

Para instalar o pacote apache, use o seguinte comando.

spm install apache

Você também pode instalar diretamente do arquivo SPM usando o comando abaixo.

spm local install /srv/spm/apache-201607-1.spm

Removendo um Pacote

Para remover um pacote, por exemplo - apache, use o seguinte comando,

spm remove apache

Observe que, se algum arquivo tiver sido modificado, ele não será removido.