Você pode fazer upgrade do Automation 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 Automation 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 Automation 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 Automation 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 Automation 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 Automation 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 Automation Config
- Faça backup dos seus dados, incluindo determinados arquivos e diretórios que são essenciais para a sua instalação específica do Automation 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 fazer upgrade o Config via Aria Suite Lifecycle, consulte Fazer o upgrade do Automation Config, na documentação do LCM.
Fazer backup de arquivos e diretórios do Automation Config
Os seguintes arquivos e diretórios contêm suas configurações personalizadas do Automation Config e precisam ser armazenados em backup antes do upgrade:
- 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. - 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 Automation 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:
- No servidor PostgreSQL, faça backup destes arquivos:
postgresql.conf
pg_hba.conf
- Faça login como usuário
postgres
com o seguinte comando:sudo su - postgres
- Obtenha o nome do banco de dados, usando os seguintes comandos para entrar no PostgreSQL e depois listar os bancos de dados:
psql \l
- Para sair do PostgreSQL e fazer logoff como usuário
postgres
, pressione Ctrl+D e execute o seguinte comando:exit
- 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 Automation 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 Automation 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 Automation 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 Automation 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.
Para obter informações sobre como instalar pacotes onedir do Salt, consulte Instalar pacotes onedir do Salt.
Obrigatório:para implantações brownfield/de upgrade, a partir do Salt 3006, o Mestre Salt é configurado para ser executado como "salt" do usuário em vez do "usuário raiz" tradicional. Como resultado, isso pode causar erros de permissão com fluxos de trabalho relacionados ao RaaS, como a implantação de subordinados e os upgrades do plug-in do Mestre RaaS.
Para corrigir isso, modifique o arquivo /etc/salt/master.d/raas.conf para alterar o usuário para raiz: user: root
.
Para novas implantações greenfield, o comando sseapi-config
configura o plug-in mestre e gera o arquivo raas.conf com o valor de configuração correto user: root
. Nenhuma ação do usuário é necessária.
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.
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:
- Baixe os arquivos de upgrade do Customer Connect.
- Interrompa o serviço RaaS usando o seguinte comando:
sudo systemctl stop raas
- 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. - Remova a versão atualmente instalada da API (RaaS) com o seguinte comando:
sudo yum remove raas
- 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
- IMPORTANTE: Restaure o backup dos seguintes arquivos:
/etc/raas/raas
/etc/raas/raas.secconf
/etc/raas/pki/
- Atualize permissões para o usuário
raas
com o seguinte comando:sudo chown -R raas:raas /etc/pki/raas/certs
- OPCIONAL: Se você tiver uma licença do Automation for Secure Hosts 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 Automation for Secure Hosts. Esse módulo de complemento está disponível para as versões 6.0 e posteriores do Automation 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. - OPCIONAL: Se você tiver uma licença do Automation for Secure Hosts 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 Automation for Secure Hosts. Esse módulo de complemento está disponível para as versões 6.0 e posteriores do Automation 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. - 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. - 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. - Após o upgrade, encerre a sessão do usuário
raas
com o seguinte comando:exit
- Inicie o serviço RaaS usando o seguinte comando:
sudo systemctl enable raas sudo systemctl start raas
Fazer Upgrade do Master Plugin Usando a Interface do Usuário do Automation Config
O Automation Config faz upgrade do plug-in automaticamente para a versão mais recente sem que o usuário precisa realizar qualquer ação.
No entanto, você também pode fazer upgrade do Master Plugin usando a interface de usuário do Automation Config. Para fazer upgrade do Master Plugin, no Automation Config, selecione Administração e clique em Master Plugins. A guia Master Plugin mostra em qual versão do plug-in e ambiente Automation Config você está, juntamente com uma lista dos suas IDs de Master Plugins. Na guia Master Plugins, você pode selecionar os Master Plugins que deseja atualizar e, em seguida, 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 Automation Config.
# sseapi-config --default >/tmp/raas.conf # cd /etc/salt/master.d # vim -d raas.conf /tmp/raas.conf
A partir da versão 8.13.0, o Master Plugin inclui um mecanismo tgtmatch que agora descarrega o grupo de destino correspondente do servidor RaaS para os Mestres Salt. Recomenda-se ativar e configurar esse mecanismo de tgtmatch para tornar o grupo de destino correspondente mais responsivo, especialmente em ambientes com:
- Um grande número de grupos de destino (100 ou mais)
- Um grande número de subordinados (3000 ou mais)
- Alterações frequentes em grãos de subordinados (diariamente ou mais frequentes)
- Criação e exclusão frequentes de subordinados (diariamente ou mais frequentes)
engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - tgtmatch: {} sseapi_local_cache: load: 3600 tgt: 86400 pillar: 3600 exprmatch: 86400 tgtmatch: 86400 sseapi_tgt_match: poll_interval: 60 workers: 0 nice: 19
target_groups_from_master_only: true
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:
- Interrompa o serviço
salt-master
usando o seguinte comando:sudo systemctl stop salt-master
- 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 Automation 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*
- Faça upgrade do Master Plugin desinstalando e reinstalando manualmente o wheel do Python atualizado. Use os seguintes comandos de exemplo, substituindo o nome exato do arquivo wheel:
Observação: O plug-in existente deve ser desinstalado para evitar várias instâncias de sseapi-config.
pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl mv /etc/salt/master.d/raas.conf /tmp salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl cp /tmp/raas.conf /etc/salt/master.d/raas.conf systemctl restart salt-master
- 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 apython2.7
nesse arquivo parapython3.6
.Observação:Dependendo de como você instalou o Automation Config inicialmente, é possível que os caminhos do mestre Salt eAPI estejam no arquivo
/etc/salt/master.d/raas.conf
. - Verifique a seção
engines
em/etc/salt/master.d/raas.conf
para confirmar que ela corresponde ao seguinte:engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {}
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
. - Se você estiver usando a autenticação de chave salt-master (recomendada), certifique-se de que
sseapi_username
esseapi_password
estejam assinalados como comentário em/etc/salt/master.d/raas.conf
.#sseapi_username: #sseapi_password:
- Verifique se as entradas
master_job_cache
eevent_return
estão definidas comosseapi
. O retornadorpgjsonb
não está mais disponível. - Inicie o serviço
salt-master
com o seguinte comando:sudo systemctl start salt-master
- Verifique se o Mestre Salt está em execução como "raiz" do usuário e não como "salt" do usuário. Caso contrário, modifique o arquivo /etc/salt/master.d/raas.conf para alterar o usuário para raiz:
user: root
.
O processo de upgrade está agora concluído. Se você encontrar outros erros, consulte Solução de problemas.