In 2022, I wrote an article on this subject named "[Build multi-architecture container images with Kubernetes, Buildah, Tekton and Qemu]({{<relref"/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu">}})".
In 2022, I wrote an article on this subject named {{<internalLinkpath="/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu/index.md">}}.
The article described the configuration I had set up for my personal projects.
It even went beyond its initial purpose as it has also been used by several colleagues at Red Hat who had the same need.
While the configuration described in this previous article is still relevant, the approach is somewhat dated.
En 2022, j'ai écrit un article sur ce sujet intitulé "[Build multi-architecture container images with Kubernetes, Buildah, Tekton and Qemu]({{<relref"/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu">}})".
En 2022, j'ai écrit un article sur ce sujet intitulé {{<internalLinkpath="/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-and-qemu/index.md">}}.
L'article relatait la configuration que j'avais mise en place pour mes projets personnels.
Il a même un peu débordé de sa vocation initiale puisqu'il a également été utilisé par plusieurs collègues chez Red Hat qui avaient le même besoin.
Si la configuration décrite dans ce précédent article est toujours d'actualité, l'approche est un peu datée.
@ -74,7 +74,7 @@ Vous remarquerez que le fichier [ignition](https://coreos.github.io/ignition/con
C'est également une spécificité de CoreOS : tous les logiciels qui tournent sur CoreOS doivent tourner sous la forme de conteneurs, instanciés et démarrés depuis un *unit* systemd ou provisionné par OpenShift.
Note: si vous souhaitez tout de même installer un package RPM, il est possible de personnaliser l'image CoreOS avec vos modification.
Je vous conseille alors la lecture de cet article : {{<internalLinkpath="/blog/build-your-own-distribution-on-fedora-coreos.md"lang="en">}}.
Je vous conseille alors la lecture de cet article : {{<internalLinkpath="/blog/build-your-own-distribution-on-fedora-coreos.md">}}.
Autre différence majeure avec un système d'exploitation classique : les mises à jour s'effectuent de manière transactionnelle.
Cela signifie qu'une mise à jour du système d'exploitation s'effectue dans son intégralité ou ne se fait pas du tout.
@ -22,7 +22,7 @@ Grâce un modèle d'intelligence artificielle conçu dans **OpenShift AI** et d
{{<attachedFiguresrc="le-train-lego.jpeg"title="Le train Lego équipé de la webcam, du Nvidia Jetson Orin et de la batterie.">}}
Et c'est à l'occasion de cette démo que j'ai écrit un article sur intitulé "[Construction d'images de conteneur multi-architecture avec OpenShift, Buildah et Tekton dans le cloud AWS]({{<relref"/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws">}})".
Et c'est à l'occasion de cette démo que j'ai écrit un article sur intitulé {{<internalLinkpath="/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws/index.md">}}.
{{<attachedFiguresrc="train-console-1.png"title="Vue de la caméra embarquée du train avec les résultats de l'inférence.">}}
@ -58,7 +58,7 @@ Dans le cloud AWS, nous disposons d'une machine virtuelle RHEL 9 qui nous permet
Notre application de vidéo surveillance fonctionne dans le cluster OpenShift, ce qui nous permet de surveiller à distance la caméra embarquée du train.
Le flux vidéo est relayé depuis le Jetson via un **broker Kafka**.
De plus, des pipelines MLOps sont mis en place pour entraîner le modèle d'intelligence artificielle, ainsi que des [pipelines CI/CD pour construire les images de conteneurs de nos microservices pour les architectures x86 et ARM]({{<relref "../../blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws/" >}}).
De plus, des pipelines MLOps sont mis en place pour entraîner le modèle d'intelligence artificielle, ainsi que des pipelines CI/CD pour construire les images de conteneurs de nos microservices pour les architectures x86 et ARM.
{{<attachedFiguresrc="mission-edge.png"title="Les points clés de ma mission.">}}
@ -104,7 +104,7 @@ Il a donc fallu récupérer auprès de l'*engineering* RHEL les modules noyau Nv
Le **dernier défi** a été de concevoir des **pipelines CI/CD** pour créer des images de conteneur multi-architecture.
En effet, les puces M1 d'Apple ont une architecture **arm64**, les PC sont en **x86_64**.
Idem, les tests d'intégration sont souvent exécutés sur des serveurs dans le cloud (**x86_64**) alors que le déploiement se fait sur la carte Nvidia Jetson Orin Nano (**arm64**).
J'ai détaillé la procédure complète dans l'article intitulé "[Construction d'images de conteneur multi-architecture avec OpenShift, Buildah et Tekton dans le cloud AWS]({{<relref"../../blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws/">}})".
J'ai détaillé la procédure complète dans l'article intitulé {{<internalLinkpath="/blog/build-multi-architecture-container-images-with-kubernetes-buildah-tekton-aws/index.md">}}.