IBM z/OS Image de la plate-forme de conteneurs

L'image du conteneur pour IBM® Semeru Runtime® Certified Edition for z/OS®, 17 est disponible dans les registres de conteneurs IBM. Vous pouvez extraire l'image du Semeruz/OS conteneur 17 et vérifier l'image à l'aide du hachage cryptographique. Les images sont signées et vous pouvez vérifier la signature.

Exécution de l'image Semeru conteneur z/OS 17

Pour exécuter l'image Semeru conteneur z/OS 17, vous devez disposer de la configuration suivante :

L'image du Semeruz/OS conteneur 17 est hébergée sur le IBM Cloud® Container Registry sous l'espace icr.io/zoscp/ibm-semeru-runtimes de noms.

Remarque : pour obtenir l'image du Semeruz/OS conteneur 17, ouvrez un dossier via https://www.ibm.com/mysupport/, en sélectionnant « z/OS Container Platform » (PID : 5655-MC3 ) comme option Produit. Remplacez <key> par la valeur de la clé d'autorisation qui vous a été fournie.
podman login -u iamapikey -p <key> icr.io
Vous pouvez extraire l'image du conteneur pour z/OS à partir de l' IBM Cloud Container Registry, en utilisant la commande suivante :
podman pull icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos
Remarque : l'image nécessite un accès en lecture à BPX.FILEATTR.APF. Il est recommandé d'utiliser un identifiant d'administrateur d'images avec les permissions adéquates pour extraire les images Java™ dans /var/lib/podman/storage pour d'autres utilisateurs de Podman pour IBM z/OS ( Podman ). Pour plus d'informations, voir https://www.ibm.com/docs/en/zoscp/1.1.0?topic=platform-pushing-pulling-from-container-registry.

Vous pouvez ensuite vérifier la signature de l'image Semeruz/OS 17 comme expliqué dans la section suivante.

Vérification de la signature de l'image Semeru du z/OS conteneur 17

Pour vérifier la signature de l'image du conteneur, vous devez avoir configuré les éléments suivants :
  • Un environnement Linux®
  • gpg (installation via les packages de la distribution Linux )
  • skopeo (installation via les paquets de la distribution Linux )
  1. La clé publique doit exister sur la machine d' Linux, qui est utilisée pour vérifier l'image conteneur d' z/OS, signée. Pour créer la clé publique, copiez le bloc de texte suivant exactement comme indiqué dans un éditeur de texte et enregistrez-le en tant que 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. Importez la clé publique sur un système d' Linux s distinct pour vérifier la signature de l'image du conteneur :
    gpg --import semeru-runtimes-public-gpgkey.gpg
  3. Calculez l'empreinte digitale à l'aide de la commande suivante:
    fingerprint=$(gpg --fingerprint --with-colons | grep fpr | tr -d 'fpr:')

    Cette commande stocke l'empreinte digitale de la clé dans une variable d'environnement fingerprint, que la commande utilise pour vérifier la signature. Lorsque vous quittez votre session shell, la variable est supprimée. Vous pouvez le définir en relançant la commande lors de la prochaine connexion.

  4. Créez un répertoire pour l'image et utilisez la commande skopeo pour extraire l'image dans le stockage local :
    mkdir images
    skopeo copy docker://icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos dir:./images

    Vous pouvez soit vous authentifier d'abord et faire une copie skopeo , soit utiliser directement --src-creds iamapikey:<entitlement key> pour extraire l'image docker.

    La commande skopeo copy télécharge l'image sous la forme d'un ensemble de fichiers et les place dans le répertoire images (ou dans un autre répertoire de votre choix).
    • Un fichier manifeste nommé images/manifest.json
    • Un fichier de signature nommé images/signature-1

    Vous référencez ces deux fichiers à l'étape suivante (dans la commande pour vérifier la signature).

  5. Vérifiez la signature:
    skopeo standalone-verify ./images/manifest.json icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos ${fingerprint} ./images/signature-1
    Vous obtenez une confirmation de la réussite de la vérification de la signature similaire au message suivant:
    Signature verified with <FINGERPRINT> , digest sha256:0000000000000000000000000000000000000000000000000000000000000000 
Une fois l'image extraite, elle est disponible sur le serveur. Vous pouvez vérifier les détails à l'aide de la commande suivante:
$ podman images
Les détails incluent l'espace de nom de référentiel à partir duquel l'image a été extraite et les détails d'image extraits spécifiques:
REPOSITORY           TAG        IMAGE ID      CREATED      SIZE
      icr.io/zoscp/ibm-semeru-runtimes     17       8ef69ad2a6bc   11 days ago   644 MB

Limitations et solutions de contournement connues

L'utilisation de l'image de conteneur d' z/OS s présente les limitations suivantes et nécessite des solutions de contournement pour résoudre ces limitations :

  • Au sein d'une instance de z/OS Container Platform, l'API java.nio.File.getFileStore() peut générer une exception java.io.IOException: Device not found si elle interroge un fichier hébergé sur un système de fichiers bind mount. Une solution potentielle consiste à migrer les fichiers vers un système de fichiers temporaire (tmpfs).
  • _BPXK_AUTOCVT=ON est défini dans les images de base et de conteneur Java z/OS . Ce paramètre ON peut introduire des comportements de gestion de codage différents pour les API java/nio . Pour éviter un comportement de traitement de codage différent, définissez _BPKX_AUTOCVT=OFF pour qu'il corresponde au paramètre par défaut dans les environnements z/OS non conteneurisés.