Dans cette étape, vous devrez déployer les pipelines CI/CD qui construiront les images de conteneur des cinq composants clés du train :
Pour vous aider, un Chart Helm est présent dans le mono repo de l’application (dossier tekton-pipelines
).
Ce chart Helm contient des pipelines Tekton multi-architecture.
En effet, la carte Nvidia Jetson Orin dans le train est une architecture arm64.
Votre laptop est probablement une architecture x86_64.
Pour construire ces images de conteneur multi-architecture, nous avons besoin de :
Vous déploierez les pipelines tekton depuis votre environnement OpenShift DevSpaces (ce sera plus simple).
Nous avons corrigé le code des pipelines Tekton. Pensez à télécharger la dernière version.
cd /projects/opentour2024-app
git pull
Pour cela, ouvrez un terminal dans VScode.
Depuis le terminal, découvrez les projets auxquels vous avez accès.
oc get projects
Vous devriez voir trois projets OpenShift :
$USERID-devspaces
)$USERID-test
)$USERID
)Récupérez le nom du projet de test dans une variable d’environnement.
TEST_NS=$(oc get projects -o name -l env=test | cut -d / -f 2 | head -n 1)
echo "Using namespace $TEST_NS"
Créez les objets dans votre projet OpenShift de test.
helm template pipelines /projects/opentour2024-app/tekton-pipelines --set namespace="$TEST_NS" | oc apply -f -
Le message d’avertissement “WARNING: Kubernetes configuration file is group-readable. This is insecure." peut être ignoré.
Ouvrez la console OpenShift et naviguez dans Administrator > Pipelines > Pipelines > Pipelines.
Ouvrez les quatre pipelines, un à un, et observez leur différences. Comment sont exécutées les tâches de construction sur les architectures arm64 et x86_64 ? En parallèle ou en série ?
Créez les objets dans votre projet OpenShift de test.
helm template pipelines /projects/opentour2024-app/tekton-pipelines --set namespace="$TEST_NS" --set runPipelines=true | oc create -f -
Le message d’avertissement “WARNING: Kubernetes configuration file is group-readable. This is insecure." peut être ignoré.
Normalement, les pipelines doivent démarrer immédiatement.
Ouvrez la console OpenShift et naviguez dans Administrator > Pipelines > Pipelines > PipelineRuns.
Cliquez sur le PipelineRun du composant train-controller.
Ouvrez l’onglet YAML, pressez la combinaison de touches Ctrl + F et saisissez taskRunSpecs:
.
Quelles fonctions de Kubernetes avons-nous utilisé pour placer les tâches Tekton ARM64 sur les noeuds correspondants ?
Les pipelines mettent environ 20 minutes pour les plus lents à se terminer. Pendant que ça compile, c’est le moment de passer à l’étape suivante !