Hinweis:
- Dieses Tutorial ist in einer von Oracle bereitgestellten kostenlosen Übungsumgebung verfügbar.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
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):
- Registry - High Availability
- Sicherheit - Scannen von Sicherheitslücken, Logging und Auditing, Benachrichtigungen und Alerts
- Access Control - Rollenbasierte Zugriffssteuerung (RBAC)
- Integration - Unterstützung für OAuth
- Build-Automatisierung - Git/GitHub/GitLab-Integration
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:
- Project Quay auf Podman installieren
- Funktionsweise von Quay prüfen
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
- Ein System mit installiertem Oracle Linux
- Podman installiert (das "Container-Tools"-Package)
- Zugang zum Internet
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.
-
Ö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.
-
Prüfen Sie die Podman-Version.
podman -v -
Bestätigen Sie, dass Podman CLI funktioniert.
podman run quay.io/podman/helloBeispielausgabe:
[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.
-
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 --reloadBeispielausgabe:
[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 successIm 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.
-
Prüfen Sie den aktuellen Inhalt der Datei
/etc/hosts.cat /etc/hostsBeispielausgabe:
[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.
-
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.
-
Erstellen Sie ein Verzeichnis für den Datenspeicher des Datenbankcontainers.
sudo mkdir -p /var/lib/pgsql/data -
Legen Sie die korrekten Berechtigungen für den Datenspeicher fest.
sudo chmod 0755 /var/lib/pgsql/datasudo setfacl -m u:26:-wx /var/lib/pgsql/data -
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-testHinweis: 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.
-
-
Starten Sie den Container
Postgresmit 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:latestHINWEIS: Mit
:Zam Ende der Einstellung-volumekann 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.
-
Melden Sie sich bei der Datenbank an.
psql -h $(hostname -i) quay quayuserPassword for user quayuser:istquay-test, wie in der obigen Export- und Containererstellung definiert. -
Erstellen Sie das Trigram-Modul.
CREATE EXTENSION IF NOT EXISTS pg_trgm;Beispielausgabe:
quay=# CREATE EXTENSION IF NOT EXISTS pg_trgm; CREATE EXTENSION -
Beenden Sie den PostgreSQL-Client, indem Sie
\qund dann den SchlüsselRETURNeingeben.\qBeispielausgabe:
quay=# \q [oracle@ol-server ~]$
Direkt im Container ausführen
-
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
-
Bestätigen Sie, dass die Datenbank gestartet wurde.
sudo podman psBeispielausgabe:
[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 -
Prüfen Sie die Containerlogs.
sudo podman logs -f postgresHinweis: Mit
CTRL+Ckehren 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 -
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 "" postgresBeispielausgabe:
[oracle@ol-server ~]$ sudo podman inspect -f "" postgres 10.88.0.2Eine alternative Möglichkeit, dies zu erreichen, ist unten dargestellt.
sudo podman inspect postgres | grep IPAddressBeispielausgabe:
[oracle@ol-server ~]$ sudo podman inspect postgres | grep IPAddress "IPAddress": "10.88.0.2", "IPAddress": "10.88.0.2",Hinweis: Der hier verwendete Name
postgresentspricht dem Namen, der in der Variablen--nameverwendet 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.
-
Erstellen Sie ein Verzeichnis für den Redis-Container-Datenspeicher.
sudo mkdir -p /var/lib/redis -
Legen Sie die Berechtigungen fest.
sudo chmod 0755 /var/lib/redis -
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 -
Vergewissern Sie sich, dass der Redis-Container ausgeführt wird.
sudo podman ps -
Prüfen Sie die Redis-Containerlogs.
sudo podman logs -f redisHinweis: Mit
CTRL+Ckehren Sie zur Eingabeaufforderung zurück. -
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.
-
Starten Sie Project Quay ConfigTool.
sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-passBeispielausgabe:
[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 -
Klicken Sie mit der rechten Maustaste auf den Luna-Desktop, und wählen Sie
Open Terminal Hereaus. -
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.50Dabei ist
8080der Port, der auf dem Luna-Desktop zum Port80auf dem Host geöffnet wurde. Port80ist der extern zugeordnete Port für den Project Quay-Container. -
Öffnen Sie auf dem Luna Desktop eine neue Browsersitzung, und geben Sie die URL des Project Quay ConfigTool ein.
http://localhost:8080Beispielausgabe:

-
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:

- Benutzername -
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.
-
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:

-
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:

-
Scrollen Sie dann nach unten zum Abschnitt "Datenbank".
Beispielausgabe:

-
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:

-
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/hostseingegeben (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:

- Datenbankserver: Wählen Sie - a) Geben Sie den $HOSTNAME oder den FQDN wie in der Datei
-
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/hostseingegeben (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:

- Redis-Hostname - Wählen Sie - a) Geben Sie den $HOSTNAME oder den FQDN wie in der Datei
-
Unten auf dem Browserbildschirm befindet sich das Dialogfeld Gleitend mit dem Namen Konfigurationsänderungen validieren.
Beispielausgabe:

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

-
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:

-
Klicken Sie mit der rechten Maustaste auf den Luna-Desktop, und wählen Sie
Open Terminal Hereaus. Bestätigen Sie im neu geöffneten Terminal, dass die Konfigurationsdatei heruntergeladen wurde.ls -lsa ~/DownloadsBeispielausgabe:
[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 -
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 -
Schließen Sie das aktive Terminalfenster, in das die Datei
quay-config.tar.gzkopiert wird, indem Sieexiteingeben. -
Wechseln Sie zum Terminalfenster, in dem der SSH-Tunnel geöffnet wird.
-
Schließen Sie den SSH-Tunnel, indem Sie
CTRL-Ceingeben. 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.
-
Wechseln Sie zum ursprünglichen Terminalfenster, das noch bei
ol-serverangemeldet ist, und prüfen Sie, ob die Dateiquay-config.tar.gzim Home-Verzeichnis der Benutzer "oracle" angezeigt wird.ls ~Beispielausgabe:
[oracle@ol-server ~]$ ls ~ quay-config.tar.gz -
Stoppen Sie den Prozess des Konfigurationscontainers für Project Quay.
sudo podman stop quay-configBeispielausgabe:
[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 -
Bestätigen Sie, dass der Container
quay-configgestoppt 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.
-
Erstellen Sie im ursprünglichen Terminalfenster, das mit ol-server verbunden ist, einen Speicherort für die Projektquay-Konfiguration.
mkdir -p ~/quay/config -
Erstellen Sie einen Standort, an dem Project Quay seine Artefakte speichern kann.
mkdir -p ~/quay/storage -
Blenden Sie die Gzipped Tar-Datei in das Quay-Konfigurationsverzeichnis ein.
tar -xzvf quay-config.tar.gz -C ~/quay/config/ -
Bestätigen Sie, dass die YAML-Konfigurationsdatei vorhanden ist.
cat ~/quay/config/config.yaml -
Erteilen Sie dem Verzeichnis Project Quay
configden Zugriffroot'Read'.sudo setfacl -R -m u:1001:r ~/quay/config -
Erteilen Sie dem Verzeichnis "Project Quay
storage" den Zugriffroot"Read", "Write" und "Execute".sudo setfacl -R -m u:1001:rwx ~/quay/storage
Projektstart
-
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 -
Bestätigen Sie, dass es gestartet wurde.
sudo podman ps -
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 -
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 -
Öffnen Sie auf dem Luna Desktop ein neues Browserfenster, und stellen Sie eine Verbindung zum Anmeldebildschirm von Project Quay Registry her.
http://localhost:8080Beispielausgabe:

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
-
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:

-
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:

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
-
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:

-
Project Quay wird ausgeführt, und der erste Benutzer ist angemeldet.
Beispielausgabe:

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.
-
Klicken Sie auf den Link Neues Repository erstellen (oben rechts auf dem Bildschirm), wird der Bildschirm Neues Repository erstellen angezeigt.
Beispielausgabe:

-
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:

-
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:

-
Das neu erstellte Repository wird angezeigt.
Beispielausgabe:

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=falseNOT verwendet werden.
-
Ö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> -
Rufen Sie ein Image ab, das in der lokal gehosteten Project Quay Registry gespeichert werden soll.
podman pull quay.io/operator-framework/operatorhubio:v4Beispielausgabe:
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 -
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:latestDabei ist
user01der Name Ihres Benutzernamens in der Registry undtest01der Name der Registry. -
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/test01Hinweis: 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! -
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:latestBeispielausgabe:
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 -
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:

-
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:latestBeispielausgabe:
[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 -
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:latestBeispielausgabe:
[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 76a6ea4d8064c26288fd07db817a683ca476b8ca64de07a2568e7acf53c78dedDadurch 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.
- Kann für High Availability bereitgestellt werden (über Podman oder Kubernetes)
- Kann über einen Operator oder Helm auf Kubernetes bereitgestellt werden
- Kann in OAuth- und E-Mail-Systeme integriert werden
- Unterstützung für Repository-Spiegelung
- Clair-basiertes Scannen der Bildsicherheit kann aktiviert werden
- Unterstützung für Dockerfile-Builds
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.
Learn to Install Project Quay on Podman
F78010-01
February 2023
Copyright © 2023, Oracle and/or its affiliates.