Observação:

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:

Pré-requisitos

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.

  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"
    passwordless_ssh: true
    use_olam_builder: true
    use_devops_vnc: true
    add_pah_ports: true
    olam_type: none
    EOF
    
  6. 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
    
  7. 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

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

    ssh oracle@<ip_address_of_instance>
    
  2. 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
    
  3. 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.

  1. 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
    
  2. Altere para o diretório de trabalho.

    cd ~/single_node
    
  3. 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 usa hub 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.

  4. 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. Digite i para entrar no modo INSERT 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.

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

  6. 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 pares key=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).

  1. Saia da sessão SSH existente.

    exit
    
  2. 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>
    
  3. Alterne para o Luna Desktop.

  4. Abra o Visualizador TigerVNC clicando no menu Aplicativos, Internet e TigerVNC Visualizador.

    vnc-menu

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

    vnc-login

  6. Informe a senha do usuário oracle do oracle e pressione o botão OK.

    vnc-pwd

  7. A área de trabalho GUI do servidor é exibida com uma configuração de login pela primeira vez.

    gui-bem-vindo

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

    iniciar usando-ol

Conecte-se ao Private Automation Hub

  1. 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 link Proceed to localhost (unsafe).

  2. Faça login na interface do usuário Web do Private Automation Hub.

    Use o Nome de Usuário admin e a Senha password. Essa senha é o valor que definimos para olpah_admin_password no arquivo de variáveis de runtime.

    pah-login

  3. A UI da Web é exibida após um log-in bem-sucedido.

    pah-webui

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.

  1. Clique em Registros Remotos na IU da Web em Ambientes de Execução no menu de navegação.

  2. Clique no botão Adicionar registro remoto.

  3. Informe os seguintes valores nos campos específicos.

    • Nome: Quay Upstream Registry
    • URL: https://quay.io
  4. Clique no botão Salvar.

    O registro remoto recém-criado aparece no painel Registros Remotos.

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

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

  7. 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
  8. Clique no botão Salvar.

    O ambiente de execução recém-criado aparece no painel Ambientes de Execução.

  9. Sincronize o ambiente de execução upstream/awx-ee do registro remoto.

    1. Clique no menu vertical de três pontos à direita do item upstream/awx-ee.

    2. Selecione Sincronizar do registro

      Uma caixa de diálogo pop-up é exibida, informando que a sincronização foi iniciada.

    3. Clique no link página de detalhes na caixa de diálogo pop-up para ver o status dessa tarefa.

    4. A tarefa mostra um ícone Concluído.

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

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

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

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

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

  3. Listar imagens locais existentes.

    podman images
    

    A saída exibe nossas imagens personalizadas e as imagens olam-ee e olam-builder padrão do Oracle Linux Automation Manager.

  4. 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êiner
    • ol-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ário admin do Private Automation Hub.

  5. 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
    
  6. 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
    
  7. Faça upload da imagem personalizada para o Private Automation Hub.

    Observação: Substitua <IMAGE ID> pelo ID da imagem real do my_first_olam_ee_image da saída podman images.

    podman push --tls-verify=0 <IMAGE ID> ol-pah.$(hostname -d)/my_first_olam_ee_image:latest
    
  8. Confirme o upload na IU da Web.

    1. Alterne para o navegador que contém a IU da Web do Private Automation Hub.

    2. Navegue até Ambientes de Execução.

    3. Observe o novo my_first_olam_ee_image.

      pah-ee

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.

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.