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.
Gerenciar Ambientes de Execução no Oracle Linux Automation Manager Private Automation Hub
Introdução
O Private Automation Hub é um repositório do Oracle Linux Automation Manager para gerenciar coleções, imagens do ambiente de execução e outros conteúdos selecionados localmente na infraestrutura de um cliente.
Este tutorial mostra como instalar o Private Automation Hub e fazer upload de um ambiente de execução personalizado para seu registro de contêiner. Para obter detalhes sobre como criar ambientes de execução personalizados, consulte nosso tutorial no utilitário Builder.
Objetivos
Neste tutorial, você aprenderá a:
- Variáveis de senha segura com
ansible-vault
- Instalar o Private Automation Hub usando variáveis
- Fazer upload de um ambiente de execução personalizado para o registro do Private Automation Hub
Pré-requisitos
- Dois sistemas executando o Oracle Linux
- Um para instalar o Private Automation Hub
- Outro para executar o utilitário Builder e atuar como um cliente para o Private Automation Hub
Implantar o Oracle Linux
Observação: Se estiver em execução na 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: "devops-node" type: "server" 2: instance_name: "ol-pah" type: "server" passwordless_ssh: true use_olam_builder: true use_devops_vnc: true add_pah_ports: true olam_type: none EOF
-
Crie um arquivo de inventário.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
Implante o ambiente de laboratório.
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
O ambiente de laboratório gratuito requer a variável extra
ansible_python_interpreter
para localhost porque instala o pacote RPM para o Oracle Cloud Infrastructure SDK para Python. O local para instalar este pacote está nos módulos Python padrão do sistema com base na sua versão do Oracle Linux. Usar uma variável de inventário evita impactar as reproduções em execução em hosts diferentes de localhost.A forma de implantação padrão usa a CPU AMD. Você pode alterar a forma das instâncias especificando uma nova definição de variável de forma na linha de comando.
Por exemplo:
-e instance_shape="VM.Standard3.Flex"
Da mesma forma, a versão padrão da imagem do Oracle Linux usa a variável
os_version
definida no arquivo `default_vars.yml. Você pode modificar esse valor especificando a versão principal do Oracle Linux na linha de comando.Por exemplo:
-e os_version="9"
Importante: Aguarde a execução bem-sucedida do playbook e atinja a tarefa de pausa. Neste estágio do playbook, a instalação do Oracle Linux está concluída e as instâncias estão prontas. Observe o jogo anterior, que imprime os endereços IP públicos e privados dos nós que ele implanta.
Instalar os Pacotes do Private Automation Hub
-
Abra um terminal e conecte-se via SSH à instância do ol-pah.
ssh oracle@<ip_address_of_instance>
-
Instale o repositório do Oracle Linux Automation Manager.
Oracle Linux 8:
sudo dnf install -y oraclelinux-automation-manager-release-el8
Oracle Linux 9:
sudo dnf install -y oraclelinux-automation-manager-release-el9
-
Instale o pacote Private Automation Hub.
sudo dnf install -y ol-private-automation-hub-installer
Esse comando instala os playbooks e funções de instalação do Private Automation Hub,
ansible-core
,python3.11
e outras dependências de pacote.
Instalar o Private Automation Hub
Ao instalar o Private Automation Hub, você deve definir as senhas para a conta de superusuário do Private Automation Hub admin
e seu banco de dados de backend. Em vez de passá-los para o playbook em aberto, vamos executar essa etapa com mais segurança usando ansible-vault
.
O utilitário ansible-vault
, que é fornecido com o Oracle Linux Automation Engine, permite a criptografia e decriptografia de arquivos de dados estruturados, incluindo arquivos de texto, variáveis e playbooks YAML.
Nós criptografaremos um arquivo variável contendo nossas duas senhas para nossos propósitos.
-
Copie o playbook do Private Automation Hub para o diretório de trabalho.
cp -r /usr/share/ansible/collections/ansible_collections/oraclelinux/private_automation_hub/playbooks/single-node/ ~/single_node
-
Altere para o diretório de trabalho.
cd ~/single_node
-
Crie um arquivo de inventário.
O arquivo de inventário deste playbook requer o nome do host e o nome do usuário SSH em que o playbook instalará o Private Automation Hub. Você define o arquivo de inventário no formato INI ou YAML. O exemplo de inventário
hosts.singlenode.example
no manual de instalação usa YAML, portanto, usaremos o formato INI aqui para demonstrar uma opção alternativa.tee hosts > /dev/null <<EOF [hub] ol-pah ansible_host=ol-pah ansible_user=oracle EOF
Diferentemente da amostra que usa
hub
como um alias para ansible_host, este arquivo de inventário INI usahub
como um nome de grupo. Os grupos permitem a criação de relacionamentos pai-filho entre hosts e os categorizam em uma ou mais categorias para executar tarefas ou atribuir variáveis. -
Crie um vault contendo as variáveis de senha.
ansible-vault create vault_passwords.yml
Ao executar o comando, ele solicita que você crie uma senha do vault. O utilitário
ansible-vault
usa essa senha para decriptografar o conteúdo do vault e acessar esse conteúdo de dentro de um playbook. A senha pode ser qualquer combinação de caracteres, mas lembre-se, pois você não pode recuperá-la.Depois que você informar e confirmar a senha, o utilitário abrirá o arquivo
vault_passwords.yml
no editor padrão. Para o ambiente de laboratório gratuito, o editor évi
. Digitei
para entrar no modoINSERT
e cole essas variáveis de senha de amostra do Private Automation Hub.Observação: essas são as variáveis que o playbook usa ao instalar o Private Automation Hub e definir as senhas do superusuário e do banco de dados.
--- olpah_admin_password: password olpah_db_password: password
Feche e salve o arquivo digitando
ESC
,:wq!
e, em seguida,ENTER
. -
Verifique o conteúdo do vault.
ansible-vault view vault_passwords.yml
Informe a senha do vault no prompt e
ansible-vault
exibirá o conteúdo do vault no terminal. -
Execute o manual do Private Automation Hub.
ansible-playbook single-node-install.yml -i hosts -e "@vault_passwords.yml" --ask-vault-pass
-i
define o arquivo de inventário-e
define qualquer variável de runtime como pareskey=value
ou em um arquivo de variáveis--ask-vault-pass
solicita a senha do vault
Há métodos alternativos para fornecer a senha do vault, que você pode revisar na documentação upstream.
Observação: A instalação do Private Automation Hub leva de 10 a 20 minutos. Durante a instalação, o progresso do playbook é rolado no terminal até que todas as tarefas sejam concluídas.
Abrir uma Sessão VNC na Instância DevOps
A Sessão VNC permite que você se conecte à interface do usuário Web do Private Automation Hub usando o nome do host ou o nome de domínio totalmente qualificado (FQDN) dentro do ambiente de laboratório livre. O uso do nome do host ou FQDN é necessário, pois a proteção integrada do Django protege a interface do usuário da Web contra ataques de CSRF (Cross-Site Request Forgery).
-
Saia da sessão SSH existente.
exit
-
Abra um novo terminal e conecte-se à instância de nó de devops via SSH.
A opção
-L
permite o encaminhamento local, que abre uma porta local para estabelecer conexão por meio de um túnel SSH com o servidor VNC remoto.ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>
-
Alterne para o Luna Desktop.
-
Abra o Visualizador TigerVNC clicando no menu Aplicativos, Internet e TigerVNC Visualizador.
-
Faça log-on no ambiente GUI do servidor implantado digitando
localhost:5914
na caixa de texto VNC Server e pressionando o botão Conectar. -
Informe a senha do usuário
oracle
do oracle e pressione o botão OK. -
A área de trabalho GUI do servidor é exibida com uma configuração de login pela primeira vez.
-
Pressione o botão Próximo três vezes, depois o botão Ignorar, seguido pelo botão Iniciar Uso do Oracle Linux Server. Por fim, feche ou minimize a janela Conceitos Básicos.
Conecte-se ao Private Automation Hub
-
Abra um Web browser na sessão VNC e informe o URL.
https://ol-pah
Observação: aprove o aviso de segurança com base no navegador usado. Para Chrome, clique no botão
Advanced
e, em seguida, no linkProceed to localhost (unsafe)
. -
Faça login na interface do usuário Web do Private Automation Hub.
Use o Nome de Usuário
admin
e a Senhapassword
. Essa senha é o valor que definimos paraolpah_admin_password
no arquivo de variáveis de runtime. -
A UI da Web é exibida após um log-in bem-sucedido.
Adicionar Ambiente de Execução Usando a Interface do Usuário da Web
Um dos itens que o Private Automation Hub gerencia são os ambientes de execução. Esse recurso permite que o Private Automation Hub sirva como um repositório para imagens de contêiner, permitindo que os administradores interajam com eles usando o Podman e a IU da Web.
-
Clique em Registros Remotos na IU da Web em Ambientes de Execução no menu de navegação.
-
Clique no botão Adicionar registro remoto.
-
Informe os seguintes valores nos campos específicos.
- Nome:
Quay Upstream Registry
- URL:
https://quay.io
- Nome:
-
Clique no botão Salvar.
O registro remoto recém-criado aparece no painel Registros Remotos.
-
Clique em Ambientes de Execução em Ambientes de Execução no menu de navegação.
-
Clique no botão Adicionar ambiente de execução.
A IU da Web exibe a caixa de diálogo Adicionar ambiente de execução. Podemos extrair imagens de contêiner do upstream ou de outros registros por meio desta caixa de diálogo.
-
Informe ou selecione os valores a seguir nos campos específicos.
- Nome:
upstream/awx-ee
- Nome do Upstream:
ansible/awx-ee
- Registro: Registro Upstream do Quay
- Adicionar tag(s) a incluir: Digite
latest
e, em seguida,ENTER
- Nome:
-
Clique no botão Salvar.
O ambiente de execução recém-criado aparece no painel Ambientes de Execução.
-
Sincronize o ambiente de execução upstream/awx-ee do registro remoto.
-
Clique no menu vertical de três pontos à direita do item upstream/awx-ee.
-
Selecione Sincronizar do registro
Uma caixa de diálogo pop-up é exibida, informando que a sincronização foi iniciada.
-
Clique no link página de detalhes na caixa de diálogo pop-up para ver o status dessa tarefa.
-
A tarefa mostra um ícone Concluído.
-
Clique em Ambientes de Execução em Ambientes de Execução no menu de navegação.
-
Clique no link upstream/awx-ee no painel Ambientes de Execução.
Este link exibe as instruções para extrair essa imagem do Private Automation Hub na guia Detalhes.
-
Clique na guia Imagens.
Este painel exibe mais detalhes sobre a imagem, incluindo sua tag, tamanho e sha256 compilação.
-
Ambiente de Execução Push Usando Podman
-
Abra um terminal e conecte-se via SSH à instância de nó de devops.
ssh oracle@<ip_address_of_instance>
Esta instância contém uma instalação do utilitário Builder e um ambiente de execução personalizado pré-criado. Para obter detalhes sobre como executar essas tarefas, consulte Criar Ambientes de Execução Personalizados com o Utilitário Oracle Linux Automation Manager Builder.
-
Altere para o diretório de trabalho do projeto.
cd ~/my_custom_ee_project
Esse diretório contém os arquivos de dados do utilitário Builder, que o Podman usa para criar a imagem do ambiente de execução personalizado.
-
Listar imagens locais existentes.
podman images
A saída exibe nossas imagens personalizadas e as imagens
olam-ee
eolam-builder
padrão do Oracle Linux Automation Manager. -
Faça login no Private Automation Hub.
podman login -u admin https://ol-pah.$(hostname -d) --tls-verify=0
-u
é um usuário com privilégios para acessar o registro do contêinerol-pah.$(hostname -d)
é o FQDN do registro do contêiner--tls-verify=0
desativa a verificação de certificado TLS porque o ambiente de laboratório livre usa certificados autoassinados
O comando solicita um
Password:
. Informe a senha correspondente às credenciais de log-in do usuárioadmin
do Private Automation Hub. -
Marque a imagem personalizada local.
Antes de enviar a imagem para o registro do Private Automation Hub, crie a estrutura de repositório e a tag necessárias usando a imagem local.
podman tag localhost/my_custom_ee ol-pah.$(hostname -d)/my_first_olam_ee_image
-
Verifique se a nova imagem marcada existe.
podman images
Exemplo de Saída:
[oracle@devops-node my_custom_ee_project]$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/my_custom_ee latest fbc43634b168 5 hours ago 2.29 GB ol-pah.lv.vcn5ef1c2b6.oraclevcn.com/my_first_olam_ee_image latest fbc43634b168 5 hours ago 2.29 GB <none> <none> 92aa94db3699 5 hours ago 1.4 GB <none> <none> cc087fbfa018 5 hours ago 1.45 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-ee latest 368657c8376d 5 weeks ago 1.25 GB container-registry.oracle.com/oracle_linux_automation_manager/olam-builder latest 5e98580f7956 5 weeks ago 546 MB
-
Faça upload da imagem personalizada para o Private Automation Hub.
Observação: Substitua
<IMAGE ID>
pelo ID da imagem real domy_first_olam_ee_image
da saídapodman images
.podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
-
Confirme o upload na IU da Web.
-
Alterne para o navegador que contém a IU da Web do Private Automation Hub.
-
Navegue até Ambientes de Execução.
-
Observe o novo my_first_olam_ee_image.
-
Próximas Etapas
A saída na IU da Web confirma que você tem um Private Automation Hub funcional e a capacidade de fazer upload e armazenar suas imagens personalizadas. Confira nossos outros tutoriais usando o Oracle Linux Automation Manager para praticar suas habilidades.
Links Relacionados
- Documentação do Oracle Linux Automation Manager
- Treinamento do Oracle Linux Automation Manager
- Oracle Linux Training Station
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Manage Execution Environments in Oracle Linux Automation Manager Private Automation Hub
G39669-01
Copyright ©2023, Oracle and/or its affiliates.