Conceitos Básicos
Este tópico discute como começar a usar o coleção do Ansible do OCI (Oracle Cloud Infrastructure). A coleção de Ansible do OCI substitui nossos módulos Ansible legados.
Se você usa atualmente nossos módulos do Ansible legados e gostaria de começar a usar coleções, consulte o nosso guia de migração.
Para iniciar o uso do Ansible com o OCI, certifique-se que você cumpra os pré-requisitos e instale a coleção do Ansible usando yum ou manualmente.
Você pode usar o Resource Manager para pré-instalar o Oracle Cloud Development Kit em uma instância do serviço Compute no seu compartimento. O Oracle Cloud Development Kit inclui Ansible, a coleção de Ansible do OCI e suas dependências e pré-configura a autorização necessária.
O Ansible e nossa coleção do Ansible também vêm pré-instalados e pré-autenticados no Cloud Shell.
Pré-requisitos para Usar o Ansible com o Oracle Cloud Infrastructure
- Você deve ter uma conta no Oracle Cloud Infrastructure.
- Você deve ter um usuário nessa conta, em um grupo de segurança com uma política que conceda as permissões necessárias para trabalhar com recursos nos compartimentos de contas. Para obter orientação, consulte Como as Políticas Funcionam.
- Você deve ter as credenciais e as informações necessárias do OCID.
Instalando a Coleção do Ansible com o Yum
Se você estiver executando Oracle Linux 7 ou Oracle Linux 8, poderá usar a yum para instalar o RPM de coleção da Oracle Cloud Infrastructure Ansible.
O RPM de coleção Ansible instala a coleção do OCI Ansible e suas dependências necessárias: o OCI SDK para Python e Ansible.
Esta instalação usa o Python versão 3.6 e o Ansible versão 2.9 ou mais recente.
Use um dos comandos a seguir para ativar o repositório do desenvolvedor do Oracle Linux e instalar o RPM da coleção do Ansible, dependendo da sua versão do Oracle Linux.
Oracle Linux 7:
yum install -y oci-ansible-collection --enablerepo ol7_developer --enablerepo ol7_developer_EPEL
Oracle Linux 8:
yum install -y oci-ansible-collection --enablerepo ol8_developer --enablerepo ol8_developer_EPEL
Após a instalação do RPM, configure o arquivo de configuração do SDK e da CLI, conforme explicado em Configurando a Autenticação.
Testar a Instalação
Para testar a instalação do RPM e a configuração do SDK, você pode executar um playbook de amostra do Ansible.
Se você estiver usando o Oracle Linux 7, use o seguinte comando para testar sua instalação:
ansible-3 localhost -m oracle.oci.oci_object_storage_namespace_facts
Se você estiver usando o Oracle Linux 8, use o seguinte comando para testar sua instalação:
ansible localhost -m oracle.oci.oci_object_storage_namespace_facts
Instalação Manual
Instalando o Oracle Cloud Infrastructure SDK para Python
- Faça download e instale o SDK para Python seguindo as instruções no tópico, SDK para Python. Para obter orientação adicional, consulte Fazendo o Download e Instalando o SDK.
- Após a instalação do SDK para Python, configure-o usando as instruções no tópico Configurando o SDK.
Instalando e Configurando o Ansible
- Para instalar o Ansible, siga as instruções fornecidas no Ansible Installation Guide.
- Para obter orientação sobre como configurar o Ansible, consulte Configurando o Ansible.
A coleção do OCI Ansible requer o Ansible versão 2.9 ou posterior. Se você estiver usando uma versão anterior do Ansible, consulte a documentação de nossos módulos legados.
Instalando a Coleção do Ansible do Oracle Cloud Infrastructure
Instale a coleção do OCI Ansible no Ansible Galaxy usando o seguinte comando:
$ ansible-galaxy collection install oracle.oci
Se você já tiver instalado a coleção, poderá atualizar seus módulos para a versão mais recente adicionando o flag --force
ao comando. Por exemplo:
$ ansible-galaxy collection install --force oracle.oci
Playbooks de Amostra
Os playbooks de exemplo estão disponíveis no projeto GitHub da coleção de Ansible do Oracle Cloud Infrastructure. A biblioteca de amostras é atualizada regularmente com a adição de novas amostras. Consulte Playbooks do Ansible de Exemplo para obter mais informações.
Criando um Exemplo de Playbook
Após a conclusão da instalação, ou se você estiver usando o Cloud Shell, poderá criar um playbook de amostra que use módulos Ansible. Segue um playbook de exemplo (chamado list_buckets.yml
) que usa o módulo oci_object_storage_bucket_facts
para extrair fatos pertencentes aos buckets do compartimento.
---
- name : List summary of existing buckets in OCI object storage
collections:
- oracle.oci
connection: local
hosts: localhost
tasks:
- name: List bucket facts
oci_object_storage_bucket_facts:
namespace_name: '<yournamespace>'
compartment_id: '<yourcompartmentocid>'
register: result
- name: Dump result
debug:
msg: '{{result}}'
Executando o Playbook
Execute o playbook Ansible usando o Python com este comando:
$ ansible-playbook list_buckets.yml
Como Obter a Documentação do Módulo
Informações detalhadas sobre como usar nossos módulos Ansible estão disponíveis em docs.oracle.com e readthedocs.io.
Para obter acesso a informações detalhadas sobre o uso de módulos Ansible na CLI, use o comando ansible-doc
no nome do módulo. Por exemplo, para obter a documentação do módulo oci_object_storage_bucket_facts
, execute o seguinte comando:
$ ansible-doc oracle.oci.oci_object_storage_bucket_facts
Configurando a Autenticação
Ao criar e configurar recursos da Oracle Cloud Infrastructure, os módulos do Ansible usam informações de autenticação descritas no Arquivo de Configuração da CLI e do SDK.
Credenciais do Usuário que são referenciadas nos arquivos da configuração do Oracle Cloud Infrastructure SDK concedem acesso aos recursos do Oracle Cloud Infrastructure. Portanto, é importante proteger as credenciais para impedir o acesso não autorizado a esses recursos. Para proteger as credenciais no nó controlador em que os seus playbooks Ansible são executados, siga as diretrizes descritas no documento Protegendo o Serviço IAM (consulte a seção "Credenciais do Serviço IAM").
Os módulos Ansible permitem que você substitua as informações de autenticação especificadas no arquivo de configuração do SDK usando as opções do módulo e as variáveis de ambiente. A documentação para substituições de autenticação é fornecida internamente, conforme descrito em Como Obter a Documentação do Módulo. No entanto, o uso de variáveis de ambiente e de opções de módulo Ansible para substituir informações de autenticação deve ser evitado em cenários de produção.
Recomendamos o uso de arquivos para especificar informações de autenticação do Oracle Cloud Infrastructure SDK. Para suportar vários usuários, use o recurso "perfis" no arquivo de configuração do SDK. Ao distribuir atribuições que usam módulos Ansible, certifique-se de que nenhuma credencial do serviço IAM esteja incluída com as atribuições.