Você pode fazer upgrade do SaltStack Config de uma versão anterior para a versão estável mais recente.

Práticas recomendadas de upgrade

Siga estas diretrizes ao planejar o upgrade:

  • Não faça upgrade usando as instruções de instalação manual ou o instalador.Se você estiver fazendo upgrade da sua instalação do SaltStack Config, consulte as seguintes instruções de upgrade.
  • Para obter os melhores resultados, incremente de uma versão principal para a próxima. Como prática recomendada, sempre faça upgrade da versão principal mais recente do SaltStack Config para a nova versão. Se estiver em uma versão mais antiga, faça upgrade incrementalmente de uma versão para a próxima.
  • Faça backup dos seus dados. Para evitar a perdas, faça backup dos seus dados.
  • Realize upgrades durante horas de pouca atividade na rede. Upgrades de banco de dados exigem a reindexação dos dados. Dependendo da complexidade dos seus dados, um upgrade de banco de dados pode demorar várias horas. Para evitar interrupções no serviço, considere fazer upgrade do banco de dados durante horas de trabalho mais tranquilas ou preparar seu banco de dados antes de um upgrade.
  • Verifique se comandos antigos estão sendo armazenados no banco de dados. Em alguns casos, o banco de dados PostgreSQL armazena comandos antigos que não foram executados. Esses comandos podem ser executados durante o processo de upgrade, quando você reinicia o Master Plugin. Para evitar que isso aconteça, verifique se algum comando antigo está armazenado no banco de dados e ative a opção para ignorar trabalhos anteriores a um horário definido.
  • Teste o upgrade antes da implantação. Se possível, você pode tentar executar uma ensaio geral em um ambiente de teste para saber quanto tempo o upgrade pode demorar.
  • Leia o guia inteiro primeiro. Considere também ler este guia inteiro uma vez antes de implementar um upgrade, para que você tenha uma boa ideia das tarefas necessárias, se elas exigem planejamento por parte da sua equipe ou se os envolvidos devem ser notificados sobre alterações pendentes.

Fazendo upgrade de versões mais antigas

Como prática recomendada, sempre faça upgrade da versão principal mais recente do SaltStack Config para a nova versão. Se você estiver fazendo upgrade de uma versão anterior para a versão mais recente, poderá ver os melhores resultados se fizer upgrade em incrementos de uma versão principal para a próxima.

Para obter instruções sobre como atualizar para versões anteriores do SaltStack Config, consulte as instruções de upgrade específicas para as versões das quais você está fazendo upgrade. As instruções de upgrade das versões anteriores estão incluídas no PDF do guia de instalação para a versão subsequente. Por exemplo, se você precisar fazer upgrade da versão 5.5 para 6.0, consulte as instruções de upgrade no PDF de instalação da versão 6.0.

Para as versões 8.4 e posteriores do SaltStack Config, use o seletor de versão no topo desta página para selecionar o guia de upgrade correto para a versão do seu produto. Para versões 8.3 e anteriores, use os guias de PDF na tabela a seguir:

Versão Guia de instalação e upgrade (PDF)
8.3 Guia de instalação e upgrade da versão 8.3
6.4 Guia de instalação e upgrade da versão 6.4
6.3 Guia de instalação e upgrade da versão 6.3
6.2 Guia de instalação e upgrade da versão 6.2
6.1 Guia de instalação e upgrade da versão 6.1
6.0.1 Guia de instalação e upgrade da versão 6.0.1
6.0 Guia de instalação e upgrade da versão 6.0

Como fazer upgrade do SaltStack Config

Para fazer upgrade do SaltStack Config, conclua as seguintes tarefas, nesta ordem:
  • Faça backup dos seus dados, incluindo determinados arquivos e diretórios que são essenciais para a sua instalação específica do SaltStack Config
  • Fazer upgrade do PostgreSQL (opcional, mas recomendado)
  • Fazer upgrade da infraestrutura Salt (opcional, mas recomendado)
  • Baixar os arquivos de upgrade
  • Fazer upgrade do nó RaaS
  • Fazer upgrade de todos os mestres Salt usando o Master Plugin

Para obter mais informações sobre como atualizar o SSC via Lifecyle Manager, consulte Fazer o upgrade do vRealize Automation SaltStack Config, na documentação do LCM.

Fazer backup de arquivos e diretórios do SaltStack Config

Os seguintes arquivos e diretórios contêm suas configurações personalizadas do SaltStack Config e precisam ser armazenados em backup antes do upgrade:

  1. No nó RaaS, faça back-up destes diretórios inteiros:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /var/log/raas
    • /etc/raas/pki/
    Observação:

    O diretório pki contém arquivos ocultos. Portanto, certifique-se de fazer back-up de todo o diretório. O backup dos arquivos de log no diretório /var/log/raas é opcional. Durante o processo de upgrade, você limpará os arquivos de log para fornecer um arquivo de log limpo caso seja necessário solucionar algum problema.

  2. Em cada mestre Salt, faça backup dos arquivos /etc/salt/master.d/raas.conf e /etc/salt/master.d/eAPIMasterPaths.conf.
    Observação:

    Dependendo de como você instalou o SaltStack Config inicialmente, é possível que os caminhos do mestre Salt eAPI estejam no arquivo /etc/salt/master.d/raas.conf.

Fazer backup do seu esquema de banco de dados

Durante o upgrade do seu nó RaaS, o esquema de banco de dados é atualizado. Por esse motivo, certifique-se de criar um backup do seu banco de dados antes do upgrade.

Para fazer backup do banco de dados, primeiro você precisa procurar o nome do seu banco de dados PostgreSQL e copiar o conteúdo:

  1. No servidor PostgreSQL, faça backup destes arquivos:
    • postgresql.conf
    • pg_hba.conf
  2. Faça login como usuário postgres com o seguinte comando:
    sudo su - postgres
  3. Obtenha o nome do banco de dados, usando os seguintes comandos para entrar no PostgreSQL e depois listar os bancos de dados:
    psql
    \l
  4. Para sair do PostgreSQL e fazer logoff como usuário postgres, pressione Ctrl+D e execute o seguinte comando:
    exit
  5. Copie o conteúdo do banco de dados em um arquivo. O comando a seguir fornece um exemplo:
    pg_dump -U salteapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql

Upgrade do banco de dados PostgreSQL

O SaltStack Config requer um banco de dados PostgreSQL 9.6, mas o PostgreSQL 13.7 é recomendado. A versão recomendada do PostgreSQL está incluída no instalador do SaltStack Config.

O upgrade para a versão mais recente do PostgreSQL não é necessário. No entanto, o upgrade do PostgreSQL pode melhorar o desempenho. Para obter instruções sobre o upgrade para a versão mais recente do PostgreSQL, consulte Upgrade do PostgreSQL.

Upgrade do banco de dados Redis

O SaltStack Config requer um banco de dados Redis 5.x, mas o Redis 6.2.7 é recomendado. A versão recomendada do Redis está incluída no instalador do SaltStack Config.

O upgrade para a versão mais recente do Redis 5.x não é necessário. No entanto, o upgrade do Redis pode melhorar o desempenho. Para obter instruções sobre o upgrade do Redis, consulte Administração do Redis.

Fazer upgrade do Salt

Ao fazer upgrade do Salt, você deve fazer upgrade dos mestres primeiro. Executar subordinados com versões do Salt mais recentes do que seus mestres podem não funcionar conforme o esperado, pois o subordinado pode incluir alterações ainda não disponíveis no mestre. Para isso, sempre que possível, a compatibilidade com versões mais antigas entre novos mestres e subordinados antigos é preservada. Geralmente, a única exceção a essa política é no caso de uma vulnerabilidade de segurança.

Para obter o melhor desempenho, verifique se todos os componentes do Salt na sua infraestrutura estão sendo executados na versão principal mais recente do Salt.

Importante: As versões 3005 e 3005.1 do Salt usam um pacote de instalação do onedir que não é compatível com o SaltStack Config. Para usar o Salt versão 3005 ou 3005.1 com o SaltStack Config, use somente pacotes de instalador clássicos. Para obter mais informações sobre o Salt versão 3005/3005.1 e o onedir, consulte KB 89728.

Para obter instruções sobre como fazer upgrade do pacote Salt Crystal, consulte Como fazer upgrade do Salt Crystal.

Dica: A incapacidade de atualizar o Salt regularmente pela Internet pode se tornar um problema para a sua rede, a menos que esta seja isolada. Por esse motivo, é altamente recomendável instalar o Salt com antecedência em vez de usar o pacote Salt Crystal.

Fazer upgrade do nó RaaS

Após o upgrade para a versão mais recente do PostgreSQL, do Redis e do Salt, você poderá fazer upgrade da versão anterior para a versão mais recente do nó RaaS.

Observação: Upgrades de banco de dados exigem a reindexação dos dados. Se os seus dados forem complexos, um upgrade de banco de dados poderá demorar várias horas.
Importante:

Antes do upgrade do nó RaaS, você deve fazer backup dos dados do sistema para evitar perda de dados. Para preservar sua configuração, salve todas as alterações feitas no sistema de arquivos padrão, nos dados de pilares e em trabalhos como novos arquivos ou trabalhos. Além disso, você deve registrar ou fazer uma cópia de quaisquer atribuições de destino de pilares existentes, pois elas são removidas durante o processo de upgrade.

Para fazer upgrade do nó RaaS:

  1. Baixe os arquivos de upgrade do Customer Connect.
  2. Interrompa o serviço RaaS usando o seguinte comando:
    sudo systemctl stop raas
  3. Remova o(s) arquivo(s) de log no diretório /var/log/raas. A limpeza dos arquivos de log fornecerá um arquivo de log limpo caso seja necessário solucionar algum problema.
  4. Remova a versão atualmente instalada da API (RaaS) com o seguinte comando:
    sudo yum remove raas
  5. Faça upgrade do nó RaaS instalando o RPM mais recente. Use o seguinte comando de exemplo, substituindo o nome de arquivo exato do RPM:
    sudo yum install raas-rpm-file-name.rpm
  6. IMPORTANTE: Restaure o backup dos seguintes arquivos:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  7. Atualize permissões para o usuário raas com o seguinte comando:
    sudo chown -R raas:raas /etc/pki/raas/certs
  8. OPCIONAL: Se você tiver uma licença do SaltStack SecOps e quiser adicionar a biblioteca de conformidade, adicione a seguinte nova seção ao arquivo /etc/raas/raas:
    sec:
      ingest_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      username: 'secops'
      content_url: 'https://enterprise.saltstack.com/secops_downloads'
      download_enabled: true
      download_frequency: 86400
      stats_snapshot_interval: 3600
      compile_stats_interval: 10
      ingest_on_boot: True
      content_lock_timeout: 60
      content_lock_block_timeout: 120
    Observação:

    Essa etapa é opcional e somente é aplicável a organizações que têm uma licença válida do SaltStack SecOps. Esse módulo de complemento está disponível para as versões 6.0 e posteriores do SaltStack Config. As opções de configuração anteriores no arquivo de configuração /etc/raas/raas são específicas para esses módulos de complementos.

  9. OPCIONAL: Se você tiver uma licença do SaltStack SecOps e quiser adicionar a biblioteca de vulnerabilidades, adicione uma nova seção ao arquivo /etc/raas/raas:
    vman:
      vman_dir: vman
      download_enabled: true
      download_frequency: 86400
      username: vman
      content_url: 'https://enterprise.saltstack.com/vman_downloads'
      ingest_on_boot: true
      compile_stats_interval: 60
      stats_snapshot_interval: 3600
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      tenable_asset_import_enabled: True
      tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name',
                                    'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint',
                                    'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key',
                                    'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id',
                                    'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id',
                                    'aws_availability_zone', 'aws_ec2_instance_ami_id',
                                    'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name',
                                    'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code',
                                    'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id',
                                    'installed_software', 'bigfix_asset_id'
                                    ]
    Observação:

    Essa etapa é opcional e somente é aplicável a organizações que têm uma licença válida do SaltStack SecOps. Esse módulo de complemento está disponível para as versões 6.0 e posteriores do SaltStack Config. As opções de configuração anteriores no arquivo de configuração /etc/raas/raas são específicas para esses módulos de complementos.

  10. Atualmente, o RaaS tem um problema conhecido relacionado a trabalhos obsoletos. Durante o upgrade, alguns usuários podem perceber uma fila de trabalhos obsoletos que estão presos em um estado pendente. O upgrade do nó RaaS pode fazer com que esses trabalhos sejam executados, a menos que sejam limpos antes.

    Para evitar que isso aconteça, verifique primeiro se algum comando antigo está armazenado no banco de dados. No nó PostgreSQL, verifique se há trabalhos pendentes, usando o seguinte comando:

    select count(1) from commands where state='new';

    O resultado é o número de trabalhos pendentes. Se o número de trabalhos for 0, prossiga com o restante do processo de upgrade.

  11. Faça upgrade do banco de dados do serviço RaaS usando o seguinte comando:
    sudo su - raas
    raas upgrade
    Observação:

    Dependendo do tamanho do seu banco de dados, o upgrade pode levar de vários minutos a mais de uma hora. Se você encontrar erros, verifique o arquivo de log /var/log/raas/raas para obter mais informações.

  12. Após o upgrade, encerre a sessão do usuário raas com o seguinte comando:
    exit
  13. Inicie o serviço RaaS usando o seguinte comando:
    sudo systemctl enable raas
    sudo systemctl start raas

Fazer upgrade do Master Plugin usando a UI do SaltStack Config

Observação: Este recurso oferece suporte ao SaltStack Config versões 8.11.2 ou posterior. Para versões anteriores, você deve primeiro fazer upgrade do seu plug-in mestre para a versão 8.11.2 ou posterior usando a CLI.
Observação: O mestre Salt deve ser executado como raiz.

O SaltStack Config faz upgrade automaticamente do plug-in para a versão mais recente sem as ações exigidas pelo usuário.

No entanto, você também pode fazer upgrade do plug-in mestre na interface de usuário do SaltStack Config. Para fazer upgrade do plug-in mestre, no SaltStack Config, selecione Administração e clique em Master Plugins. A guia Master Plugin mostra em qual versão do plug-in e ambiente do SaltStack Config você está, juntamente com uma lista de IDs do Master Plugin. Na guia Master Plugins, você pode selecionar os plug-ins mestre que deseja atualizar e clicar em Atualizar.

Fazer upgrade do Master Plugin usando a CLI

Após o upgrade bem-sucedido do nó RaaS, você pode fazer upgrade de quaisquer mestres Salt que usem o Master Plugin para se conectar ao SaltStack Config.

Observação:

Antes do upgrade do(s) mestre(s) Salt, certifique-se de que o aplicativo pip3 esteja instalado nos mestres Salt. Se você estiver fazendo upgrade da versão mais recente do Master Plugin, esse aplicativo já estará instalado.

Para fazer upgrade do Master Plugin em um mestre Salt:

  1. Interrompa o serviço salt-master usando o seguinte comando:
    sudo systemctl stop salt-master
  2. Verifique qual versão do Python está sendo executada no mestre Salt. Se ele estiver executando o Python 3.6 ou superior, nenhuma alteração será necessária. Em outros casos, exclua a versão anterior do módulo SSEAPE. (O SSEAPE é o plug-in SaltStack Config do mestre Salt). Por exemplo:

    RHEL/CentOS

    sudo rm -rf /usr/lib/python3.6/site-packages/SSEAPE*

    Ubuntu

    sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
  3. Faça upgrade do Master Plugin instalando manualmente o wheel do Python atualizado. Use os seguintes comandos de exemplo, substituindo o nome exato do arquivo wheel:

    RHEL/CentOS

    sudo pip3 install SSEAPE-file-name.whl --prefix /usr

    Ubuntu

    sudo pip3 install SSEAPE-file-name.whl
    Observação:

    Alguns usuários talvez precisem alterar a sintaxe para pip3.6 ou pip36 em seus sistemas operacionais.

  4. Atualize os caminhos de módulos de API (RaaS) editando o arquivo /etc/salt/master.d/eAPIMasterPaths.conf para fazer referência aos caminhos para os vários módulos. Por exemplo, você pode alterar todas as referências a python2.7 nesse arquivo para python3.6.
    Observação:

    Dependendo de como você instalou o SaltStack Config inicialmente, é possível que os caminhos do mestre Salt eAPI estejam no arquivo /etc/salt/master.d/raas.conf.

  5. Verifique a seção engines em /etc/salt/master.d/raas.conf para confirmar que ela corresponde ao seguinte:
    engines:
      - sseapi: {}
      - eventqueue: {}
      - rpcqueue: {}
      - jobcompletion: {}
      - keyauth: {}
    Observação:

    Se tiver ocorrido um problema, talvez seja necessário restaurar os backups dos arquivos /etc/salt/master.d/raas.conf e /etc/salt/master.d/eAPIMasterPaths.conf.

  6. Se você estiver usando a autenticação de chave salt-master (recomendada), certifique-se de que sseapi_pubkey_path esteja configurado e sseapi_username e sseapi_password esteja assinalados como comentário em /etc/salt/master.d/raas.conf.
    sseapi_pubkey_path: /etc/salt/pki/master/sseapi_key.pub
    
    #sseapi_username:
    #sseapi_password:
  7. Verifique se as entradas master_job_cache e event_return estão definidas como sseapi. O retornador pgjsonb não está mais disponível.
  8. Inicie o serviço salt-master com o seguinte comando:
    sudo systemctl start salt-master

O processo de upgrade está agora concluído. Se você encontrar outros erros, consulte Solução de problemas.