Observação:
- Este tutorial está disponível em um ambiente de laboratório gratuito fornecido pela Oracle.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Atualizar o Oracle Linux Automation Manager
Introdução
Os administradores existentes do Oracle Linux Automation Manager estão familiarizados com sua implantação de instância única completa.
O Oracle Linux Automation Manager permite que os administradores façam upgrade de suas implantações existentes e, posteriormente, migrem a instância atualizada para uma implantação clusterizada. Ao fazer upgrade, a instância se converte em uma implantação de host único e se configura como um nó híbrido.
Após seguir este tutorial, você saberá como atualizar o Oracle Linux Automation Manager de uma versão anterior.
Objetivos
Neste tutorial, você aprenderá a:
- Atualizar o Oracle Linux Automation Manager
Pré-requisitos
-
Um sistema com uma versão anterior do Oracle Linux Automation Manager instalada.
Para obter detalhes sobre como instalar o Oracle Linux Automation Manager, consulte Instalando o Oracle Linux Automation Manager no Oracle Linux.
Implantar o Oracle Linux Automation Manager
Observação: Se estiver em execução em sua própria tenancy, leia o projeto linux-virt-labs
GitHub README.md e conclua os pré-requisitos antes de implantar o ambiente de laboratório.
-
Abra um terminal no Luna Desktop.
-
Clone o projeto
linux-virt-labs
GitHub.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
Altere para o diretório de trabalho.
cd linux-virt-labs/olam
-
Instale as coleções necessárias.
ansible-galaxy collection install -r requirements.yml
-
Atualize a configuração da instância do Oracle Linux.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" passwordless_ssh: true olam_type: v1 EOF
-
Implante o ambiente de laboratório.
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
O ambiente de laboratório gratuito requer a variável extra
ansible_python_interpreter
porque instala o pacote RPM do SDK para Python do Oracle Cloud Infrastructure. O local para a instalação deste pacote está sob os módulos python3.6.A forma de implantação padrão usa a CPU AMD e o Oracle Linux 8. Para usar uma CPU Intel ou Oracle Linux 9, adicione
-e instance_shape="VM.Standard3.Flex"
ou-e os_version="9"
ao comando de implantação.Importante: Aguarde a execução bem-sucedida do playbook e atinja a tarefa de pausa. A instalação do Oracle Linux Automation Manager está concluída neste estágio do manual e as instâncias estão prontas. Tome nota da reprodução anterior, que imprime os endereços IP públicos e privados dos nós que implanta.
Faça log-in no WebUI
-
Abra um terminal e configure um túnel SSH para o Oracle Linux Automation Manager.
ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
No ambiente de laboratório gratuito, use o endereço IP externo da instância do nó olam.
-
Abra um navegador da Web e insira o URL.
https://localhost:8444
Observação: aprove o aviso de segurança com base no navegador usado. Clique no botão **Avançado do Chrome e, em seguida, no link Prosseguir para o localhost (inseguro).
-
Faça log-in no Oracle Linux Automation Manager com o NOME DE USUÁRIO
admin
e a SENHAadmin
criados durante a implantação automatizada. -
Após o log-in, o WebUI é exibido.
Executar o Upgrade
-
Alterne para o terminal conectado à instância do olam-node que executa a instância do Oracle Linux Automation Manager.
-
Interrompa o serviço Oracle Linux Automation Manager.
sudo systemctl stop ol-automation-manager
-
Crie um backup da chave secreta usada pelo Oracle Linux Automation Manager para criptografar segredos de automação no banco de dados.
sudo cp /etc/tower/SECRET_KEY ~/SECRET_KEY.olamv1
-
Crie um backup do banco de dados.
Este comando despeja o conteúdo do banco de dados em um arquivo contendo todos os comandos SQL e dados necessários para restaurar o banco de dados.
sudo su - postgres -c pg_dumpall > /tmp/olamv1_db_dump
-
Interrompa o serviço de banco de dados.
sudo systemctl stop postgresql
-
Remova os arquivos de dados do banco de dados existentes.
sudo rm -rf /var/lib/pgsql/data
Este comando remove os arquivos de dados do banco de dados existentes. O banco de dados é recriado posteriormente usando o arquivo de dump.
-
Desinstale o pacote de banco de dados atual.
sudo dnf -y remove postgresql
-
Ative o fluxo de módulos para a nova versão do banco de dados.
O Oracle Linux Automation Manager permite usar PostgreSQL 12 e 13 durante o upgrade. Este laboratório usa a versão 13.
sudo dnf -y module reset postgresql sudo dnf -y module enable postgresql:13
-
Atualize o pacote de repositórios do Oracle Linux Automation Manager.
sudo dnf -y update oraclelinux-automation-manager-release-el8
Observação: Esta etapa reportará que não há nada a fazer no ambiente de laboratório gratuito, pois a implantação inicial já instalou o pacote de repositórios mais recente do Oracle Linux Automation Manager.
-
Desative todos os repositórios do Oracle Linux Automation Manager.
sudo dnf config-manager --disable ol8_automation ol8_automation2 ol8_automation2.2
-
Atualize os pacotes do Oracle Linux Automation Manager para a Versão 2.
sudo dnf -y install ol-automation-manager --enablerepo ol8_automation2
-
Ative o repositório atual.
sudo dnf config-manager --enable ol8_automation2.2
-
Atualize o pacote do Oracle Linux Automation Manager.
sudo dnf -y update ol-automation-manager
Observação: As mensagens esperadas a seguir são exibidas na saída durante o upgrade.
Upgrading : ol-automation-manager-2.1.0-10.el8.x86_64 26/28 warning: /etc/tower/settings.py created as /etc/tower/settings.py.rpmnew Running scriptlet: ol-automation-manager-2.1.0-10.el8.x86_64 26/28 ValueError: File context for /var/run/tower(/.*)? already defined
-
Instale o servidor de banco de dados.
sudo dnf -y install postgresql-server
-
Inicialize, depois inicie e restaure o banco de dados.
sudo postgresql-setup --initdb sudo systemctl start postgresql sudo su - postgres -c 'psql -d postgres -f /tmp/olamv1_db_dump'
-
Confirme se o banco de dados está disponível.
sudo su - postgres -c 'psql -l | grep awx'
Exemplo de Saída:
[oracle@control-node ~]$ sudo su - postgres -c 'psql -l | grep awx' awx | awx | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
A saída exibe a conta
awx
criada no banco de dados após a execução da restauração usando o arquivo de dump. -
Substitua o arquivo de definições globais padrão do Oracle Linux Automation Manager.
Após a atualização do pacote do Oracle Linux Automation Manager, o novo rpm cria um arquivo de configuração padrão com uma extensão
.rpmnew
. Esse processo permite que os administradores do sistema verifiquem as diferenças de configuração e migrem manualmente as alterações necessárias.sudo mv /etc/tower/settings.py /etc/tower/settings.py.save sudo mv /etc/tower/settings.py.rpmnew /etc/tower/settings.py
-
Exiba as diferenças entre os arquivos de definições globais novos e antigos.
sudo diff /etc/tower/settings.py /etc/tower/settings.py.save
Observação: Qualquer definição personalizada adicionada anteriormente ao arquivo
settings.py
deve ser definida em WebUI ou movida para um arquivo em/etc/tower/conf.d
. -
Crie um arquivo de definições personalizadas contendo as definições necessárias.
cat << EOF | sudo tee /etc/tower/conf.d/olamv2.py > /dev/null CLUSTER_HOST_ID = '$(hostname -i)' DEFAULT_EXECUTION_QUEUE_NAME = 'tower' DEFAULT_CONTROL_PLANE_QUEUE_NAME = 'tower' EOF
Esse comando define a definição
CLUSTER_HOST_ID
como o endereço IP do sistema e os nomes de fila padrão como o nome padrão da versão pré-atualizadatower
. Os valores inseridos nos arquivos de configuração precisam seguir o formato de sintaxe Python.Observação: ao fazer upgrade do Oracle Linux Automation Manager, o valor
CLUSTER_HOST_ID
precisa corresponder ao valor da instalação anterior para evitar que Jobs fique preso em um status pendente após o upgrade. O nome da fila padrão na Versão 1 étower
, enquanto na Versão 2, édefault
. -
Atualize o arquivo de configuração do Receptor.
A malha do Receptor é uma rede de sobreposição que cria conexões ponto a ponto entre controladores e executores para lidar com a distribuição do trabalho.
sudo sed -i "s/0.0.0.0/$(hostname -i)/" /etc/receptor/receptor.conf
-
Verifique o arquivo de configuração do Receptor.
sudo cat /etc/receptor/receptor.conf
id:
é o nome do host ou o endereço IP do sistema Oracle Linux Automation Manager.port:
é a porta de escuta TCP para a malha do Receptor, que assume como padrão a porta TCP 27199.
-
Implante o Oracle Linux Automation Manager.
-
Abra um shell como o usuário
awx
.sudo su -l awx -s /bin/bash
-
Migre qualquer contêiner existente para a versão mais recente do podman, mantendo os namespaces não privilegiados ativos.
podman system migrate
-
Obtenha o ambiente de execução do Oracle Linux Automation Engine para o Oracle Linux Automation Manager.
podman pull container-registry.oracle.com/oracle_linux_automation_manager/olam-ee:2.2
-
Use o utilitário
awx-manage
para configurar a instância do Oracle Linux Automation Manager.awx-manage makemigrations --merge awx-manage migrate awx-manage register_default_execution_environments exit
-
-
Restaure o backup do arquivo de chave secreta.
sudo cp ~/SECRET_KEY.olamv1 /etc/tower/SECRET_KEY
-
Anexe o parâmetro a seguir ao arquivo de definições do Oracle Linux Automation Manager.
cat << EOF | sudo tee -a /etc/tower/conf.d/olamv2.py > /dev/null # OLAM Reaper Job Status Tracking REAPER_TIMEOUT_SEC = 60 EOF
-
Substitua a configuração padrão para NGINX.
cat << EOF | sudo tee /etc/nginx/nginx.conf > /dev/null user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; } EOF
-
Atualize os parâmetros de ajuste do banco de dados.
sudo sed -i 's/max_connections = [0-9]\+/max_connections = 1024/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/shared_buffers = [0-9]\+MB/shared_buffers = 5400MB/' /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(work_mem = \)[0-9]\+MB/\1'540MB/ /var/lib/pgsql/data/postgresql.conf
sudo sed -i 's/#\(maintenance_work_mem = \)[0-9]\+MB/\1'720MB/ /var/lib/pgsql/data/postgresql.conf
-
Reinicie o banco de dados.
sudo systemctl restart postgresql
-
Reinicie o NGINX.
sudo systemctl restart nginx
-
Inicie o Oracle Linux Automation Manager.
sudo systemctl start ol-automation-manager
Verifique o Upgrade
-
Atualize a janela do Web browser usada para exibir o WebUI anterior ou abra uma nova janela do Web browser e informe o URL.
https://localhost:8444
A porta usada no URL precisa corresponder à porta local do túnel SSH.
-
Faça log-in no Oracle Linux Automation Manager novamente com o Nome do Usuário
admin
e a Senhaadmin
. -
Após o log-in, o WebUI é exibido.
Próximas Etapas
O upgrade foi concluído e os jobs estão prontos para execução. Para saber mais sobre o Oracle Linux Automation Manager, confira a documentação e continue desenvolvendo suas habilidades verificando nosso outro treinamento do Oracle Linux Automation Manager na Estação de Treinamento Oracle Linux.
Links Relacionados
Documentação do Oracle Linux Automation Manager
Treinamento do Oracle Linux Automation Manager
Estação de Treinamento do Oracle Linux
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.