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 :
- Installation de z/OS Container Platform comme expliqué dans https://www.ibm.com/support/z-content-solutions/zos-container-platform/
- Accès à IBM Container Registry comme expliqué dans https://ibm.github.io/ibm-z-oss-hub/main/main.html
- IBM z/OS 2.5 ou 3.1 avec APAR PH59990 et OA66101
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.
podman login -u iamapikey -p <key> icr.iopodman pull icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zosBPX.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 )
- 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----- - 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 - 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. - 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:./imagesVous 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).
- Un fichier manifeste nommé
- Vérifiez la signature:
skopeo standalone-verify ./images/manifest.json icr.io/zoscp/ibm-semeru-runtimes:certified-17-jdk-zos ${fingerprint} ./images/signature-1Vous 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
$ podman imagesLes 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 MBLimitations 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 exceptionjava.io.IOException: Device not foundsi 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=ONest 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 APIjava/nio. Pour éviter un comportement de traitement de codage différent, définissez_BPKX_AUTOCVT=OFFpour qu'il corresponde au paramètre par défaut dans les environnements z/OS non conteneurisés.