OpenShift - Tekton
Last updated
Last updated
L'auteur original de cette page est Haroun
Selon la documentation : Tekton est un cadre open-source puissant et flexible pour créer des systèmes CI/CD, permettant aux développeurs de construire, tester et déployer sur des fournisseurs de cloud et des systèmes sur site. Jenkins et Tekton peuvent être utilisés pour tester, construire et déployer des applications, cependant Tekton est Cloud Native.
Avec Tekton, tout est représenté par des fichiers YAML. Les développeurs peuvent créer des Ressources Personnalisées (CR) de type Pipelines
et spécifier plusieurs Tasks
qu'ils souhaitent exécuter. Pour exécuter une ressource Pipeline, des ressources de type PipelineRun
doivent être créées.
Lorsque tekton est installé, un compte de service (sa) appelé pipeline est créé dans chaque namespace. Lorsqu'un Pipeline est exécuté, un pod sera généré en utilisant ce sa appelé pipeline
pour exécuter les tâches définies dans le fichier YAML.
Par défaut, le compte de service pipeline peut utiliser la capacité pipelines-scc
. Cela est dû à la configuration par défaut globale de tekton. En fait, la configuration globale de tekton est également un YAML dans un objet openshift appelé TektonConfig
qui peut être vu si vous avez des rôles de lecteur dans le cluster.
Dans n'importe quel espace de noms, si vous pouvez obtenir le jeton de compte de service de pipeline, vous pourrez utiliser pipelines-scc
.
Le problème est que le scc par défaut que le compte de service de pipeline peut utiliser est contrôlable par l'utilisateur. Cela peut être fait en utilisant une étiquette dans la définition de l'espace de noms. Par exemple, si je peux créer un espace de noms avec la définition yaml suivante :
L'opérateur tekton donnera au compte de service de pipeline dans test-namespace
la capacité d'utiliser le scc privileged. Cela permettra le montage du nœud.
Les documents Tekton sur la façon de restreindre l'override de scc en ajoutant une étiquette dans l'objet TektonConfig
.
Cette étiquette s'appelle max-allowed