IBM z/OS Container-Plattform-Bild

Das Container-Image für IBM® Semeru Runtime® Certified Edition for z/OS®, 17 ist in den IBM -Container-Registern verfügbar. Sie können das Semeru Container-Image z/OS „17“ herunterladen und anhand des kryptografischen Hashwerts überprüfen. Bilder sind signiert und Sie können die Signatur überprüfen.

Ausführen des Semeru 17 z/OS Container-Images

Um das Semeru Container-Image z/OS 17 auszuführen, müssen Sie Folgendes einrichten:

Das Semeru Container-Image z/OS 17 wird unter IBM Cloud® Container Registry dem icr.io/zoscp/ibm-semeru-runtimes Namespace gehostet.

Hinweis: Um das Semeru Container-Image z/OS 17 zu erhalten, öffnen Sie einen Fall über https://www.ibm.com/mysupport/ mit z/OS „Container Platform“ (PID: 5655-MC3 ) als Produktoption. Ersetzen Sie <key> durch den Ihnen zur Verfügung gestellten Berechtigungsschlüsselwert.
podman login -u iamapikey -p <key> icr.io
Sie können das Container-Image für z/OS aus dem IBM Cloud Container Registry mit dem folgenden Befehl abrufen:
podman pull icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos
Hinweis : Für das Bild ist ein Lesezugriff auf BPX.FILEATTR.APF erforderlich. Es wird empfohlen, eine Bildverwalter-ID mit den richtigen Berechtigungen zu verwenden, um die Java™-Bilder in /var/lib/podman/storage für andere Benutzer von Podman für IBM z/OS ( Podman ) zu ziehen. Für weitere Informationen siehe https://www.ibm.com/docs/en/zoscp/1.1.0?topic=platform-pushing-pulling-from-container-registry.

Anschließend können Sie die Signatur des Bildes Semeru z/OS 17 wie im folgenden Abschnitt beschrieben überprüfen.

Überprüfung der Signatur des Semeru 17 z/OS Container-Images

Um die Signatur des Container-Images zu überprüfen, müssen Sie Folgendes einrichten:
  • Eine Linux® -Umgebung
  • gpg (Installation über Linux -Distributionspakete)
  • skopeo (Installation über die Pakete der Distribution Linux )
  1. Der öffentliche Schlüssel muss auf dem Linux -Rechner vorhanden sein, der zur Überprüfung des signierten z/OS -Container-Images verwendet wird. Um den öffentlichen Schlüssel zu erstellen, kopieren Sie den folgenden Textblock genau wie gezeigt in einen Texteditor und speichern Sie ihn als semeru-runtimes-public-gpgkey.gpg.
    -----BEGIN PGP PUBLIC KEY BLOCK-----
    
    mQINBGQbR9wBEADR//wuh48qCwcrHnGrURseqEG7binLYxb5G4fpOQd9tH/7dLIC
    iU7HyoFbMmGiPS1BP7sJ+gn8Kb1dU5IM9ZpBAO4LlMLCm7g2qyc+bkVqQKYezTBa
    fvpgDJhZ+e7b4P1vYkx1Ex9XpDd27S/o4aULGnmPjQ9SMtT3qlZf2b59clN9x30Y
    VXM2qoRRrpFAkhkoEYQIboY0644TatrVt5CNAQiECdZBn/c0z5op0b42JWTeXvAl
    D/FEOWhilSyjSeY7c8ANvP9q3Ur0k18wBCPt47vhXWf5/h9gbBxNtv0p+vKVNVKQ
    8CJdPHmylWdtHyWQsNkxFwGZ4EUzhP6YxxV3JQwy5eNnHB8Mt1Xb8LGhqbRdxSBE
    0dlHeQIzzAknex6mhAtKyUxJ/+1mxcU1w+kWiYSBrWw71eIEEKhIWGszqW9JND3F
    PJ0tNluTlkMJSlboK457/8rKB/NY5qgqDLTaxF6ZSjZUI7rgb1FcGEfV0Te3l0cO
    EdUdjg4fM2DXreVZd54JBcp2bEUdcQOmolUIo4wFTNjQawF6ApPmb7qzq5SV7EZj
    Cup4Jg4rE/SJhtOVUM4BIYkQ2SLOo4dIqAdFwOrHogXVm1neUJgMJ5US4tply18C
    RJCt9VbGTmiFzQkxMgAKXhi9QFuvET1Xc5GUCzkOgoXSoH/IvdeUl8eUJwARAQAB
    tDJJQk0gU2VtZXJ1IFJ1bnRpbWVzIFNpZ25pbmcgS2V5IDxwc2lydEB1cy5pYm0u
    Y29tPokCOgQTAQgAJAUCZBtH3AIbDwULCQgHAgYVCgkICwIEFgIDAQIeAQUJAAAA
    AAAKCRAMOZfZio1FgmNYEACjElnUd7E7n71AYoNTD27+S7Vl8YTyzGkVUVeb1c+3
    L3ASZ+kadEMKLepEYsCjGVqQPNXoeosg2YQ4ziY9IlGj5fvoFMuIqx6qisuL9xjM
    HaL3xI9aBCX9C/GtZd8DvvvcmglDb8tbOyLAq6tnkhAP1EEaH9cw2jY8V3zH7k99
    xqFso+g8GwaEYA7OGyjlvC2uy4wExo1MRodtv+0cxUmKZWoFqu9fNH7a3C9VPBtr
    VX5rRWoRJrcjI0Q6OxqximKs7P9H2S9kZtL7Zm4kxh/ZrSWPXlbC8/brs8TDdiga
    oFIDmmlK0rCWpsupna69DqS5aBNEO9WOYH8cAG3aw1MsHV0CSLAYZ9Iez7fb5uYx
    FClg5mNYj3vWmYRsiLCyaNrhJapCJyPWRCx6U5592yDkCHM9z0WJbGIweEZtfXXB
    KCdGW/LWweHYI0xs3BlVOfkg98RAxzMxr3ut7oAa/J0BsqbyV+VMm+jM/Tm/nReG
    JTucOa/s+z4MFyP5cQgJH3JUyrhV73vlUKqEqQaoWUTQjVM4Pp42Ew67lFlafoGZ
    i7HB1kG+Tq/Od3vNugSM+SzmC+oxcEbbPxEJt2IU25e4ncsiJSIIb51ZAsysE2Ob
    YL0Ace+djFYlq9wVG39w9tlgHn094GOsf60X6urdIL6cK/haHGmLyiOBPDhZ9wyd
    NA==
    =brr/
    -----END PGP PUBLIC KEY BLOCK-----
  2. Importieren Sie den öffentlichen Schlüssel auf einem separaten Linux -System, um die Signatur des Container-Images zu überprüfen:
    gpg --import semeru-runtimes-public-gpgkey.gpg
  3. Berechnen Sie den Fingerabdruck mit dem folgenden Befehl:
    fingerprint=$(gpg --fingerprint --with-colons | grep fpr | tr -d 'fpr:')

    Dieser Befehl speichert den Fingerabdruck des Schlüssels in einer Umgebungsvariablen fingerprint, die der Befehl zum Überprüfen der Signatur verwendet. Wenn Sie Ihre Shellsitzung beenden, wird die Variable gelöscht. Sie können es einstellen, indem Sie den Befehl bei der nächsten Anmeldung erneut ausführen.

  4. Erstellen Sie ein Verzeichnis für das Image und verwenden Sie den Befehl skopeo , um das Image in den lokalen Speicher zu ziehen:
    mkdir images
    skopeo copy docker://icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos dir:./images

    Sie können sich entweder zuerst authentifizieren und eine skopeo Kopie machen oder direkt --src-creds iamapikey:<entitlement key> verwenden, um das Docker-Image zu ziehen.

    Der Befehl skopeo copy lädt das Bild als eine Reihe von Dateien herunter und legt sie im Verzeichnis images (oder einem anderen von Ihnen gewählten Verzeichnis) ab.
    • Eine Manifestdatei mit dem Namen images/manifest.json
    • Eine Signaturdatei mit dem Namen images/signature-1 .

    Im nächsten Schritt (im Befehl zur Überprüfung der Signatur) verweisen Sie auf beide Dateien.

  5. Überprüfen Sie die Signatur:
    skopeo standalone-verify ./images/manifest.json icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos ${fingerprint} ./images/signature-1
    Sie erhalten eine Bestätigung über die erfolgreiche Überprüfung der Signatur ähnlich der folgenden Nachricht:
    Signature verified with <FINGERPRINT> , digest sha256:0000000000000000000000000000000000000000000000000000000000000000 
Nachdem das Image mit einer Pull-Operation extrahiert wurde, ist es auf dem Server verfügbar. Sie können die Details mit folgendem Befehl überprüfen:
$ podman images
Zu den Details gehören der Repository-Namensbereich, aus dem das Image mit einer Pull-Operation extrahiert wurde, und die spezifischen Details des mit einer Pull-Operation extrahierten Image:
REPOSITORY           TAG        IMAGE ID      CREATED      SIZE
      icr.io/zoscp/ibm-semeru-runtimes     17       8ef69ad2a6bc   11 days ago   644 MB

Bekannte Einschränkungen und Problemumgehungen

Die Verwendung des Container-Bildes z/OS unterliegt den folgenden Einschränkungen und erfordert Workarounds, um diese Einschränkungen zu beheben:

  • Innerhalb einer z/OS Container Platform Instanz kann die java.nio.File.getFileStore() API eine java.io.IOException: Device not found Ausnahme auslösen, wenn sie eine Datei abfragt, die auf einem bind mount Dateisystem gehostet wird. Eine mögliche Abhilfe besteht darin, die Dateien in ein temporäres Dateisystem (tmpfs) zu migrieren.
  • _BPXK_AUTOCVT=ON wird in den z/OS -Basis-und Java-Container-Images festgelegt. Diese ON-Einstellung kann unterschiedliche Codierungsverhalten für java/nio -APIs einführen. Um ein anderes Verhalten bei der Codierungsbehandlung zu vermeiden, legen Sie _BPKX_AUTOCVT=OFF so fest, dass es der Standardeinstellung in nicht containerisierten z/OS -Umgebungen entspricht.