Observação:

Usar Nós Hop no Oracle Linux Automation Manager

Introdução

O Oracle Linux Automation Manager suporta uma tecnologia de malha de serviços baseada no projeto de receptor upstream. A malha de serviço vincula os nós controlador, hop e execução em uma rede de sobreposição por meio de uma aplicação de receptor baseada em daemon.

O Oracle Linux Automation Manager apresenta o nó hop como parte da malha de serviços. Esse tipo de nó permite que tarefas sejam retransmitidas de nós de plano de controle para nós de execução em redes remotas ou restritas da mesma forma que o SSH usa um jump host. Essa implementação permite que os jobs sejam executados em diferentes nós de execução e aproximem as tarefas dos sistemas que precisam de automação.

O inventário de amostra abaixo define uma implantação de cluster com vários nós no ambiente de laboratório gratuito. Para ajudar a automatizar a instalação do cluster em seu hardware, confira o manual na seção Oracle Linux Automation Manager do projeto ansible-playbooks.

Este inventário de amostra cria um cluster que consiste em dois nós de plano de controle, dois nós de execução, um nó de salto com um único nó de execução remota e um banco de dados remoto.

playbook-inv

Esta imagem mostra a topologia da malha de serviços deste cluster.

local-remoto-exec-config

Este tutorial mostra vários métodos para verificar o status de uma malha de serviços e confirmar a comunicação de topologia entre os vários nós.

Objetivos

Neste tutorial, você aprenderá a:

Pré-requisitos

Para obter detalhes sobre como instalar o Oracle Linux Automation Manager, consulte o Oracle Linux Automation Manager Installation Guide.

Implantar Instâncias do 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: "olam-control-01"
        type: "control"
      2:
        instance_name: "olam-control-02"
        type: "control"
      3:
        instance_name: "olam-execution-01"
        type: "execution"
      4:
        instance_name: "olam-execution-02"
        type: "execution"       
      5:
        instance_name: "olam-remote-execution-01"
        type: "execution"
      6:
        instance_name: "olam-hop-01"
        type: "execution"
      7:
        instance_name: "olam-db"
        type: "db"
    passwordless_ssh: true
    olam_type: none
    add_cluster_ports: 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.

Implantar o Cluster do Oracle Linux Automation Manager

  1. Abra um novo terminal.

  2. Certifique-se de que esteja no diretório olam do projeto linux-virt-labs.

  3. Converter o arquivo de inventário básico.

    Este script de conversão cria um arquivo de inventário compatível com cluster a partir do inventário básico gerado pelo manual de implantação da instância.

    chmod +x convert_ansible_inventory.sh
    ./convert_ansible_inventory.sh hosts > hosts.cluster
    
  4. Execute o playbook de implantação de cluster.

    ansible-playbook -i hosts.cluster deploy_olam_cluster.yml -e ansible_python_interpreter="/usr/bin/python3.6"
    

Faça log-in no WebUI

  1. Abra um terminal e configure um túnel SSH para a instância olam-control-01 do cluster do Oracle Linux Automation Manager.

    ssh -L 8444:localhost:443 oracle@<hostname_or_ip_address>
    
  2. 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).

  3. Faça log-in no Oracle Linux Automation Manager com o NOME DE USUÁRIO admin e a SENHA admin criados durante a implantação automatizada.

    olam2-login

  4. Após o log-in, o WebUI é exibido.

    olam2-webui

Confirmar Grupos de Instâncias no WebUI

Um Grupo de Instâncias permite agrupar instâncias em um cluster com base em políticas. Essas políticas determinam o comportamento do grupo de instâncias e a execução de quais jobs.

  1. Clique em Grupos de Instâncias em Administração no menu de navegação.

    olam2-instance-grp-menu

  2. Verifique a página Grupos de Instâncias.

    olam2-instnace-grp-page

    A página mostra a capacidade com base nas definições da política. Consulte Gerenciando Grupos de Instâncias no capítulo Configurando Recursos da documentação do Guia do Usuário do Oracle Linux Automation Manager para obter mais detalhes sobre essas definições de política.

Visualizar a Topologia do Cluster

  1. Clique em View de Topologia na seção Administração no menu de navegação.

    olam2-top-view-menu

  2. Revise a página View de Topologia.

    olam2-visão superior

    A página mostra um layout gráfico da topologia do cluster contendo cada um de seus nós. A rolagem sobre os nós mostra setas de um nó para outro, indicando sua associação de pares.

Listar Instâncias

Usando o utilitário awx-manage, um administrador pode configurar e listar instâncias associadas aos grupos de instâncias (filas). Um administrador executa essa ação de qualquer um dos nós do plano de controle dentro do cluster.

  1. Alterne para a janela do terminal conectada à instância olam-control-01.

  2. Faça login na conta de usuário do Oracle Linux Automation Manager.

    sudo su -l awx -s /bin/bash
    
  3. Liste as instâncias.

    awx-manage list_instances
    

    Exemplo de Saída:

    [awx@olam-control-01 ~]$ awx-manage list_instances
    [controlplane capacity=594]
    	10.0.0.50 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59"
    	10.0.0.52 capacity=297 node_type=control version=23.7.0 heartbeat="2025-04-26 17:23:59"
    
    [execution capacity=891]
    	10.0.0.57 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:38"
    	10.0.0.59 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59"
    	10.0.0.61 capacity=297 node_type=execution version=23.7.0 heartbeat="2025-04-26 17:23:59"
    
    [ungrouped capacity=0]
    	10.0.0.53 node_type=hop heartbeat="2025-04-26 17:23:32"
    

    A saída mostra as filas controlplane e execution e cada nó associado. Os nós de salto aparecem na fila ungrouped, pois não estão associados a uma fila ativa que contém capacidade.

  4. Desconecte-se do usuário do Oracle Linux Automation Manager.

    exit
    

    Essa ação deverá retornar à conta de usuário oracle na instância olam-control-01.

Mostrar o Status da Malha de Serviços

Com a malha de serviços em execução, é possível obter o status da malha de serviços e dos nós associados.

  1. Obtenha o status da malha de serviços.

    sudo receptorctl  --socket /var/run/receptor/receptor.sock status
    

    Exemplo de Saída:

    [oracle@olam-control-01 ~]$ sudo receptorctl  --socket /var/run/receptor/receptor.sock status
    Node ID: 10.0.0.50
    Version: 1.4.2
    System CPU Count: 4
    System Memory MiB: 31804
    
    Connection   Cost
    10.0.0.59    1
    10.0.0.61    1
    10.0.0.53    1
    
    Known Node   Known Connections
    10.0.0.50    10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 
    10.0.0.52    10.0.0.53: 1 10.0.0.59: 1 10.0.0.61: 1 
    10.0.0.53    10.0.0.50: 1 10.0.0.52: 1 10.0.0.57: 1 
    10.0.0.57    10.0.0.53: 1 
    10.0.0.59    10.0.0.50: 1 10.0.0.52: 1 
    10.0.0.61    10.0.0.50: 1 10.0.0.52: 1 
    
    Route        Via
    10.0.0.52    10.0.0.53
    10.0.0.53    10.0.0.53
    10.0.0.57    10.0.0.53
    10.0.0.59    10.0.0.59
    10.0.0.61    10.0.0.61
    
    Node         Service   Type       Last Seen             Tags
    10.0.0.50    control   Stream     2025-04-26 17:29:26   {'type': 'Control Service'}
    10.0.0.52    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.61    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.59    control   Stream     2025-04-26 17:28:54   {'type': 'Control Service'}
    10.0.0.53    control   Stream     2025-04-26 17:28:32   {'type': 'Control Service'}
    10.0.0.57    control   Stream     2025-04-26 17:28:33   {'type': 'Control Service'}
    
    Node         Work Types
    10.0.0.50    local
    10.0.0.52    local
    10.0.0.61    ansible-runner
    10.0.0.59    ansible-runner
    10.0.0.53    local
    10.0.0.57    ansible-runner
    

    O comando receptorctl é a CLI front-end que interage com a malha de serviços em sua interface de soquete de controle. A passagem de --help para o comando receptorctl mostra as opções da CLI e comandos diferentes.

  2. Execute um rastreamento do nó do plano de controle para o nó de execução remota.

    sudo receptorctl  --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
    

    Exemplo de Saída:

    [oracle@olam-control-01 ~]$ sudo receptorctl  --socket /var/run/receptor/receptor.sock traceroute $(ssh olam-remote-execution-01 hostname -i)
    0: 10.0.0.50 in 282.074µs
    1: 10.0.0.53 in 817.948µs
    2: 10.0.0.57 in 817.226µs
    

    Observação: Se você vir caracteres especiais na saída que não são renderizados, alterne a codificação na janela do terminal para UTF-8 clicando em Terminal > Definir Codificação > Unicode no menu.

    No exemplo acima, a rota começa no primeiro nó do plano de controle, passa pelo nó de salto e pousa no nó de execução remota.

Verifique o Status da Malha de Serviços em WebUI

A API do Oracle Linux Automation Manager usa uma chamada de API rest que permite a um administrador exibir as informações de status sobre cada nó no cluster da malha de serviços.

  1. Alterne para uma janela do navegador no ambiente de laboratório gratuito e digite o URL.

    https://localhost:8444/api/login/
    

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

  2. Faça log-in na API REST do Oracle Linux Automation Manager. Use o Nome de Usuário admin e a Senha admin criados durante a implantação automatizada.

    olam2-restapi-login

  3. A API REST é exibida após um log-in bem-sucedido.

    olam2-restapi

  4. Clique em um dos hiperlinks /api/v2/ na área de resposta.

    O clique executa uma solicitação GET e exibe todos os recursos de API disponíveis.

  5. Role para a parte inferior e clique no link mesh_visualizer.

    olam2-visualizador de malha

  6. Examine a saída.

    Observe os diferentes nós e seu node_type específico. A seção links mostra como cada nó se associa na malha de serviços.

Próximas Etapas

As várias saídas mostram um cluster em execução com nós de salto e execução para executar playbooks usando o Oracle Linux Automation Manager. Agora, execute alguns playbooks e obtenha prática adicional verificando nossos outros tutoriais na Estação de Treinamento do Oracle Linux.

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.