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.
Use a Coleção do OCI Ansible com o Oracle Linux Automation Manager
Introdução
A Coleção Ansible do OCI (Oracle Cloud Infrastructure) fornece uma maneira fácil de provisionar e gerenciar recursos no Oracle Cloud usando o Oracle Linux Automation Engine ou o Oracle Linux Automation Manager.
Objetivos
Neste tutorial, você aprenderá a:
- Criar um playbook que use a Coleção do OCI Ansible
- Configurar credenciais para o Ansible Galaxy
- Adicionar a credencial do Oracle Cloud Infrastructure
- Criar um modelo de trabalho
- Execute o Job
Pré-requisitos
- Um sistema com o Oracle Linux Automation Manager instalado
- Acesso a um repositório git
- Uma conta do Oracle Cloud Infrastructure (OCI)
- Um usuário na conta do OCI com permissão para trabalhar com recursos em um compartimento
- Acesso às credenciais e informações do OCID dessa conta
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: "olam-node" type: "control" 2: instance_name: "git-server" type: "server" use_git: true olam_type: single EOF
-
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
-
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.
Criar um Playbook
-
Abra uma nova janela do terminal.
-
Defina uma variável para a instância remota do git-server.
export REMOTE=<ip_address_of_instance>
-
Crie um diretório de projeto.
mkdir ~/myproject
-
Crie um arquivo de requisitos.
O Oracle Linux Automation Engine usa o arquivo de requisitos para extrair quaisquer coleções ou funções necessárias para o projeto no runtime.
cat << EOF > ~/myproject/requirements.yml --- collections: - name: oracle.oci - name: community.general EOF
Observação: Para versões do Oracle Linux Automation Engine < 2.13.9, você pode configurar o arquivo de requisitos para extrair a coleção diretamente do repositório de coleções GitHub.
cat << EOF > ~/myproject/requirements.yml --- collections: - name: https://github.com/oracle/oci-ansible-collection.git type: git version: master - name: https://github.com/ansible-collections/community.general.git type: git version: main EOF
-
Crie um playbook.
Este playbook consulta o namespace do armazenamento de objetos da tenancy do Oracle Cloud Infrastructure. Configuraremos os detalhes da tenancy posteriormente na interface de usuário Web do Oracle Linux Automation Manager.
cat << EOF > ~/myproject/get_namespace.yml --- - name: Get namespace name hosts: localhost tasks: - name: get namespace oracle.oci.oci_object_storage_namespace_facts: register: output - name: print namespace ansible.builtin.debug: msg: "" EOF
Adicionar o Projeto ao Controle de Origem
-
Inicialize o diretório de trabalho do projeto em um repositório Git.
Antes de inicializar o repositório, você precisa executar algumas etapas de configuração de primeira vez do Git.
-
Defina o nome da ramificação padrão usado ao inicializar um projeto.
git config --global init.defaultBranch main
-
Defina sua identidade.
O email e o nome são exemplos neste tutorial. Use seu endereço de email e nome ao trabalhar em seus projetos, pois o git inclui imutavelmente essas informações em cada commit.
git config --global user.email johndoe@example.com git config --global user.name "John Doe"
-
Altere o diretório de trabalho do projeto.
cd ~/myproject
-
Inicialize o diretório como um repositório Git local.
git init
O comando retorna que inicializou o repositório Git vazio.
-
-
Verifique o estado do diretório de trabalho e da área de preparação do projeto.
git status
O estado do repositório local indica dois arquivos não rastreados: get_namespace.yml e requirements.yml
-
Adicione e rastreie os novos arquivos na área de preparação.
git add --all
A opção
--all
adiciona todos os arquivos não rastreados e alterados à área de preparação. -
Confirme as alterações atualmente na área de preparação.
git commit -m 'initial commit'
A opção
-m
permite adicionar um comentário às alterações confirmadas. -
Crie e inicialize o repositório Git remoto.
Um repositório remoto é um repositório compartilhado usado por todos os colaboradores do projeto e armazenado em um serviço de hospedagem de código, como GitHub ou um servidor auto-hospedado.
ssh git@$REMOTE "git init -b main --bare /git-server/repos/myproject.git"
A opção
-b
garante a inicialização do repositório remoto usando uma ramificação chamada main. -
Aceite a impressão digital da chave ECDSA digitando
yes
. -
Adicione o novo registro de conexão do repositório remoto.
Adicionar a conexão remota ao repositório local permite que você a use como um atalho nomeado nos comandos do Git.
git remote add origin git@$REMOTE:/git-server/repos/myproject.git
O caminho após dois-pontos é a localização do diretório do repositório no servidor Git remoto.
-
Verifique o registro de conexão recém-adicionado.
git remote -v
A saída mostra a origem do registro de conexão apontando para o local do repositório Git remoto para os comandos
git fetch
egit push
. -
Envie as alterações do repositório local para o repositório remoto.
git push origin main
Agora é possível usar a origem myproject em um Projeto do Oracle Linux Automation Manager.
Criar Credenciais do Ansible Galaxy
Essas credenciais permitem que o Oracle Linux Automation Manager extraia a Coleção do OCI Ansible do Ansible Galaxy Hub público.
-
Abra uma nova janela de terminal e configure um túnel SSH para a instância do nó olam.
ssh -L 8444:localhost:443 oracle@<ip_address_of_instance>
-
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 navegador Chrome, clique no botão Avançado e, em seguida, no link Prosseguir para localhost (inseguro).
-
Faça log-in na IU da Web do Oracle Linux Automation Manager. Use o Nome de Usuário
admin
e a Senhaadmin
criados durante a implantação automatizada. -
A UI da Web é exibida após um log-in bem-sucedido.
-
Clique em Credenciais na seção Recursos no menu de navegação.
-
Clique no botão Adicionar.
-
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, em seguida, selecioná-lo na lista.
- Nome:
My Ansible Galaxy
- Organização:
Default
- Tipo de Credencial: Token da API do Ansible Galaxy/Automation Hub
O Oracle Linux Automation Manager utiliza as credenciais do Ansible Galaxy para facilitar o download de atribuições e coleções usando o comando
ansible-galaxy
.- URL do Galaxy Server:
https://galaxy.ansible.com
- Nome:
-
Verifique as entradas e clique no botão Salvar.
-
Clique em Organizações na seção Acesso no menu de navegação.
A atribuição da credencial do Ansible Galaxy dentro da Organização permite o download da Coleção Ansible do Oracle Linux Infrastructure no projeto git.
-
Clique na organização Padrão e no botão Editar.
-
Selecione a credencial Meu Ansible Galaxy no campo Credenciais do Galaxy e clique no botão Selecionar.
-
Verifique e clique no botão Salvar.
Criar Credenciais do OCI
As credenciais do OCI fornecem informações do Oracle Linux Automation Manager sobre a tenancy específica do OCI.
-
Clique em Credenciais no menu de navegação.
-
Clique no botão Adicionar.
-
Informe ou selecione os valores a seguir nos campos específicos.
- Nome:
My OCI Credentials
- Organização:
Default
- Tipo de Credencial: Oracle Cloud Infrastructure
A página atualiza e solicita suas informações de configuração do OCI.
- Nome:
-
Abra uma nova janela do terminal.
-
Exiba o conteúdo do arquivo de configuração do OCI.
cat ~/.oci/config
-
Use os valores mostrados no terminal e faça a correspondência deles com os campos específicos da credencial do OCI na IU da Web do Oracle Linux Automation Manager.
Use o ícone
ao lado de cada campo para mostrar o valor da colagem.
-
Obtenha o conteúdo da chave privada da API do usuário do OCI.
No ambiente de laboratório gratuito, você pode executar
cat ~/.oci/oci.key
para obter essas informações e copiar toda a saída, incluindo as linhas BEGIN e END. -
Cole a chave no campo Chave de Usuário Privada na interface de usuário Web do Oracle Linux Automation Manager.
-
Verifique e clique no botão Salvar.
Se você precisar editar esses valores posteriormente, eles aparecerão criptografados na IU da Web. Portanto, para fazer alterações, clique no ícone Substituir ao lado do campo específico e adicione o novo valor para o campo. Repita conforme necessário e clique no botão Salvar quando terminar de fazer as alterações.
Criar um Inventário
-
Clique em Equipamentos no menu de navegação.
-
Clique no botão Adicionar e selecione Adicionar equipamento na lista suspensa de valores.
-
Informe ou selecione os valores a seguir nos campos específicos.
- Nome:
My Local Inventory
- Grupos de Instâncias: controlplane
A Coleção Ansible do Oracle Cloud Infrastructure usa uma conexão de rede localhost ao usar o Oracle Linux Automation Engine para interagir com a tenancy do OCI.
- Nome:
-
Verifique e clique no botão Salvar.
Adicionar Credencial de Controle de Origem
-
Clique em Credenciais no menu de navegação.
-
Clique no botão Adicionar.
-
Informe ou selecione os valores a seguir nos campos específicos.
- Nome:
Git Server
- Tipo de Credencial: Controle de Origem
A página é atualizada, solicitando os Detalhes do Tipo.
- Nome:
-
Informe o nome de usuário do servidor Git.
- Nome do Usuário:
git
- Nome do Usuário:
-
Copie e cole o conteúdo da chave privada do servidor Git no campo Chave Privada do SCM.
O ambiente de laboratório livre usa o arquivo
~/.ssh/id_rsa
padrão. -
Verifique e clique no botão Salvar.
Crie um Projeto
-
Clique em Projetos no menu de navegação.
-
Clique no botão Adicionar.
-
Informe ou selecione os valores a seguir nos campos específicos.
- Nome:
My Project
- Ambiente de Execução: OLAM EE (2.3)
- Tipo de Credencial de Controle de Origem: Git
A página é atualizada, solicitando os Detalhes do Tipo.
- URL de Controle de Origem:
git@<ip_address_of_instance>:/git-server/repos/myproject.git
- Ramificação do Controle de Origem:
main
- Credencial de Controle de Origem: Git Server
O ambiente de laboratório gratuito usa o endereço IP do servidor git no campo URL de Controle de Origem.
- Nome:
-
Verifique e clique no botão Salvar.
-
Verifique o status de sincronização do projeto.
Depois que você cria um projeto, a IU da Web exibe seu status no resumo Detalhes à medida que a sincronização começa. O status passará de Em Execução para Com Êxito se a configuração estiver correta e o servidor Git estiver acessível.
Criar Modelo de Job
-
Clique em Modelos no menu de navegação.
-
Clique no botão Adicionar e selecione Adicionar modelo de job na lista suspensa de valores.
-
Informe ou selecione os valores necessários.
- Nome:
My Template
- Tipo de Job: Executar
- Inventário: Meu Inventário Local
- Projeto: Meu Projeto
- Ambiente de Execução: OLAM EE (2.3)
- Playbook: get_namespace.yml
- Nome:
-
Selecione as credenciais.
Ao selecionar Credenciais, uma caixa de diálogo pop-up Selecionar Credenciais é exibida. Escolha Oracle Cloud Infrastructure na lista drop-down Categoria Selecionada de valores para exibir credenciais desse tipo.
-
Selecione Minhas Credenciais do OCI e clique no botão Selecionar.
-
Verifique as entradas de Modelo de tarefa.
-
Role a página para baixo e clique no botão Salvar.
-
Inicie o modelo.
Inicie um job na página de resumo do modelo clicando no botão Iniciar.
Se bem-sucedido, o job será iniciado e exibirá a saída do modelo, incluindo o namespace da tenancy do OCI. Você pode clicar no link Recarregar saída para atualizar o painel de saída, se necessário.
Próximas Etapas
A saída que mostra o namespace confirma que você tem uma configuração e um projeto de trabalho que demonstram como usar playbooks aproveitando a Coleção do Ansible do Oracle Cloud Infrastructure. Experimente ainda mais a coleta para implantar instâncias e outros recursos na sua tenancy.
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 OCI Ansible Collection with Oracle Linux Automation Manager
F76739-03
Copyright ©2023, Oracle and/or its affiliates.