Chapitre 4. Changements importants aux images OpenShift Jenkins
Le Red Hat OpenShift Service sur AWS 4.11 déplace les images OpenShift Jenkins et OpenShift Agent Base vers le référentiel ocp-tools-4 sur register.redhat.io. Il supprime également les images OpenShift Jenkins Maven et NodeJS Agent de sa charge utile:
- Le Red Hat OpenShift Service sur AWS 4.11 déplace les images OpenShift Jenkins et OpenShift Agent Base vers le référentiel ocp-tools-4 sur Registry.redhat.io afin que Red Hat puisse produire et mettre à jour les images en dehors du service OpenShift Red Hat sur le cycle de vie AWS. Auparavant, ces images figuraient dans le service Red Hat OpenShift sur AWS installer la charge utile et le référentiel openshift4 sur Registry.redhat.io.
- Le service OpenShift Red Hat sur AWS 4.10 a effacé les images OpenShift Jenkins Maven et NodeJS Agent. Le service Red Hat OpenShift sur AWS 4.11 supprime ces images de sa charge utile. Le Red Hat ne produit plus ces images, et ils ne sont pas disponibles dans le référentiel ocp-tools-4 sur register.redhat.io. Le Red Hat conserve les versions 4.10 et précédentes de ces images pour tout correctif important de bug ou CVE de sécurité, en suivant le Red Hat OpenShift Service sur la stratégie de cycle de vie AWS.
Ces modifications prennent en charge la recommandation de Red Hat OpenShift sur AWS 4.10 d’utiliser plusieurs modèles de Pod de conteneur avec le plugin Jenkins Kubernetes.
4.1. Délocalisation des images OpenShift Jenkins Copier lienLien copié sur presse-papiers!
Le service Red Hat OpenShift sur AWS 4.11 apporte des changements importants à l’emplacement et à la disponibilité d’images spécifiques d’OpenShift Jenkins. De plus, vous pouvez configurer quand et comment mettre à jour ces images.
Ce qui reste le même avec les images OpenShift Jenkins?
- L’opérateur d’échantillons de cluster gère les objets ImageStream et Template pour l’exploitation des images OpenShift Jenkins.
- Par défaut, l’objet Jenkins DeploymentConfig à partir du modèle de pod Jenkins déclenche un redéploiement lorsque l’image Jenkins change. Cette image est référencée par défaut par la balise jenkins:2 du flux d’images Jenkins dans l’espace de noms openshift dans le fichier ImageStream YAML dans la charge utile de l’opérateur d’échantillons.
- Lorsque vous effectuez une mise à niveau à partir de Red Hat OpenShift Service sur AWS 4.10 et plus tôt vers 4.11, les modèles maven et nodejs pod dépréciés sont toujours dans la configuration de l’image par défaut.
- Lorsque vous effectuez une mise à niveau depuis Red Hat OpenShift Service sur AWS 4.10 et plus tôt vers 4.11, les flux d’images jenkins-agent-maven et jenkins-agent-nodejs existent toujours dans votre cluster. Afin de maintenir ces flux d’images, voir la section suivante, « Que se passe-t-il avec les flux d’images jenkins-agent-agent-nodejs dans l’espace de noms openshift ? »
Comment modifier la matrice de support de l’image OpenShift Jenkins?
Chaque nouvelle image dans le référentiel ocp-tools-4 du registre Registry.redhat.io prend en charge plusieurs versions de Red Hat OpenShift Service sur AWS. Lorsque Red Hat met à jour l’une de ces nouvelles images, il est simultanément disponible pour toutes les versions. Cette disponibilité est idéale lorsque Red Hat met à jour une image en réponse à un avis de sécurité. Initialement, ce changement s’applique à Red Hat OpenShift Service sur AWS 4.11 et plus tard. Il est prévu que ce changement s’applique éventuellement à Red Hat OpenShift Service sur AWS 4.9 et plus tard.
Auparavant, chaque image de Jenkins ne supportait qu’une seule version de Red Hat OpenShift Service sur AWS et Red Hat pouvait mettre à jour ces images de manière séquentielle au fil du temps.
Comment ajouter les objets OpenShift Jenkins et Jenkins Agent Base ImageStream et ImageStreamTag?
En passant d’un flux d’images in-payload à un flux d’images qui fait référence à des images non-payées, Red Hat OpenShift Service sur AWS peut définir des balises de flux d’images supplémentaires. Le Red Hat a créé une série de nouvelles balises de flux d’images pour aller avec les "valeur" existantes: "jenkins:2" et "value": "image-registry.openshift-image-registry.svc:5000/openshift/jenkins-agent-base-rhel8:dernières" balises de flux d’images présentes dans Red Hat OpenShift Service sur AWS 4.10 et antérieures. Ces nouvelles balises de flux d’images répondent à certaines demandes visant à améliorer la façon dont les flux d’images liés à Jenkins sont maintenus.
À propos des nouvelles balises de flux d’images:
déploiement OCP-upgrade-reploy
- Afin de mettre à jour votre image Jenkins lorsque vous mettez à niveau Red Hat OpenShift Service sur AWS, utilisez cette balise de flux d’images dans votre configuration de déploiement Jenkins. Cette balise de flux d’images correspond à la balise de flux d’image existante de 2 images du flux d’image jenkins et à la dernière balise de flux d’images du flux d’images jenkins-agent-base-rhel8. Il utilise une balise d’image spécifique à un seul SHA ou un digest d’image. Lorsque l’image ocp-tools-4 change, comme pour les avis de sécurité de Jenkins, Red Hat Engineering met à jour la charge utile de l’opérateur d’échantillons de cluster.
déploiement maintenu par l’utilisateur
- Afin de redéployer manuellement Jenkins après avoir mis à jour Red Hat OpenShift Service sur AWS, utilisez cette balise de flux d’images dans votre configuration de déploiement Jenkins. Cette balise de flux d’images utilise l’indicateur de version d’image le moins spécifique disponible. Lorsque vous redéployez Jenkins, exécutez la commande suivante: $ oc import-image jenkins:user-maintened-upgrade-reploy -n openshift. Lorsque vous émettez cette commande, le service Red Hat OpenShift sur le contrôleur AWS ImageStream accède au registre d’images Registry.redhat.io et stocke toutes les images mises à jour dans la fente du registre d’images OpenShift pour cet objet Jenkins ImageStreamTag. Autrement, si vous n’exécutez pas cette commande, votre configuration de déploiement Jenkins ne déclenche pas un redéploiement.
déploiement prévu de la mise à niveau
- Afin de redéployer automatiquement la dernière version de l’image Jenkins lors de sa sortie, utilisez cette balise de flux d’images dans votre configuration de déploiement Jenkins. Cette balise de flux d’images utilise l’importation périodique des balises de flux d’images du service OpenShift Red Hat sur le contrôleur de flux d’images AWS, qui vérifie les changements dans l’image de support. Lorsque l’image change, par exemple, en raison d’un récent avis de sécurité Jenkins, Red Hat OpenShift Service sur AWS déclenche un redéploiement de votre configuration de déploiement Jenkins. Consultez "Configurer l’importation périodique des balises de flux d’images" dans "Ressources supplémentaires".
Ce qui se passe avec les flux d’images jenkins-agent-maven et jenkins-agent-nodejs dans l’espace de noms openshift?
Les images OpenShift Jenkins Maven et NodeJS Agent pour Red Hat OpenShift Service sur AWS ont été dépréciées en 4.10 et sont retirées du service Red Hat OpenShift sur AWS installer la charge utile dans 4.11. Ils n’ont pas d’alternatives définies dans le référentiel ocp-tools-4. Cependant, vous pouvez travailler autour de cela en utilisant le modèle de sidecar décrit dans le sujet "agent Jenkins" mentionné dans la section "Ressources supplémentaires" suivante.
Cependant, l’opérateur d’échantillons de cluster ne supprime pas les flux d’images jenkins-agent-maven et jenkins-agent-nodejs créés par des versions antérieures, qui pointent vers les balises du service OpenShift Red Hat respectif sur les images de charge utile AWS sur register.redhat.io. Ainsi, vous pouvez tirer les mises à jour de ces images en exécutant les commandes suivantes:
oc import-image jenkins-agent-nodejs -n openshift
$ oc import-image jenkins-agent-nodejs -n openshift
oc import-image jenkins-agent-maven -n openshift
$ oc import-image jenkins-agent-maven -n openshift