Einrichten der internen Image-Registry für Satellite-Cluster

Satellite

Die interne Registry wird standardmäßig nicht in Ihrem Satellite-Cluster ausgeführt, da für die interne Registry kein Sicherungsspeicher eingerichtet ist. Führen Sie das folgende Lernprogramm aus, um die interne Image-Registry in Ihrem Satellite-Cluster mit IBM Cloud Object Storage als Sicherungsspeicher zu konfigurieren.

In diesem Lernprogramm wird beschrieben, wie Sie die Image-Registry mithilfe von IBM Cloud Object Storageeinrichten können. Sie können jedoch auch nicht persistenten Speicher auf dem Workerknoten verwenden. Weitere Informationen finden Sie unter Images im leeren Verzeichnis des Workerknotens speichern.

IBM Cloud Object Storage-Instanz erstellen, die die Anforderungen erfüllt

  1. Navigieren Sie in der Konsole IBM Cloud zum Menü Ressourcen und listen Sie Ihre Speicherinstanzen auf.
  2. Ermitteln Sie Ihre Object Storage-Instanzen und suchen Sie die Spalte Position. Wenn eine Instanz in IBM Clouderstellt wurde, wird ihre Position als Global aufgelistet.
  3. Wenn Sie keine globale Instanz haben, die die Anforderungen erfüllt, führen Sie die Schritte zum Erstellen einer Instanz aus.
    1. Klicken Sie in der IBM Cloud Object Storageauf Instanz erstellen.
    2. Wählen Sie unter Infrastruktur auswählen die Option IBM Cloud aus.
    3. Wählen Sie einen Preistarif und einen Servicenamen.
    4. Wählen Sie die Ressourcengruppe aus, in der Ihre Satellite-Komponenten gespeichert sind.
    5. Klicken Sie auf Erstellen. Beachten Sie, dass es einige Minuten dauern kann, bis Ihre Instanz bereitgestellt ist.

Bucket für Ihre Image-Registry erstellen

Erstellen Sie ein Bucket, das beim Einrichten Ihrer Image-Registry verwendet werden soll. Ihr Bucket muss mit regionaler Ausfallsicherheit konfiguriert sein. Weitere Informationen zum Erstellen von Buckets finden Sie unter IBM Cloud Object Storage.

  1. Klicken Sie auf Ihre Object Storage-Instanz.
  2. Klicken Sie auf Bucket erstellen.
  3. Wählen Sie die Option Bucket anpassen aus.
  4. Wählen Sie unter Resiliency die Option Regional aus.
  5. Wählen Sie im Dropdown-Menü Standort die Region aus, die dem Standort am nächsten ist, von dem aus Ihr Standort verwaltet wird. Wenn Ihr Standort beispielsweise über wdc (Washington DC) verwaltet wird, wählen Sie die Region us-east aus. Führen Sie ibmcloud sat location ls in der Befehlszeilenschnittstelle aus, um zu überprüfen, von wo aus eine Satellite-Position verwaltet wird.
  6. Wählen Sie unter Speicherklasse die Option Standard aus.
  7. Konfigurieren Sie die verbleibenden Kategorien entsprechend Ihren Vorgaben.
  8. Klicken Sie auf Bucket erstellen.
  9. Erstellen Sie Serviceberechtigungsnachweise, die Ihrem Cluster die Kommunikation mit Ihrer Object Storage-Instanz ermöglichen.
  10. Klicken Sie im Navigationsfenster auf Serviceberechtigungsnachweise und anschließend auf Neuer Berechtigungsnachweis.
  11. Geben Sie einen Namen für den neuen Berechtigungsnachweis ein.
  12. Wählen Sie im Dropdown-Menü die Rolle Schreibberechtigter aus.
  13. Klicken Sie auf Erweiterte Optionen und wählen Sie dann die Option HMAC-Berechtigungsnachweis einschließen aus.
  14. Klicken Sie auf Hinzufügen.
  15. Erweitern Sie in der Tabelle Serviceberechtigungsnachweise Ihren neuen Berechtigungsnachweis. Beachten Sie die access_key_id und die secret_access_key_id. Teilen Sie diese Berechtigungsnachweise nicht mit anderen Personen. Beispielberechtigungsnachweise zum Speichern.
    "cos_hmac_keys": {
        "access_key_id": "1111111a1111111a11aa1a111111111a11aa1a111a11a1a1",
        "secret_access_key": "222222b222222b22bb2b22222222b22bb2b222b22b2b2"
    }
    

Geheimen Schlüssel erstellen, der Ihre COS-Serviceberechtigungsnachweise enthält

Erstellen Sie in der Befehlszeilenschnittstelle einen geheimen Schlüssel mit den Serviceberechtigungsnachweisen, die Sie erstellt und gespeichert haben.

  1. Melden Sie sich an Ihrem Konto an. If applicable, target the appropriate resource group. Legen Sie den Kontext für den Cluster fest.
  2. Geheimen Schlüssel erstellen
    oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=<access_key_id> --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=<secret_access_key> --namespace openshift-image-registry
    

Red Hat OpenShift-Registry-Operator-CRDs aktualisieren

  1. Ändern Sie den Verwaltungsstatus des Operators für die Registrierung von Red Hat OpenShift.
    oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'
    
  2. Bearbeiten Sie die Konfigurationsspeicherattribute, um Images in Ihrem Object Storage-Bucket zu speichern.
    1. Suchen und speichern Sie den regionalen Linkendpunkt Ihrer Satellite-Position. In der Ausgabe wird der Endpunkt in der Spalte Adresse aufgelistet.
      ibmcloud sat endpoint ls --location <location_name> | grep satellite-cosRegional
      
      Beispielausgabe
      ID                           Name                                              Destination Type   Address       
      cavvku1p1h1gcfgk1kn1_uwokw   satellite-cosRegional-cavvku1p1h1gcfgk1kn1        cloud              TLS   i11aa11a1a1a11a11-1a11a1aaa1a1a1a1a-c000.us-east.satellite.appdomian.cloud:11111
      
    2. Öffnen Sie den Dateieditor in der Befehlszeilenschnittstelle.
      oc edit configs.imageregistry.operator.openshift.io/cluster
      
    3. Suchen Sie den folgenden zu bearbeitenden Abschnitt.
      storage:
          emptyDir: {}
          managementState: Managed
      storageManaged: true
      
    4. Ersetzen Sie emptyDir: {} durch Ihre Bucketinformationen und Standortendpunkte.
      s3:
        bucket: <bucket_name>
        region: <bucket_region>
        regionEndpoint: <location_link_endpoint>
        virtualHostedStyle: false
      
      Beispielabschnitt nach dem Hinzufügen der Bucket-und Positionsinformationen.
        storage:
          managementState: Managed
          s3:
            bucket: my_bucket
            region: us-east
            regionEndpoint: https://i11aa11a1a1a11a11-1a11a1aaa1a1a1a1a-c000.us-east.satellite.appdomian.cloud:11111
            virtualHostedStyle: false
        storageManaged: true
      
    5. Speichern Sie die Änderungen und wenden Sie sie an.

Überprüfen Sie Ihre Änderungen

Überprüfen Sie, ob die Image-Registry konfiguriert wurde, indem Sie im Namensbereich openshift-image-registry nach einem Pod suchen, der mit image-registry- beginnt.

  1. Führen Sie den folgenden Befehl aus.

    oc get pod -n openshift-image-registry
    
  2. Überprüfen Sie die Ausgabe und stellen Sie sicher, dass der Registry-Pod Running ist.

    Beispielausgabe

    NAME                                               READY   STATUS      RESTARTS      AGE
    image-registry-63p54b8add-vkjju                    1/1      Running      0              16m