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.
Usar Ambientes de Execução Personalizados com o Oracle Linux Automation Manager
Introdução
Usando um ambiente de execução personalizado (ee), o Oracle Linux Automation Manager pode aproveitar playbooks que contêm coleções e outros recursos não disponíveis com a imagem olam-ee padrão. Você o cria usando o utilitário Builder, o armazena no Private Automation Hub e, em seguida, o extrai para o Oracle Linux Automation Manager.
Como é que tudo isso funciona em conjunto?
Este tutorial mostra como fazer upload de uma imagem predefinida para o Private Automation Hub e, em seguida, extraí-la para o Oracle Linux Automation Manager para executar playbooks. Para obter detalhes sobre como criar ambientes de execução personalizados, consulte nosso tutorial no utilitário Builder e este tutorial no Private Automation Hub.
Objetivos
Neste tutorial, você aprenderá a:
- Envie um ee personalizado para o Private Automation Hub usando um manual
- Adicionar um ee personalizado ao Oracle Linux Automation Manager
- Usar o ee personalizado para executar um Job
Pré-requisitos
- Três sistemas executando o Oracle Linux
- Um ambiente de desenvolvimento usando o utilitário Builder
- Um para o Private Automation Hub
- Outro para executar o Oracle Linux Automation Manager
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: "devops-node" type: "server" 2: instance_name: "ol-pah" type: "server" 3: instance_name: "olam-node" type: "control" passwordless_ssh: true use_olam_builder: true use_olam_pah: true 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.
Enviar um Ambiente de Execução Personalizado para o Private Automation Hub
Um método para enviar um ee personalizado para o Private Automation Hub é usar o podman da linha de comando, conforme mostrado no tutorial do Private Automation Hub. Também é possível executar essa tarefa usando um playbook e a coleção containers.podman.
-
Abra um terminal e conecte-se via SSH à instância do devops-node.
ssh oracle@<ip_address_of_instance>
-
Instale o Oracle Linux Automation Engine.
sudo dnf install ansible-core -y
-
Instale as coleções necessárias.
ansible-galaxy collection install containers.podman
-
Crie o playbook para marcar e enviar a imagem personalizada do ee.
tee push-image.yml > /dev/null <<EOF --- - hosts: localhost collections: - containers.podman tasks: - name: get domain_name command: hostname -d register: domain_name - name: output domain_name var debug: msg: "{{domain_name.stdout}}" - name: push image to pah containers.podman.podman_image: name: my_custom_ee push: true push_args: dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest username: admin password: password validate_certs: false EOF
-
Execute o playbook.
ansible-playbook push-image.yml
O playbook é executado em
localhost
e, portanto, não precisa de um arquivo de inventário definido.
Verificar se a Imagem Existe no Private Automation Hub
-
Abra um novo terminal no Luna Desktop.
-
Configure um túnel SSH para o Private Automation Hub.
ssh -L 5444:localhost:443 oracle@<ip_address_of_ol-pah>
-
Abra um navegador da Web e insira o URL.
https://localhost:5444
Observação: aprove o aviso de segurança com base no navegador usado. Para o Chrome, clique no botão
Advanced
e, em seguida, no linkProceed to localhost (unsafe)
. -
Faça log-in no Private Automation Hub WebUI.
Use o Nome de Usuário
admin
e a Senhapassword
. O ambiente de laboratório gratuito define esse valor de senha durante a implantação do laboratório. -
O WebUI é exibido após um log-in bem-sucedido.
-
Clique no menu de navegação no canto superior esquerdo do Private Automation Hub WebUI.
-
Navegue até Ambientes de Execução e Ambientes de Execução.
-
Observe que o novo my_first_olam_ee_image é exibido no painel principal.
Criar um Playbook
Os administradores do Oracle Linux Automation Manager podem criar playbooks localmente no sistema de arquivos, que um Projeto usando o Controle de Origem Manual pode aproveitar. Usaremos o nó DevOps para escrever um manual que envia nosso manual de Projetos para o Oracle Linux Automation Manager usando o Oracle Linux Automation Engine. Essa configuração só funciona em uma instalação de host único do Oracle Linux Automation Manager, pois os playbooks só existem nessa instância.
-
Alterne ou abra um terminal e conecte-se via ssh à instância do devops-node.
-
Crie um diretório de projeto e altere o diretório de trabalho para ele.
mkdir ~/project1 cd ~/project1
-
Criar um modelo.
Este modelo é o arquivo de playbook que gravaremos no sistema de arquivos no servidor do Oracle Linux Automation Manager para recuperar a lista de imagens de contêiner em um host.
mkdir templates tee templates/list-images.yml.j2 > /dev/null <<EOF --- - hosts: all collections: - containers.podman become: yes tasks: - name: gather info on images containers.podman.podman_image_info: register: podman_list become_user: oracle - name: list images debug: msg: "{{ podman_list.images | selectattr('RepoTags') '}}" EOF
-
Crie um manual para enviar este projeto ao Oracle Linux Automation Manager.
tee push-project.yml > /dev/null <<EOF --- - hosts: olam-node become: yes tasks: - name: create project directory ansible.builtin.file: path: /var/lib/awx/projects/podman state: directory become_user: awx - name: create playbook ansible.builtin.template: src: templates/list-images.yml.j2 dest: /var/lib/awx/projects/podman/list-images.yml become_user: awx EOF
-
Criar um arquivo de inventário.
tee hosts > /dev/null <<EOF [olam] olam-node EOF
-
Copie o playbook para o servidor do Oracle Linux Automation Manager.
ansible-playbook -i hosts push-project.yml
Adicionar um Ambiente de Execução Personalizado ao Oracle Linux Automation Manager
Faça log-in no WebUI
-
Abra um novo terminal no Luna Desktop.
-
Configure um túnel SSH para o Oracle Linux Automation Manager.
ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
No ambiente de laboratório gratuito, use o endereço IP da instância olam-node.
-
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. No Chrome, clique no botão Avançado e, em seguida, no link Prosseguir para o localhost (inseguro).
-
Faça login no Oracle Linux Automation Manager WebUI.
Use o Nome de Usuário
admin
e a Senhaadmin
. O ambiente de laboratório gratuito define esse valor de senha durante a implantação do laboratório. -
O WebUI é exibido após um log-in bem-sucedido.
Adicionar uma Credencial do Container Registry
-
Clique em Credenciais em Recursos no menu de navegação.
-
Clique no botão Adicionar no painel principal.
-
Informe ou selecione os valores a seguir nos campos específicos.
Para campos com uma pesquisa ou lista de valores, podemos começar a digitar o valor solicitado e selecioná-lo.
- Nome:
My Private Automation Hub
- Organização:
Default
- Tipo de Credencial: Registro de Contêiner
- URL de Autenticação: o FQDN do Private Automation Hub
- Nome do Usuário:
admin
- Senha ou Token:
password
- Opções: desmarque Verificar SSL
Se você não souber o FQDN do Private Automation Hub, use um terminal para estabelecer conexão com a instância ol-pah e execute
hostname -f
.O Oracle Linux Automation Manager usa as credenciais do Registro de Contêiner para acessar imagens de contêiner no Private Automation Hub. O ambiente de laboratório gratuito requer desmarcar a configuração Verificar SSL devido ao uso de certificados autoassinados.
- Nome:
-
Verifique as entradas e clique no botão Salvar.
Adicionar um Ambiente de Execução
-
Clique em Ambientes de Execução em Administração no menu de navegação.
-
Clique no botão Adicionar no painel principal.
-
Informe ou selecione os valores a seguir nos campos específicos.
Para campos com uma pesquisa ou lista de valores, podemos começar a digitar o valor solicitado e selecioná-lo.
- Nome:
My Custom EE
- Imagem:
<fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
- Credencial de registro: Meu Private Automation Hub
- Nome:
-
Verifique as entradas e clique no botão Salvar.
Testar o Ambiente de Execução
Ao testar o ambiente de execução personalizado, é necessário um Modelo de Job, que inclui um Inventário, Hosts, Credenciais da Máquina e um Projeto.
Adicionar um Equipamento
-
Clique em Equipamentos em Recursos no menu de navegação.
-
Clique no botão Adicionar no painel principal e selecione Adicionar equipamento na lista de valores.
-
Informe o seguinte valor no campo específico.
- Nome:
Oracle Linux Hosts
- Nome:
-
Verifique a entrada e clique no botão Salvar.
Adicione um Host
-
Clique na guia Hosts no painel Detalhes do Inventário de Hosts do Oracle Linux.
-
Clique no botão Adicionar.
-
Informe o nome do host devops-node no campo Nome
-
Verifique a entrada e clique no botão Salvar.
Adicionar uma Credencial de Máquina
-
Clique em Credenciais em Recursos no menu de navegação.
-
Clique no botão Adicionar no painel principal.
-
Informe ou selecione os valores a seguir nos campos específicos.
Para campos com uma pesquisa ou lista de valores, podemos começar a digitar o valor solicitado e selecioná-lo.
- Nome:
Oracle Linux SSH Access
- Organização:
Default
- Tipo de Credencial: Máquina
- Nome do Usuário:
opc
- Chave Privada SSH: selecione a chave id_rsa no diretório ~/.SSH
Uma maneira de obter a Chave Privada SSH é selecionar a opção Procurar para esse campo. Na caixa de diálogo Upload de Arquivo, selecione Home e clique com o botão direito do mouse na janela principal dessa caixa de diálogo. Selecione Mostrar Arquivos Ocultos. Selecione a pasta .ssh e o arquivo id_rsa. Clicar no botão Abrir faz com que o conteúdo do arquivo de chave privada seja copiado para a caixa de diálogo Chave Privada SSH.
- Nome:
-
Verifique as entradas, role até o fim da página e clique no botão Salvar.
Criar um Novo Projeto
-
Clique em Projetos em Recursos no menu de navegação.
-
Clique no botão Adicionar no painel principal.
-
Informe ou selecione os valores a seguir nos campos específicos.
Para campos com uma pesquisa ou lista de valores, podemos começar a digitar o valor solicitado e selecioná-lo.
- Nome:
Container Management
- Ambiente de Execução: Meu EE Personalizado
- Tipo de Credencial de Controle de Origem: Manual
- Diretório do Playbook: podman
- Nome:
-
Verifique as entradas e clique no botão Salvar.
Adicionar um modelo de trabalho
-
Clique em Modelos em Recursos no menu de navegação.
-
Clique no botão Adicionar no painel principal e selecione Adicionar modelo de job na lista de valores.
-
Informe ou selecione os valores a seguir nos campos específicos.
Para campos com uma pesquisa ou lista de valores, podemos começar a digitar o valor solicitado e selecioná-lo.
- Nome:
List Images
- Tipo de Job: Executar
- Inventory: Hosts Oracle Linux
- Projeto: Gerenciamento de Contêineres
- Ambiente de Execução: Meu EE Personalizado
- Playbook: lista-images.yml
- Credenciais: Acesso SSH do Oracle Linux
- Nome:
-
Verifique as entradas, role até o fim da página e clique no botão Salvar.
Executar o Modelo
-
Clique em Modelos em Recursos no menu de navegação.
-
Clique no ícone Iniciar Modelo na coluna Ações ao lado do Modelo de Job Imagens da Lista.
O Job é iniciado e o painel alterna para o resumo de Saída do Job. Depois de alguns minutos, o Job falha.
Essa falha ocorre porque o novo ee personalizado não contém a coleção containers.podman; portanto, a execução do playbook falha.
Corrigir o Ambiente de Execução Personalizada
Para corrigir o ee personalizado, devemos recriar a imagem do contêiner usando o utilitário Builder e, em seguida, enviar a nova imagem para o Private Automation Hub para retirada pelo Oracle Linux Automation Manager.
-
Alterne ou abra um terminal e conecte-se via ssh à instância do devops-node.
-
Altere para o diretório personalizado do projeto ee.
cd ~/my_custom_ee_project
-
Adicione a coleção ausente ao arquivo de requisitos do Ansible Galaxy.
tee -a requirements.yml > /dev/null <<EOF - name: containers.podman EOF
-
Recrie a imagem.
ansible-builder build --tag my_custom_ee -v 3
-
Envie a nova imagem para o Private Automation Hub.
cd ~ ansible-playbook push-image.yml
-
Verifique um envio de imagem bem-sucedido.
Conecte-se ao Private Automation Hub WebUI e revise as alterações do Ambiente de Execução, especificamente a coluna Última modificação do my_first_olam_ee_image.
Testar o Novo Ambiente de Execução Personalizada
-
Alterne o navegador para o Oracle Linux Automation Manager WebUI.
Atualize a janela do navegador e faça logon novamente, se necessário.
-
Clique em Ambientes de Execução em Administração no menu de navegação.
-
Clique no ícone Editar Ambiente de Execução na coluna Ações ao lado do link de imagem Meu EE Personalizado.
-
Altere o valor Extrair para Sempre extrair contêiner antes de executar.
Este campo ativa a opção
--pull
parapodman
. A alteração de definição forçará o Oracle Linux Automation Manager a extrair a imagem mais recente quando suas somas de verificação de camada não corresponderem. -
Verifique as alterações e clique no botão Salvar.
-
Clique em Jobs em Views no menu de navegação.
-
Clique no ícone Reiniciar na coluna Ações ao lado de ... Link Listar Imagens.
Selecione Tudo na lista suspensa de valores.
O Job é iniciado e o painel alterna para o resumo de Saída do Job. Depois de alguns minutos, ele é concluído com sucesso.
Próximas Etapas
A saída dentro do WebUI confirma que você tem um ambiente de execução personalizado em funcionamento no Oracle Linux Automation Manager. Desenvolva suas habilidades e confira 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
- 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 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.
Use Custom Execution Environments with Oracle Linux Automation Manager
G32012-02
Copyright ©2023, Oracle and/or its affiliates.