Hinweis:

Erfahren Sie, wie Sie Project Quay auf Podman installieren

Einführung

Project Quay ist ein Open-Source-Repository, mit dem Artefakte wie Container zur Verwendung auf cloud-nativen Plattformen gespeichert und verwaltet werden. Project Quay bietet auch zusätzliche Funktionen wie (in keiner bestimmten Reihenfolge):

Sie kann auf einem Kubernetes-Cluster mit einem Operator oder als Standalone-Container oder High Availability-Cluster auf Podman bereitgestellt werden.

Ziele

In dieser Übung wird gezeigt, wie Sie Project Quay auf Podman installieren und ausführen und dann sicherstellen, dass es funktioniert. Im Folgenden werden die wichtigsten beschriebenen Schritte beschrieben:

Hinweis: Die angegebenen Schritte umfassen nicht die Konfiguration der Registry mit Zertifikaten. Daher wird sie für Nicht-Produktionszwecke oder für eine interne/mit Luft verbundene Umgebung empfohlen.

Anforderungen

Oracle Support-Haftungsausschluss

Oracle bietet keinen technischen Support für die Abfolge der Schritte, die in den folgenden Anweisungen angegeben sind, da diese Schritte Softwareprogramme und Betriebssysteme referenzieren, die nicht von Oracle bereitgestellt werden. Dieses Tutorial enthält nur optionale Anweisungen.

Weitere Informationen zur von Oracle unterstützten Methode für die Entwicklung und Verwendung von Podman-basierten Services finden Sie unter https://docs.oracle.com/en/operating-systems/oracle-linux/podman/.

Übungsumgebung einrichten

Hinweis: Bei der Verwendung der kostenlosen Übungsumgebung finden Sie unter Oracle Linux - Grundlagen für Verbindungen und andere Verwendungsanweisungen.

  1. Öffnen Sie ein Terminal, und stellen Sie eine SSH-Verbindung zur ol-server-Instanz her, falls noch keine Verbindung besteht.

    ssh oracle@<ip_address_of_instance>
    

(Optional) Bestätigen Sie, dass Podman funktioniert

Das Containertools-Package in Oracle Linux stellt die neuesten Versionen von Podman, Buildah, Skopeo und zugehörigen Abhängigkeiten bereit.

  1. Prüfen Sie die Podman-Version.

    podman -v
    
  2. Bestätigen Sie, dass Podman CLI funktioniert.

    podman run quay.io/podman/hello
    

    Beispielausgabe:

    [oracle@ol-server ~]$ podman run quay.io/podman/hello
    Trying to pull quay.io/podman/hello:latest...
    Getting image source signatures
    Copying blob f82b04e85914 done  
    Copying config dbd85e09a1 done  
    Writing manifest to image destination
    Storing signatures
    !... Hello Podman World ...!
    
             .--"--.           
           / -     - \         
          / (O)   (O) \        
       ~~~| -=(,Y,)=- |         
        .---. /`  \   |~~      
     ~/  o  o \~~~~.----. ~~   
      | =(X)= |~  / (O (O) \   
       ~~~~~~~  ~| =(Y_)=-  |   
      ~~~~    ~~~|   U      |~~ 
    
    Project:   https://github.com/containers/podman
    Website:   https://podman.io
    Documents: https://docs.podman.io
    Twitter:   @Podman_io
    

Networking konfigurieren

Firewallregeln festlegen

Bearbeiten Sie die Firewallregeln des Systems, um die für Project Quay erforderlichen Ports zu öffnen.

  1. Firewallregeln aktualisieren

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --permanent --add-port=6379/tcp
    sudo firewall-cmd --reload
    
    

    Beispielausgabe:

    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=80/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=443/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=5432/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=6379/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --reload
    success
    

    Im Folgenden wird beschrieben, wie die einzelnen Ports verwendet werden:

    • Ports 80 und 443: Wird vom Quay-Container verwendet
    • Port 5432: Wird vom PostgreSQL-Container verwendet
    • Port 6379: Wird vom Redis-Container verwendet

Hostdatei einrichten

Es gibt verschiedene Möglichkeiten, das Netzwerk zu konfigurieren, das von den Project Quay-Containern verwendet wird, um sicherzustellen, dass diese miteinander kommunizieren können. Weitere Informationen finden Sie in der Dokumentation zu Project Quay.

Eine dieser Optionen besteht darin, sicherzustellen, dass der Hostname des Oracle Linux-Systems aufgelöst werden kann. Dies wurde bereits in der angegebenen kostenlosen Übungsumgebung abgeschlossen, indem der Host-Datei ol-server und der FQDN-Hostname zusammen mit der zugehörigen IP-Adresse hinzugefügt wurden.

  1. Prüfen Sie den aktuellen Inhalt der Datei /etc/hosts.

    cat /etc/hosts
    

    Beispielausgabe:

    [oracle@ol-server ~]$ cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.0.150 ol-server.pub.linuxvirt.oraclevcn.com ol-server
    

(Optional) Installieren Sie den PostgreSQL-Client

Mit diesem Schritt können Sie von der Befehlszeile außerhalb des Containers auf die Datenbank PostgreSQL zugreifen. Dieser Schritt ist nicht erforderlich, um den Container zu konfigurieren und einzurichten.

  1. Installieren Sie den PostgreSQL-Client.

    sudo dnf -y install postgresql
    

Datenspeicher für Projektquay einrichten

Project Quay verwendet eine Datenbank zum Speichern von Metadaten. Die Verwendung von Postgres ist die Standardoption, die in diesem Tutorial verwendet wird. Benutzer können MySQL auch als Alternative verwenden, jedoch außerhalb des Geltungsbereichs dieser Übung.

  1. Erstellen Sie ein Verzeichnis für den Datenspeicher des Datenbankcontainers.

    sudo mkdir -p /var/lib/pgsql/data
    
  2. Legen Sie die korrekten Berechtigungen für den Datenspeicher fest.

    sudo chmod 0755 /var/lib/pgsql/data
    
    sudo setfacl -m u:26:-wx /var/lib/pgsql/data
    
  3. Definieren Sie die Umgebungsvariablen.

    Diese definieren die Postgres-Variablen, mit denen der Postgres-Container gestartet wird.

    export POSTGRESQL_CONTAINER_NAME=postgres
    export POSTGRESQL_DB=quay
    export POSTGRESQL_USER=quayuser
    export POSTGRESQL_PASSWORD=quay-test
    
    

    Hinweis: Mit dieser Variablen können Sie Folgendes definieren:

    • POSTGRESQL_CONTAINER_NAME bezieht sich auf den Namen, der vom Postgres-Container verwendet wird.

    • POSTGRESSQL_DB, POSTGRES_USER und POSTGRES_PASSWORD verweisen auf die spezifizierten Postgres-Werte.

  4. Starten Sie den Container Postgres mit Details wie Benutzername, Kennwort, Datenbankname, Portnummer und Volume Mount Point für den Datenbankdatenspeicher.

    sudo podman run --detach --name ${POSTGRESQL_CONTAINER_NAME} \
       --env POSTGRES_USER=${POSTGRESQL_USER} \
       --env POSTGRES_PASSWORD=${POSTGRESQL_PASSWORD} \
       --env POSTGRES_DB=${POSTGRESQL_DB} \
       --publish 5432:5432 \
       --volume /var/lib/pgsql/data:/var/lib/postgresql/data:Z \
       docker.io/library/postgres:latest
    

    HINWEIS: Mit :Z am Ende der Einstellung -volume kann dieses Speicher-Volume mit aktiviertem SELinux arbeiten. SELinux ist standardmäßig auf Oracle Linux aktiviert.

Trigram-Modul zu PostgreSQL hinzufügen

(Optional) Verwenden Sie den PostgreSQL-Client

Diese Schritte sind nur möglich, wenn die Postgres-Clientpackages im obigen optionalen Schritt installiert wurden. Überspringen Sie diesen optionalen Schritt, wenn diese Packages nicht installiert wurden.

  1. Melden Sie sich bei der Datenbank an.

    psql -h $(hostname -i) quay quayuser
    

    Password for user quayuser: ist quay-test, wie in der obigen Export- und Containererstellung definiert.

  2. Erstellen Sie das Trigram-Modul.

    CREATE EXTENSION IF NOT EXISTS pg_trgm;
    

    Beispielausgabe:

    quay=# CREATE EXTENSION IF NOT EXISTS pg_trgm;
    CREATE EXTENSION
    
  3. Beenden Sie den PostgreSQL-Client, indem Sie \q und dann den Schlüssel RETURN eingeben.

    \q
    

    Beispielausgabe:

    quay=# \q                                     
    [oracle@ol-server ~]$
    

Direkt im Container ausführen

  1. Erstellen Sie das Trigram-Modul.

    sudo podman exec -it postgres /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U quayuser'
    

    Beispielausgabe:

    [oracle@ol-server ~]$ sudo podman exec -it postgres /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U quayuser'
    CREATE EXTENSION
    

Prüfen Sie den Containerstatus PostgreSQL

  1. Bestätigen Sie, dass die Datenbank gestartet wurde.

    sudo podman ps
    

    Beispielausgabe:

    [oracle@ol-server ~]$ sudo podman ps
    CONTAINER ID  IMAGE                             COMMAND               CREATED         STATUS             PORTS                   NAMES
    1ec4a57b792d  docker.io/library/postgres:10.12  postgres              27 minutes ago  Up 26 minutes ago  0.0.0.0:5432->5432/tcp  postgresql
    
  2. Prüfen Sie die Containerlogs.

    sudo podman logs -f postgres
    

    Hinweis: Mit CTRL+C kehren Sie zur Eingabeaufforderung zurück.

    Beispielausgabe:

    PostgreSQL init process complete; ready for start up.
    
    2023-02-01 16:11:49.512 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
    2023-02-01 16:11:49.512 UTC [1] LOG:  listening on IPv6 address "::", port 5432
    2023-02-01 16:11:49.514 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    2023-02-01 16:11:49.524 UTC [64] LOG:  database system was shut down at 2023-02-01 16:11:49 UTC
    2023-02-01 16:11:49.528 UTC [1] LOG:  database system is ready to accept connections
    
  3. Bestätigen Sie die IP-Adresse für den Postgres-Container. Notieren Sie sich diese, da sie später erforderlich ist.

    sudo podman inspect -f "" postgres
    

    Beispielausgabe:

    [oracle@ol-server ~]$ sudo podman inspect -f "" postgres
    10.88.0.2
    

    Eine alternative Möglichkeit, dies zu erreichen, ist unten dargestellt.

    sudo podman inspect postgres | grep IPAddress
    

    Beispielausgabe:

    [oracle@ol-server ~]$ sudo podman inspect postgres | grep IPAddress
                "IPAddress": "10.88.0.2",
                             "IPAddress": "10.88.0.2",
    

    Hinweis: Der hier verwendete Name postgres entspricht dem Namen, der in der Variablen --name verwendet wird, die im vorherigen Podman-Befehl zum Erstellen des Containers PostgreSQL verwendet wurde.

Redis einrichten

Redis wird von Project Quay benötigt, um ephemere Informationen zu speichern.

  1. Erstellen Sie ein Verzeichnis für den Redis-Container-Datenspeicher.

    sudo mkdir -p /var/lib/redis
    
  2. Legen Sie die Berechtigungen fest.

    sudo chmod 0755 /var/lib/redis
    
  3. Starten Sie den Redis-Container.

    sudo podman run --detach --name redis \
                    --restart=always \
                    --publish 6379:6379 \
                    --privileged=true \
                    --volume /var/lib/redis:/var/lib/redis:Z \
                    docker.io/library/redis:latest
    
    
  4. Vergewissern Sie sich, dass der Redis-Container ausgeführt wird.

    sudo podman ps
    
  5. Prüfen Sie die Redis-Containerlogs.

    sudo podman logs -f redis
    

    Hinweis: Mit CTRL+C kehren Sie zur Eingabeaufforderung zurück.

  6. Bestätigen Sie die IP-Adresse für den Redis-Container. Notieren Sie sich diese, da sie später erforderlich ist.

    sudo podman inspect -f "" redis
    

Projektquay konfigurieren

Project Quay enthält ein Tool, mit dem die Details zum Setup der Datenbank PostgreSQL und zum Generieren der Quay-Konfigurationsdateien bereitgestellt werden. Das Konfigurationstool selbst ist webbasiert, und die Quay-Konfigurationsdateien werden als tar/zipierte YAML-Datei generiert, die nach dem Verschieben erweitert werden muss.

  1. Starten Sie Project Quay ConfigTool.

    sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-pass
    

    Beispielausgabe:

    [oracle@ol-server ~]$ sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-pass
    Trying to pull quay.io/projectquay/quay:latest...
    Getting image source signatures
    Copying blob ec924a250552 done  
    Copying blob fd07da1562ac done  
    Copying blob 3550ee360766 done  
    Copying blob b68865894b50 done  
    Copying blob ff46f0c54d73 done  
    Copying blob 88956768f1ec done  
    Copying blob 644b12ae1636 done  
    Copying blob 9661ced91a5f done  
    Copying config c1a4397f6e done  
    Writing manifest to image destination
    Storing signatures
    cc84cafcc5bdc41dacc86c22ba7d0d52d2bf02c0b1fca9aa59879942c7669f13
    
  2. Klicken Sie mit der rechten Maustaste auf den Luna-Desktop, und wählen Sie Open Terminal Here aus.

  3. Konfigurieren Sie im neu geöffneten Terminal einen SSH-Tunnel.

    ssh -L 8080:localhost:80 oracle@<ip_address_of_ol-server>
    

    Beispielausgabe:

    [luna.user@lunabox ~]$ ssh -L 8080:localhost:80 oracle@129.159.195.234
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Tue Feb  7 18:56:30 2023 from 138.1.16.50
    

    Dabei ist 8080 der Port, der auf dem Luna-Desktop zum Port 80 auf dem Host geöffnet wurde. Port 80 ist der extern zugeordnete Port für den Project Quay-Container.

  4. Öffnen Sie auf dem Luna Desktop eine neue Browsersitzung, und geben Sie die URL des Project Quay ConfigTool ein.

    http://localhost:8080
    

    Beispielausgabe:

    pgadmin-Anmeldung

  5. Melden Sie sich mit den angegebenen Werten beim Quay Configuration Editor an.

    • Benutzername - quayconfig
    • Kennwort - secret-pass (Hinweis: Entspricht dem letzten Parameter, der beim Starten des Quay-Konfigurationscontainers übergeben wurde.)

    Beispielausgabe:

    pgadmin-Anmeldung

Quay-Konfigurationsinformationen eingeben

Die folgenden Schritte umfassen die Eingabe neuer Details, während andere die in den vorherigen Schritten erfassten/notierten Informationen beim Einrichten von Postgres, Redis usw. verwenden.

  1. Wenn sie nach der Anmeldung noch nicht angezeigt werden, scrollen Sie nach unten zum Abschnitt Basiskonfiguration. Beachten Sie, dass mehrere Felder ausgefüllt werden können.

    • Registry-Titel, Registry-Titel kurz, Unternehmenslogo-URL und Kontaktinformationen

    Für diese Übung/dieses Tutorial werden keine Änderungen vorgenommen.

    Beispielausgabe:

    pgadmin-Anmeldung

  2. Scrollen Sie nach unten zum Abschnitt Serverkonfiguration, und geben Sie den Hostnamen des Servers ein (siehe oben in der Datei /etc/hosts).

    • Serverhostname: ol-server.pub.linuxvirt.oraclevcn.com

    Beispielausgabe:

    pgadmin-Anmeldung

  3. Scrollen Sie dann nach unten zum Abschnitt "Datenbank".

    Beispielausgabe:

    pgadmin-Anmeldung

  4. Klicken Sie auf das Dropdown-Feld neben dem Feld Datenbanktyp. Es werden zwei Optionen aufgeführt: MySQL und Postgres, Postgres.

    Hinweis: Der Grund für die Auswahl von Postgres besteht darin, dass Sie das Clair-Scanningtool zu einem späteren Zeitpunkt auswählen können, da das Clair-Scanningtool nicht mit einer MySQL-Quay-Datenbank funktioniert.

    Beispielausgabe:

    pgadmin-Anmeldung

  5. Die Postgres-spezifischen Felder werden jetzt angezeigt. Geben Sie die Details ein, damit auf Postgres zugegriffen werden kann.

    • Datenbankserver: Wählen Sie - a) Geben Sie den $HOSTNAME oder den FQDN wie in der Datei /etc/hosts eingegeben (die mit DNS aufgelöst werden muss) ein, oder b) Verwenden Sie die in einem vorherigen Schritt angegebene Container-IP-Adresse (z.B. - 10.88.0.2).
    • Benutzername: quayuser
    • Kennwort: Quay-Test
    • Datenbankname: quay

    **Hinweis: Alle diese Werte müssen mit den Werten übereinstimmen, die beim Starten des Postgres-Containers verwendet werden (siehe vorher), sind jedoch vollständig vom Benutzer konfigurierbar.

    Beispielausgabe:

    pgadmin-Anmeldung

  6. Scrollen Sie weiter nach unten zum Abschnitt Redis, und geben Sie die IP-Adresse ein, die beim Start des Redis-Containers zuvor zurückgegeben wurde.

    • Redis-Hostname - Wählen Sie - a) Geben Sie den $HOSTNAME oder den FQDN wie in der Datei /etc/hosts eingegeben (die mit DNS aufgelöst werden muss) ein, oder b) Verwenden Sie die in einem vorherigen Schritt angegebene Container-IP-Adresse (z.B. - 10.88.0.3).

    Beispielausgabe:

    pgadmin-Anmeldung

  7. Unten auf dem Browserbildschirm befindet sich das Dialogfeld Gleitend mit dem Namen Konfigurationsänderungen validieren.

    Beispielausgabe:

    pgadmin-Anmeldung

  8. Klicken Sie darauf, um zu bestätigen, dass die Mindestanforderungen für den Project Quay-Server erfüllt sind.

    Beispielausgabe:

    pgadmin-Anmeldung

  9. Klicken Sie auf die Schaltfläche, um die Konfigurationsdatei herunterzuladen. Bestätigen Sie, dass die Datei (quay-config.tar.gz) heruntergeladen wurde.

    HINWEIS: In der Übungsumgebung wird die generierte Konfigurationsdatei im Verzeichnis "~/Downloads" auf dem Luna-Desktop nicht auf dem Server gespeichert, auf dem das Quay-Repository konfiguriert wird.

    Beispielausgabe:

    pgadmin-Anmeldung

  10. Klicken Sie mit der rechten Maustaste auf den Luna-Desktop, und wählen Sie Open Terminal Here aus. Bestätigen Sie im neu geöffneten Terminal, dass die Konfigurationsdatei heruntergeladen wurde.

    ls -lsa ~/Downloads
    

    Beispielausgabe:

    [luna.user@lunabox Desktop]$ ls -lsa ~/Downloads
    total 12
    0 drwx------. 2 luna.user luna.user   32 Feb  8 11:59 .
    8 drwx------. 1 luna.user luna.user 4096 Feb  8 11:59 ..
    4 -rw-rw-r--. 1 luna.user luna.user 1214 Feb  8 11:59 quay-config.tar.gz
    
  11. Verschieben Sie die Datei vom Luna Desktop-Rechner auf den ol-server-Rechner, auf dem Project Quay konfiguriert und installiert wird.

    scp ~/Downloads/quay-config.tar.gz oracle@<ip_address_of_ol-server>:~
    

    Wichtig: Achten Sie darauf, :~ am Ende des obigen Befehls nicht zu entfernen. If it is removed nothing will be copied to the ol-server instance.

    Beispielausgabe:

    [luna.user@lunabox Downloads]$ scp quay-config.tar.gz oracle@129.159.195.234:~
    quay-config.tar.gz                            100% 1214    64.1KB/s   00:00
    
  12. Schließen Sie das aktive Terminalfenster, in das die Datei quay-config.tar.gz kopiert wird, indem Sie exit eingeben.

  13. Wechseln Sie zum Terminalfenster, in dem der SSH-Tunnel geöffnet wird.

  14. Schließen Sie den SSH-Tunnel, indem Sie CTRL-C eingeben. Die SSH-Tunnelsession muss beendet werden. Das Terminalfenster selbst geöffnet lassen - es wird in den nächsten Schritten erneut benötigt.

    HINWEIS: Das Schließen der SSH-Tunnelsession ist erforderlich, weil die Container-Session, bei der eine Verbindung hergestellt wird, geschlossen wurde.

  15. Wechseln Sie zum ursprünglichen Terminalfenster, das noch bei ol-server angemeldet ist, und prüfen Sie, ob die Datei quay-config.tar.gz im Home-Verzeichnis der Benutzer "oracle" angezeigt wird.

    ls ~
    

    Beispielausgabe:

    [oracle@ol-server ~]$ ls ~
    quay-config.tar.gz
    
  16. Stoppen Sie den Prozess des Konfigurationscontainers für Project Quay.

    sudo podman stop quay-config
    

    Beispielausgabe:

    [oracle@ol-server config]$ sudo podman stop quay-config
    WARN[0010] StopSignal SIGTERM failed to stop container quay-config in 10 seconds, resorting to SIGKILL 
    quay-config
    
  17. Bestätigen Sie, dass der Container quay-config gestoppt wurde.

    sudo podman ps
    

Erste Schritte

Der tatsächliche Speicherort der Verzeichnisse für Project Quay /config und /storage kann nach Bedarf geändert werden, solange die korrekten Berechtigungen angewendet und verfügbar sind.

  1. Erstellen Sie im ursprünglichen Terminalfenster, das mit ol-server verbunden ist, einen Speicherort für die Projektquay-Konfiguration.

    mkdir -p ~/quay/config
    
  2. Erstellen Sie einen Standort, an dem Project Quay seine Artefakte speichern kann.

    mkdir -p ~/quay/storage
    
  3. Blenden Sie die Gzipped Tar-Datei in das Quay-Konfigurationsverzeichnis ein.

    tar -xzvf quay-config.tar.gz -C ~/quay/config/
    
  4. Bestätigen Sie, dass die YAML-Konfigurationsdatei vorhanden ist.

    cat ~/quay/config/config.yaml
    
  5. Erteilen Sie dem Verzeichnis Project Quay config den Zugriff root 'Read'.

    sudo setfacl -R -m u:1001:r ~/quay/config
    
  6. Erteilen Sie dem Verzeichnis "Project Quay storage" den Zugriff root "Read", "Write" und "Execute".

    sudo setfacl -R -m u:1001:rwx ~/quay/storage
    

Projektstart

  1. Starten Sie den Project Quay-Server.

    sudo podman run --name quay --restart=always --publish 443:8443 --publish 80:8080 --privileged=true --volume ~/quay/config:/conf/stack:Z --volume ~/quay/storage:/datastorage:Z --detach quay.io/projectquay/quay:latest
    
  2. Bestätigen Sie, dass es gestartet wurde.

    sudo podman ps
    
  3. Prüfen Sie die Projektquay-Logs. Dieser Vorgang kann bis zu 15-20 Minuten dauern, bis das erste Mal Project Quay gestartet wird.

    sudo podman logs -f quay
    
  4. Wechseln Sie zu dem Terminalfenster, das zuvor zur Konfiguration eines SSH-Tunnels verwendet wurde, und öffnen Sie den SSH-Tunnel erneut.

    ssh -L 8080:localhost:80 oracle@<ip_address_of_ol-server>
    

    Beispielausgabe:

    [luna.user@lunabox ~]$ ssh -L 8080:localhost:80 oracle@129.159.195.234
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Tue Feb  7 18:56:30 2023 from 138.1.16.50
    
  5. Öffnen Sie auf dem Luna Desktop ein neues Browserfenster, und stellen Sie eine Verbindung zum Anmeldebildschirm von Project Quay Registry her.

    http://localhost:8080
    

    Beispielausgabe:

    pgadmin-Anmeldung

    Hinweis: Wenn das Browserfenster eine Fehlermeldung zurückgibt (was häufig darauf hinweist, dass die Konfiguration nicht geladen werden kann), bedeutet dies, dass der Project Quay-Server sich noch für diesen ersten Start konfiguriert. Bitte warten Sie, und wiederholen Sie den Vorgang in einigen Minuten.

Neuen Projektquay-Benutzer erstellen und anmelden

  1. Die erste Aufgabe besteht darin, einen neuen Benutzer zu erstellen. Klicken Sie im Bildschirm "Quay Login" auf den Link (unter den Feldern Benutzername und Kennwort) mit dem Namen Create Account.

    Beispielausgabe:

    pgadmin-Anmeldung

  2. Die Seite Neuen Account erstellen wird angezeigt. Geben Sie die folgenden Informationen ein.

    • Benutzername: Dies ist der in der Quay Registry angezeigte Benutzername.
    • E-Mail-Adresse - Dies sollte eine gültige E-Mail-Adresse sein (die in dieser Übung nicht zur Überprüfung verwendet wird).
    • Password: Geben Sie ein Kennwort ein (muss mindestens 8 Zeichen lang sein)

    Hinweis: Wenn eines der Felder einen roten Hintergrund anzeigt, bedeutet dies, dass ein unerwarteter oder ungültiger Wert eingegeben wurde. Ein grüner Hintergrund gibt an, dass die eingegebenen Werte gültig sind.

    Beispielausgabe:

    pgadmin-Anmeldung

    Wichtig: Wie Sie einen Superuser erstellen, wird hier dokumentiert. Ein Superuser ist ein normaler Benutzer, dem erweiterte Berechtigungen erteilt wurden. Dazu gehört die Möglichkeit, die folgenden Aktionen auszuführen.

    • Benutzer verwalten
    • Organisationen verwalten
    • Nutzungslogs abfragen
    • Änderungslog anzeigen
  3. Wenn alle Eingabefelder einen grünen Hintergrund haben (siehe vorheriger Screenshot), klicken Sie auf die Schaltfläche Create Account. Project Quay erstellt den neuen Account und meldet sich automatisch an.

    (Optional) Entscheiden Sie, ob die Werte Benutzername und Kennwort auf Basis der persönlichen Auswahl oder der Unternehmensrichtlinie gespeichert werden sollen.

    Beispielausgabe:

    pgadmin-Anmeldung

  4. Project Quay wird ausgeführt, und der erste Benutzer ist angemeldet.

    Beispielausgabe:

    pgadmin-Anmeldung

Neues Project Quay Registry Repository erstellen

Ein Repository in Project Quay wird in der Regel mit dem Container-Image benannt, das nach dem Setup gespeichert ('Push') wird. Dadurch ist es viel einfacher, Containerimages aus dieser lokal gehosteten Container-Registry später zu finden. Für die Zwecke der Übungsschritte ist dies jedoch nicht erforderlich. Daher wird in den Screenshots der Repository-Name als _test01 angezeigt.

  1. Klicken Sie auf den Link Neues Repository erstellen (oben rechts auf dem Bildschirm), wird der Bildschirm Neues Repository erstellen angezeigt.

    Beispielausgabe:

    pgadmin-Anmeldung

  2. Geben Sie die erforderlichen Werte ein. Diese sind unten dargestellt.

    • Repository-Name - Repository-Namen müssen übereinstimmen [a-z0-9][.a-z0-9-]*(/[a-z0-9][.a-z0-9-]) (Hinweis: Großbuchstaben sind ungültig)
    • Repostory-Beschreibung - Dies ist optional.
    • Wählen Sie, ob das Repository je nach Verwendungszweck Öffentlich oder Privat sein soll.

    Hinweis: Sowohl die Einstellungen Repository-Beschreibung als auch Öffentlich/Privat können zu einem späteren Zeitpunkt geändert werden.

    Beispielausgabe:

    pgadmin-Anmeldung

  3. Klicken Sie auf die Schaltfläche, um das neue Repository zu erstellen. Daraufhin wird entweder Privates Repository erstellen oder Create_Public_Repository angezeigt, je nachdem, welcher Repository-Typ im vorherigen Schritt ausgewählt wurde.

    Beispielausgabe:

    pgadmin-Anmeldung

  4. Das neu erstellte Repository wird angezeigt.

    Beispielausgabe:

    pgadmin-Anmeldung

    Zu diesem Zeitpunkt wurde die Project Quay Registry gestartet, ein neuer Benutzer erstellt und angemeldet. Schließlich wurde in der Container Registry ein neues Repository erstellt. Im nächsten Schritt kehren Sie zur Befehlszeile zurück, und laden Sie einen Container in diese neu erstellte Container-Registry hoch.

Projekt-Quay verwenden

Diese Schritte zeigen, wie Sie ein Image aus einer externen Registry abrufen, dann das Image taggen und sich bei der neu erstellten Project Quay Registry anmelden, bevor Sie das Image endgültig im neu erstellten test01-Repository pushing.

Hinweis: Da diese Installation von Project Quay nicht mit SSL-Zertifikaten konfiguriert wurde, müssen die Vorgänge Anmeldung und Push ein zusätzliches Flag (--tls-verify=false) verwenden, da sie andernfalls nicht erfolgreich ausgeführt werden können. In einer Produktionsumgebung muss das Kennzeichen --tls-verify=false NOT verwendet werden.

  1. Öffnen Sie ein Terminal, und stellen Sie eine SSH-Verbindung zur ol-server-Instanz her, falls noch keine Verbindung besteht.

    ssh oracle@<ip_address_of_ol-server>
    
  2. Rufen Sie ein Image ab, das in der lokal gehosteten Project Quay Registry gespeichert werden soll.

    podman pull quay.io/operator-framework/operatorhubio:v4
    

    Beispielausgabe:

    podman pull quay.io/operator-framework/operatorhubio:v4
    Trying to pull quay.io/operator-framework/operatorhubio:v4...
    Getting image source signatures
    Copying blob de07aeb713d7 done  
    Copying blob ef32bf2cb8c7 done  
    Copying blob bf5952930446 done  
    Copying blob 84807cd1a858 done  
    Copying blob 1e60e070fb81 done  
    Copying blob a42b61b64a1a done  
    Copying blob 4002c47008f9 done  
    Copying blob 44e6bcd92ca9 done  
    Copying blob f8baa3854da1 done  
    Copying blob c0ea348411ae done  
    Copying config 11fa238eb3 done  
    Writing manifest to image destination
    Storing signatures
    11fa238eb3e3aa3262cafd975a9ca787e4f0832cd369ce3d1cb1c9c70573f4be
    
  3. Taggen Sie das heruntergeladene Bild mit den Details des Ziels (der neu erstellten Project Quay Registry). Das verwendete Tag kann ein beliebiger Wert sein - in diesem Beispiel ist es "neueste".

    podman tag quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Dabei ist user01 der Name Ihres Benutzernamens in der Registry und test01 der Name der Registry.

  4. Melden Sie sich bei der neu erstellten Project Quay Registry und dem gerade erstellten Repository an.

    podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
    

    Hinweis: Verwenden Sie die Werte Benutzername und Kennwort, die beim Erstellen des Project Quay-Benutzers in den vorherigen Schritten verwendet werden.

    Beispielausgabe:

    [oracle@ol-server ~]$ podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
    Username: user01
    Password: 
    Login Succeeded!
    
  5. Verschieben Sie das Image in die neu erstellte Project Quay Registry.

    podman push --tls-verify=false quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Beispielausgabe:

    podman push --tls-verify=false quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Getting image source signatures
    Copying blob 8d46fa734840 done  
    Copying blob c5350d986805 done  
    Copying blob 274132c050df done  
    Copying blob d0f104dc0a1f done  
    Copying blob 9d51489878a0 done  
    Copying blob ed6469d35467 done  
    Copying blob fa152f521d35 done  
    Copying blob b277d564135b done  
    Copying blob 5764184699a3 done  
    Copying blob 15d6d3b2e9e6 done  
    Copying config 76a6ea4d80 done  
    Writing manifest to image destination
    Storing signatures
    
  6. Kehren Sie zum Browserfenster zurück, und navigieren Sie zum Abschnitt Repositorytags des zuvor erstellten Repositorys user-1/test01. Das Image tagged wird aufgeführt.

    Beispielausgabe:

    pgadmin-Anmeldung

  7. Bevor Sie testen können, ob das Bild aus der lokalen Project Quay Registry abgerufen werden kann, müssen Sie die lokale Kopie löschen.

    podman rmi ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Beispielausgabe:

    [oracle@ol-server config]$ podman rmi ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Untagged: ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    
  8. Ziehen Sie als Nächstes das Bild, diesmal jedoch aus der lokal gehosteten Project Quay Registry.

    podman pull --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Beispielausgabe:

    [oracle@ol-server config]$ podman pull --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Trying to pull ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest...
    Getting image source signatures
    Copying blob eacf9093f015 done  
    Copying blob d204dcb236ad done 
    Copying blob fcbc1d0b6248 done  
    Copying blob 5dd584b7c36d done  
    Copying blob 7940dd7814b2 done  
    Copying blob a06d838fcfaf done  
    Copying blob a783f1b4704a done  
    Copying blob 8875926a3ee5 done  
    Copying blob 622c87e26f84 done  
    Copying blob 2ec61b0ec8cf done  
    Copying config 76a6ea4d80 done  
    Writing manifest to image destination
    Storing signatures
    76a6ea4d8064c26288fd07db817a683ca476b8ca64de07a2568e7acf53c78ded
    

    Dadurch wird bestätigt, dass die lokale Project Quay Registry in der Lage ist, Container-Images zu speichern und dann zu bedienen, die in ihren eigenen Repositorys gespeichert sind.

Nächste Schritte

In dieser Übung wird erläutert, wie Sie eine Project Quay Registry auf Podman installieren und ausführen. Project Quay hat jedoch viele weitere Funktionen und Fähigkeiten, die außerhalb des Geltungsbereichs dieser Übung waren, wie unten gezeigt.

Weitere Informationen finden Sie in der Project Quay-Dokumentation.

In der Zwischenzeit vielen Dank, dass Sie sich die Zeit nehmen, dieses Lab auszuprobieren.

Weitere Lernressourcen

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

Produktdokumentation finden Sie im Oracle Help Center.