Erste Schritte

In diesem Thema wird beschrieben, wie Sie mit der Oracle Cloud Infrastructure-(OCI-)Ansible-Sammlung beginnen. Die OCI-Ansible-Sammlung ersetzt unsere Legacy-Ansible-Module.

Hinweis

Wenn Sie derzeit unsere Legacy-Ansible-Module verwenden und mit der Nutzung von Sammlungen beginnen möchten, lesen Sie unsere Migrationsdokumentation.

Stellen Sie sicher, dass Sie die Voraussetzungen erfüllen und anschließend die Ansible-Sammlung mit yum oder manuell installieren, um mit OCI Ansible zu verwenden.

Tipp

Mit Resource Manager können Sie das Oracle Cloud Development Kit auf einer Computing-Instanz in Ihrem Compartment vorinstallieren. Das Oracle Cloud Development Kit enthält Ansible, die OCI-Ansible-Sammlung und ihre Abhängigkeiten und konfiguriert die erforderliche Autorisierungim Voraus.

Sowohl Ansible als auch unsere Ansible-Sammlung sind auch in Cloud Shell vorinstalliert und vorab authentifiziert.

Voraussetzungen für die Verwendung von Ansible mit Oracle Cloud Infrastructure

  • Sie benötigen einen Oracle Cloud Infrastructure-Account.
  • Sie benötigen einen Benutzer in diesem Account in einer Sicherheitsgruppe mit einer Policy, die die erforderlichen Berechtigungen zum Arbeiten mit Ressourcen in den Account-Compartments erteilt. Weitere Informationen finden Sie unter Funktionsweise von Policys.
  • Sie benötigen die erforderlichen Zugangsdaten und OCID-Informationen.

Ansible-Sammlung mit Yum installieren

Wenn Sie Oracle Linux 7 oder Oracle Linux 8 ausführen, können Sie das RPM der Oracle Cloud Infrastructure Ansible-Collection mit yum installieren.

Das RPM der Ansible-Sammlung installiert die OCI-Ansible-Sammlung und die erforderlichen Abhängigkeiten: das OCI-SDK für Python und Ansible.

Hinweis

Diese Installation verwendet Python-Version 3.6 und Ansible-Version 2.9 oder höher.

Verwenden Sie einen der folgenden Befehle, um das Oracle Linux-Entwickler-Repository zu aktivieren und je nach Oracle Linux-Version das RPM der Ansible-Sammlung zu installieren.

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

Nach der Installation des RPM müssen Sie die SDK- und CLI-Konfigurationsdatei wie unter Authentifizierung konfigurieren beschrieben konfigurieren.

Installation testen

Um die Installation des RPM und die Konfiguration des SDK zu testen, können Sie ein Ansible-Beispiel-Playbook ausführen.

Wenn Sie Oracle Linux 7 verwenden, testen Sie die Installation mit dem folgenden Befehl:

ansible-3 localhost -m oracle.oci.oci_object_storage_namespace_facts

Wenn Sie Oracle Linux 8 verwenden, testen Sie die Installation mit dem folgenden Befehl:

ansible localhost -m oracle.oci.oci_object_storage_namespace_facts

Manuelle Installation

Oracle Cloud Infrastructure-SDK für Python installieren

  1. Laden Sie das Python-SDK herunter, und installieren Sie es, indem Sie die Anweisungen im Thema SDK für Python befolgen. Zusätzliche Anleitungen finden Sie unter SDK herunterladen und installieren.
  2. Nachdem Sie das SDK für Python installiert haben, konfigurieren Sie es anhand der Anweisungen im Thema SDK konfigurieren.

Oracle Cloud Infrastructure-Ansible-Sammlung installieren

Installieren Sie die OCI-Ansible-Sammlung aus Ansible Galaxy mit dem folgenden Befehl:

$ ansible-galaxy collection install oracle.oci

Wenn Sie die Sammlung bereits installiert haben, können Sie darin enthaltenen Module auf die neueste Version aktualisieren, indem Sie dem Befehl das Flag --force hinzufügen. Beispiel:

$ ansible-galaxy collection install --force oracle.oci

Beispiel-Playbooks

Beispiel-Playbooks sind im Oracle Cloud Infrastructure Ansible-Collection-Projekt GitHub verfügbar. Die Beispiel-Library wird regelmäßig mit neuen Beispielen aktualisiert. Weitere Informationen finden Sie unter Beispiele für Ansible-Playbooks.

Beispiel-Playbook schreiben

Nachdem die Installation abgeschlossen ist oder wenn Sie Cloud Shell verwenden, können Sie ein Beispiel-Playbook schreiben, das Ansible-Module verwendet. Im Folgenden sehen Sie ein Beispiel-Playbook (mit dem Namen list_buckets.yml), das mit dem Modul oci_object_storage_bucket_facts Fakten abruft, die zu den Buckets in Ihrem Compartment gehören.

---
- 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}}'

Playbook ausführen

Führen Sie das Ansible-Playbook mit Python aus, indem Sie diesen Befehl aufrufen:

$ ansible-playbook list_buckets.yml

So beziehen Sie die Moduldokumentation

Ausführliche Informationen zur Verwendung unserer Ansible-Module finden Sie unter docs.oracle.com und readthedocs.io.

Um Zugriff auf detaillierte Informationen zur Verwendung von Ansible-Modulen in der CLI zu erhalten, führen Sie den Befehl ansible-doc mit dem Modulnamen aus. Um beispielsweise die Dokumentation für das oci_object_storage_bucket_facts-Modul abzurufen, führen Sie den folgenden Befehl aus:

$ ansible-doc oracle.oci.oci_object_storage_bucket_facts

Authentifizierung konfigurieren

Beim Erstellen und Konfigurieren von Oracle Cloud Infrastructure-Ressourcen verwenden Ansible-Module Authentifizierungsinformationen, die in der SDK- und CLI-Konfigurationsdatei aufgeführt werden.

Achtung

Benutzerzugangsdaten, die in Oracle Cloud Infrastructure-SDK-Konfigurationsdateien referenziert werden, gewähren Zugriff auf Oracle Cloud Infrastructure-Ressourcen. Daher ist es wichtig, die Zugangsdaten zu schützen, um unbefugten Zugriff auf diese Ressourcen zu verhindern. Um die Zugangsdaten auf dem Controllerknoten zu schützen, auf dem Ihre Ansible Playbooks ausgeführt werden, befolgen Sie die Richtlinien im Dokument IAM sichern (siehe Abschnitt "IAM-Zugangsdaten").

Mit Ansible-Modulen können Sie Authentifizierungsinformationen, die in der SDK-Konfigurationsdatei angegeben sind, mit Moduloptionen und Umgebungsvariablen außer Kraft setzen. Die Dokumentation für Authentifizierungs-Overrides wird intern bereitgestellt, wie unter So beziehen Sie die Moduldokumentation beschrieben. Die Verwendung von Umgebungsvariablen und Ansible-Moduloptionen zum Außerkraftsetzen von Authentifizierungsinformationen muss jedoch in Produktionsszenarios vermieden werden.

Wir empfehlen die Verwendung von Oracle Cloud Infrastructure-SDK-Konfigurationsdateien, um Authentifizierungsinformationen anzugeben. Um mehrere Benutzer zu unterstützen, verwenden Sie das Feature "profiles" in der SDK-Konfigurationsdatei. Wenn Rollen verteilt werden, die Ansible-Module verwenden, stellen Sie sicher, dass keine IAM-Zugangsdaten in den Rollen enthalten sind.