Observação:

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:

Pré-requisitos

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.

  1. Abra um terminal no Luna Desktop.

  2. Clone o projeto linux-virt-labs GitHub.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. Altere para o diretório de trabalho.

    cd linux-virt-labs/olam
    
  4. Instale as coleções necessárias.

    ansible-galaxy collection install -r requirements.yml
    
  5. 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
    
  6. 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.

  1. Abra um terminal e conecte-se via SSH à instância do devops-node.

    ssh oracle@<ip_address_of_instance>
    
  2. Instale o Oracle Linux Automation Engine.

    sudo dnf install ansible-core -y
    
  3. Instale as coleções necessárias.

    ansible-galaxy collection install containers.podman
    
  4. 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
    
  5. 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

  1. Abra um novo terminal no Luna Desktop.

  2. Configure um túnel SSH para o Private Automation Hub.

    ssh -L 5444:localhost:443 oracle@<ip_address_of_ol-pah>
    
  3. 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 link Proceed to localhost (unsafe).

  4. Faça log-in no Private Automation Hub WebUI.

    Use o Nome de Usuário admin e a Senha password. O ambiente de laboratório gratuito define esse valor de senha durante a implantação do laboratório.

    log-in de pah

  5. O WebUI é exibido após um log-in bem-sucedido.

    pah-webui

  6. Clique no menu de navegação no canto superior esquerdo do Private Automation Hub WebUI.

  7. Navegue até Ambientes de Execução e Ambientes de Execução.

  8. Observe que o novo my_first_olam_ee_image é exibido no painel principal.

    pah-ee-2

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.

  1. Alterne ou abra um terminal e conecte-se via ssh à instância do devops-node.

  2. Crie um diretório de projeto e altere o diretório de trabalho para ele.

    mkdir ~/project1
    cd ~/project1
    
  3. 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
    
  4. 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
    
  5. Criar um arquivo de inventário.

    tee hosts > /dev/null <<EOF
    [olam]
    olam-node
    EOF
    
  6. 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

  1. Abra um novo terminal no Luna Desktop.

  2. 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.

  3. 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).

  4. Faça login no Oracle Linux Automation Manager WebUI.

    Use o Nome de Usuário admin e a Senha admin. O ambiente de laboratório gratuito define esse valor de senha durante a implantação do laboratório.

    olam2-login

  5. O WebUI é exibido após um log-in bem-sucedido.

    olam2-webui

Adicionar uma Credencial do Container Registry

  1. Clique em Credenciais em Recursos no menu de navegação.

  2. Clique no botão Adicionar no painel principal.

  3. 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.

  4. Verifique as entradas e clique no botão Salvar.

    olam2-registro de credenciais

Adicionar um Ambiente de Execução

  1. Clique em Ambientes de Execução em Administração no menu de navegação.

  2. Clique no botão Adicionar no painel principal.

  3. 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
  4. Verifique as entradas e clique no botão Salvar.

    olam2-personalizado

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

  1. Clique em Equipamentos em Recursos no menu de navegação.

  2. Clique no botão Adicionar no painel principal e selecione Adicionar equipamento na lista de valores.

  3. Informe o seguinte valor no campo específico.

    • Nome: Oracle Linux Hosts
  4. Verifique a entrada e clique no botão Salvar.

    olam2-inv-detalhe

Adicione um Host

  1. Clique na guia Hosts no painel Detalhes do Inventário de Hosts do Oracle Linux.

  2. Clique no botão Adicionar.

  3. Informe o nome do host devops-node no campo Nome

  4. Verifique a entrada e clique no botão Salvar.

Adicionar uma Credencial de Máquina

  1. Clique em Credenciais em Recursos no menu de navegação.

  2. Clique no botão Adicionar no painel principal.

  3. 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.

  4. Verifique as entradas, role até o fim da página e clique no botão Salvar.

    olam2-máquina de credenciais

Criar um Novo Projeto

  1. Clique em Projetos em Recursos no menu de navegação.

  2. Clique no botão Adicionar no painel principal.

  3. 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
  4. Verifique as entradas e clique no botão Salvar.

    olam2-detalhe do projeto

Adicionar um modelo de trabalho

  1. Clique em Modelos em Recursos no menu de navegação.

  2. Clique no botão Adicionar no painel principal e selecione Adicionar modelo de job na lista de valores.

  3. 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
  4. Verifique as entradas, role até o fim da página e clique no botão Salvar.

    olam2-temp-detail

Executar o Modelo

  1. Clique em Modelos em Recursos no menu de navegação.

  2. 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.

olam2-falha no job

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.

  1. Alterne ou abra um terminal e conecte-se via ssh à instância do devops-node.

  2. Altere para o diretório personalizado do projeto ee.

    cd ~/my_custom_ee_project
    
  3. Adicione a coleção ausente ao arquivo de requisitos do Ansible Galaxy.

    tee -a requirements.yml > /dev/null <<EOF
    - name: containers.podman
    EOF
    
  4. Recrie a imagem.

    ansible-builder build --tag my_custom_ee -v 3
    
  5. Envie a nova imagem para o Private Automation Hub.

    cd ~
    ansible-playbook push-image.yml
    
  6. 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.

    pah-ee-modificar

Testar o Novo Ambiente de Execução Personalizada

  1. Alterne o navegador para o Oracle Linux Automation Manager WebUI.

    Atualize a janela do navegador e faça logon novamente, se necessário.

  2. Clique em Ambientes de Execução em Administração no menu de navegação.

  3. Clique no ícone Editar Ambiente de Execução na coluna Ações ao lado do link de imagem Meu EE Personalizado.

  4. Altere o valor Extrair para Sempre extrair contêiner antes de executar.

    Este campo ativa a opção --pull para podman. 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.

  5. Verifique as alterações e clique no botão Salvar.

  6. Clique em Jobs em Views no menu de navegação.

  7. 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.

    olam2-job-success

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.

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.