Oracle Cloud Infrastructure Kubernetes Engine-Cluster in ArgoCD mit Workload Identity verwalten

Einführung

ArgoCD ist ein deklaratives Continuous Delivery-Tool GitOps für Kubernetes. Zum Zeitpunkt des Schreibens dieses Tutorials verfügt ArgoCD über keine Oracle Cloud Infrastructure-Befehlszeilenschnittstelle-(OCI-CLI-)Funktionen, die zum Generieren des Zugriffstokens für Oracle Cloud Infrastructure Kubernetes Engine (OKE) erforderlich sind. Daher ist ein benutzerdefiniertes ArgoCD-Image erforderlich.

Hinweis: Das Basisimage ArgoCD, das für das benutzerdefinierte Image verwendet wurde, lautet quay.io/argoproj/argocd:v3.1.1.

Ziele

Voraussetzungen

Aufgabe 1: Benutzerdefiniertes Image ArgoCD in OCI Container Registry übertragen

Hinweis: Sie können Podman oder docker verwenden.

  1. Erstellen Sie eine Dockerfile, die Folgendes enthält:

    FROM quay.io/argoproj/argocd:v3.1.1
    
    USER root
    
    
    RUN apt-get update; \
        apt-get install -y --no-install-recommends python3-venv; \
        python3 -m venv /opt/oci; \
        /opt/oci/bin/pip install --no-cache-dir --upgrade pip; \
        /opt/oci/bin/pip install --no-cache-dir "oci-cli==3.65.0"; \
        ln -s /opt/oci/bin/oci /usr/local/bin/oci; \
        apt-get clean; \
        rm -rf /var/lib/apt/lists/*
    
    USER 999
  2. Führen Sie den folgenden Befehl im Ordner aus, der die "Dockerfile" enthält.

    podman build --platform linux/amd64 -t argocd-oci:01 .

    Hinweis: Der Punkt (.) am Ende des Befehls gilt für das aktuelle Verzeichnis, in dem sich die Dockerfile befindet.

  3. Führen Sie den folgenden Befehl aus.

    podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  4. Führen Sie den folgenden Befehl aus.

    podman login ocir.**your_region**.oci.oraclecloud.com
    • Benutzer ist:
      • Wenn Identitätsdomain verwendet wird: your_tenancy_namespace/OracleIdentityCloudService/your_email.
      • Wenn die Standarddomain verwendet wird: your_tenancy_namespace/your_email.
    • Das Kennwort ist Ihr OCI-Authentifizierungstoken.
  5. Führen Sie den folgenden Befehl aus.

    podman push ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01

Aufgabe 2: ArgoCD mit dem benutzerdefinierten Image installieren

  1. Laden Sie das ArgoCD-Manifest hier herunter, und installieren Sie es: argo-cd/manifests/install.yaml.

  2. Bearbeiten Sie die Datei, um das ArgoCD-Image durch das benutzerdefinierte Image zu ersetzen.

    • Änderung von Bild: quay.io/argoproj/argocd
    • Zum Bild: ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. Führen Sie den folgenden Befehl aus, um den argocd-Namespace zu erstellen.

    kubectl create namespace argocd
  4. Führen Sie den folgenden Befehl aus, um argocd bereitzustellen.

    kubectl apply -f install.yaml -n argocd

Aufgabe 3: Cluster zur Clusterliste ArgoCD hinzufügen

  1. Starten Sie ArgoCD.

    Hinweis: Sie können einen OCI Load Balancer verwenden, um ArgoCD anzugeben. In diesem Beispiel wird stattdessen port-forward verwendet. Verwenden Sie ein zusätzliches Terminal nur für die Portweiterleitung.

    1. Führen Sie im zweiten Terminal den folgenden Befehl aus.

      kubectl port-forward service/argocd-server -n argocd 63265:80

      Hinweis: Schließen Sie dieses Terminal nicht. Wechseln Sie zum vorherigen Terminal, da dies verwendet wird, um ArgoCD hochzuhalten.

    2. Rufen Sie das ArgoCD-Admin-Kennwort mit dem folgenden Befehl ab.

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    3. Melden Sie sich mit dem folgenden Befehl an (Benutzer ist admin, Kennwort ist das Kennwort des vorherigen Befehls).

      argocd login 127.0.0.1:63265
  2. Laden Sie die Datei add_cluster.yaml herunter, und bearbeiten Sie sie hier: add_cluster.yaml:

    Hinweis: In diesem Beispiel wird unsicheres TLS verwendet. Es kann geändert werden.

    • cluster_name: Name des Clusters, das in der Clusterliste ArgoCD angezeigt wird.
    • cluster_api_endpoint: Der Endpunkt des Clusters, das Sie der Clusterliste ArgoCD hinzufügen möchten.
    • cluster_ocid: Die OCID des Clusters, das Sie der Clusterliste ArgoCD hinzufügen möchten.
    • region: Die Region, in der sich das Cluster befindet.
  3. Wenden Sie die Datei an, um das Cluster mit dem folgenden Befehl in der Clusterliste ArgoCD hinzuzufügen.

    kubectl apply -f add_cluster.yaml
  4. Prüfen Sie mit dem folgenden Befehl, ob das Cluster der Clusterliste ArgoCD hinzugefügt wurde.

    argocd cluster list

Aufgabe 4: Testen, indem Sie eine App aus ArgoCD im Cluster bereitstellen

  1. Laden Sie die Datei deploy_example.yaml herunter, und bearbeiten Sie sie hier: deploy_example.yaml.

    • cluster_name: Name des Clusters, das Sie die Anwendung bereitstellen möchten.
  2. Wenden Sie die Datei mit dem folgenden Befehl an, um eine einfache App für das Zielcluster bereitzustellen.

    kubectl apply -f deploy-example.yaml
  3. Prüfen Sie mit den folgenden Befehlen, ob die App erfolgreich bereitgestellt wurde.

    argocd app list
    argocd app sync guestbook

Bestätigungen

Weitere Lernressourcen

Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.