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.
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.
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.
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_EPELOracle Linux 8:
yum install -y oci-ansible-collection --enablerepo ol8_developer --enablerepo ol8_developer_EPELNach 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_factsWenn Sie Oracle Linux 8 verwenden, testen Sie die Installation mit dem folgenden Befehl:
ansible localhost -m oracle.oci.oci_object_storage_namespace_factsManuelle Installation
Oracle Cloud Infrastructure-SDK für Python installieren
- 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.
- Nachdem Sie das SDK für Python installiert haben, konfigurieren Sie es anhand der Anweisungen im Thema SDK konfigurieren.
Ansible installieren und konfigurieren
- Um Ansible zu installieren, befolgen Sie die Anweisungen im Ansible-Installationshandbuch.
- Weitere Informationen zur Konfiguration von Ansible finden Sie unter Ansible konfigurieren.
Die OCI-Ansible-Sammlung erfordert Ansible-Version 2.9 oder höher. Wenn Sie eine frühere Version von Ansible verwenden, lesen Sie die Dokumentation zu unseren Legacy-Modulen.
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.ymlSo 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.
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.