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_devops_vnc: true use_olam_builder: true use_olam_pah: true olam_type: single EOF
-
Criar 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.
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.
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).
-
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.
Verificar se a Imagem Existe no 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 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 para ou abra um terminal e estabeleça conexão via SSH com a instância de 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
-
Crie 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:
oracle
- 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 para ou abra um terminal e estabeleça conexão via SSH com a instância de 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-03
Copyright ©2023, Oracle and/or its affiliates.