{"meta":{"title":"Prise en main du contrôleur Runner Actions","intro":"Dans ce tutoriel, vous allez découvrir les bases de Actions Runner Controller.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/tutorials","title":"Tutoriels"},{"href":"/fr/actions/tutorials/use-actions-runner-controller","title":"Actions Runner Controller (Contrôleur de Gestionnaire d'Actions)"},{"href":"/fr/actions/tutorials/use-actions-runner-controller/get-started","title":"Get started"}],"documentType":"article"},"body":"# Prise en main du contrôleur Runner Actions\n\nDans ce tutoriel, vous allez découvrir les bases de Actions Runner Controller.\n\n## Prerequisites\n\nPour utiliser ARC, veillez à disposer des éléments suivants.\n\n* Un cluster Kubernetes\n  * Pour un environnement cloud managé, vous pouvez utiliser AKS. Pour plus d’informations, consultez [Azure Kubernetes Service](https://azure.microsoft.com/en-us/products/kubernetes-service) dans la documentation Azure.\n  * Pour une configuration locale, vous pouvez utiliser minikube ou kind. Pour plus d’informations, consultez [minikube start](https://minikube.sigs.k8s.io/docs/start/) dans la documentation de minikube et [kind](https://kind.sigs.k8s.io/) dans la documentation de kind.\n\n* Helm 3\n  * Pour plus d’informations, consultez « [Installation de Helm](https://helm.sh/docs/intro/install/) » dans la documentation de Helm.\n\n* Bien qu’il ne soit pas nécessaire de déployer ARC, nous vous recommandons de bien veiller à avoir implémenté un moyen de collecter et de conserver les journaux issus du contrôleur, des écouteurs et des exécuteurs éphémères avant de déployer ARC dans des flux de travail de production.\n\n## Installation d’Actions Runner Controller\n\n1. Pour installer l’opérateur et les définitions de ressources personnalisées (CRD) dans votre cluster, procédez comme suit.\n\n   1. Dans votre chart Helm, mettez à jour la valeur `NAMESPACE` avec l’emplacement où vous souhaitez que vos pods d’opérateur soient créés. Cet espace de noms doit autoriser l’accès au serveur d’API Kubernetes.\n   2. Installez le chart Helm.\n\n   L’exemple suivant installe la dernière version du chart. Pour installer une version spécifique, vous pouvez passer l’argument `--version` avec la version du chart que vous souhaitez installer. Vous trouverez la liste des versions dans le [GitHub Container Registry](https://github.com/actions/actions-runner-controller/pkgs/container/actions-runner-controller-charts%2Fgha-runner-scale-set-controller).\n\n   ```bash copy\n   NAMESPACE=\"arc-systems\"\n   helm install arc \\\n       --namespace \"${NAMESPACE}\" \\\n       --create-namespace \\\n       oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller\n   ```\n\n   Pour obtenir d’autres options de configuration de Helm, consultez [`values.yaml`](https://github.com/actions/actions-runner-controller/blob/master/charts/gha-runner-scale-set-controller/values.yaml) dans la documentation d’ARC.\n\n2. Pour permettre à ARC de s’authentifier auprès de GitHub, générez un personal access token (classic). Pour plus d’informations, consultez « [Authentification d'ARC pour l'API GitHub](/fr/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/authenticating-to-the-github-api#deploying-using-personal-access-token-classic-authentication) ».\n\n## Configuration d’un groupe identique d’exécuteurs\n\n1. Pour configurer votre ensemble échelonné d’exécuteurs, exécutez la commande suivante dans votre terminal en utilisant les valeurs de la configuration de votre ARC.\n\n   Lorsque vous exécutez la commande, gardez les points suivants à l’esprit.\n\n   * Mettez à jour la valeur `INSTALLATION_NAME` en faisant bien attention. Vous utiliserez le nom de l’installation comme valeur de `runs-on` dans vos workflows. Pour plus d’informations, consultez « [Syntaxe de flux de travail pour GitHub Actions](/fr/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on) ».\n\n   * Mettez à jour la valeur `NAMESPACE` avec l’emplacement où vous souhaitez que les pods d’exécuteur soient créés.\n\n   * Définissez `GITHUB_CONFIG_URL` avec l’URL de votre dépôt, organisation ou entreprise. Il s'agit de l'entité dont les coureurs feront partie.\n\n   * Définissez `GITHUB_PAT` sur un GitHub personal access token avec les étendues `repo` et `admin:org` pour les runners de référentiel et d’organisation.\n\n   * Cet exemple de commande installe la dernière version du chart Helm. Pour installer une version spécifique, vous pouvez passer l’argument `--version` avec la version du chart que vous souhaitez installer. Vous trouverez la liste des versions dans le [GitHub Container Registry](https://github.com/actions/actions-runner-controller/pkgs/container/actions-runner-controller-charts%2Fgha-runner-scale-set).\n\n     > \\[!NOTE]\n     >\n     > * Comme meilleure pratique de sécurité, créez les pods de votre exécuteur dans un espace de noms différent de l’espace de noms contenant les pods de votre opérateur.\n     > * Comme meilleure pratique de sécurité, créez des secrets Kubernetes et transmettez les références des secrets. La transmission de vos secrets en texte brut via l’interface CLI peut présenter un risque de sécurité. Pour plus d’informations, consultez [Déploiement de groupes identiques d’exécuteurs avec Actions Runner Controller](/fr/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller).\n\n     ```bash copy\n     INSTALLATION_NAME=\"arc-runner-set\"\n     NAMESPACE=\"arc-runners\"\n     GITHUB_CONFIG_URL=\"https://github.com/<your_enterprise/org/repo>\"\n     GITHUB_PAT=\"<PAT>\"\n     helm install \"${INSTALLATION_NAME}\" \\\n         --namespace \"${NAMESPACE}\" \\\n         --create-namespace \\\n         --set githubConfigUrl=\"${GITHUB_CONFIG_URL}\" \\\n         --set githubConfigSecret.github_token=\"${GITHUB_PAT}\" \\\n         oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set\n     ```\n\n     Pour obtenir d’autres options de configuration de Helm, consultez [`values.yaml`](https://github.com/actions/actions-runner-controller/blob/master/charts/gha-runner-scale-set/values.yaml) dans la documentation d’ARC.\n\n2. À partir de votre terminal, exécutez la commande suivante pour vérifier votre installation.\n\n   ```bash copy\n   helm list -A\n   ```\n\n   Le résultat ressemble à ce qui suit.\n\n   ```bash\n   NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                                       APP VERSION\n   arc             arc-systems     1               2023-04-12 11:45:59.152090536 +0000 UTC deployed        gha-runner-scale-set-controller-0.4.0       0.4.0\n   arc-runner-set  arc-runners     1               2023-04-12 11:46:13.451041354 +0000 UTC deployed        gha-runner-scale-set-0.4.0                  0.4.0\n   ```\n\n3. Pour vérifier le pod de gestionnaire, exécutez la commande suivante dans votre terminal.\n\n   ```bash copy\n   kubectl get pods -n arc-systems\n   ```\n\n   Si tout a été installé correctement, l’état des pods s’affiche comme **En cours d’exécution**.\n\n   ```bash\n   NAME                                                   READY   STATUS    RESTARTS   AGE\n   arc-gha-runner-scale-set-controller-594cdc976f-m7cjs   1/1     Running   0          64s\n   arc-runner-set-754b578d-listener                       1/1     Running   0          12s\n   ```\n\nSi votre installation n’a pas réussi, consultez [Résolution des erreurs d’Actions Runner Controller](/fr/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors) pour obtenir des informations de dépannage.\n\n## Utilisation des groupes identiques d’exécuteurs\n\nVous allez maintenant créer et exécuter un workflow test simple qui utilise les exécuteurs de groupes identiques d’exécuteurs.\n\n1. Dans un dépôt, créez un workflow similaire à l’exemple suivant. La valeur `runs-on` doit correspondre au nom d’installation Helm que vous avez utilisé lorsque vous avez installé l’ensemble d’exécuteurs pouvant se mettre à l’échelle automatiquement.\n\n   Pour plus d’informations sur l’ajout de workflows dans un dépôt, consultez [Démarrage rapide pour GitHub Actions](/fr/actions/quickstart#creating-your-first-workflow).\n\n   ```yaml copy\n   name: Actions Runner Controller Demo\n   on:\n     workflow_dispatch:\n\n   jobs:\n     Explore-GitHub-Actions:\n       # You need to use the INSTALLATION_NAME from the previous step\n       runs-on: arc-runner-set\n       steps:\n       - run: echo \"🎉 This job uses runner scale set runners!\"\n   ```\n\n2. Une fois que vous avez ajouté le workflow dans votre dépôt, déclenchez-le manuellement. Pour plus d’informations, consultez « [Exécution manuelle d’un workflow](/fr/actions/managing-workflow-runs/manually-running-a-workflow) ».\n\n3. Pour afficher les pods d’exécuteur en cours de création pendant l’exécution du workflow, exécutez la commande suivante à partir de votre terminal.\n\n   ```bash copy\n   kubectl get pods -n arc-runners -w\n   ```\n\n   Une sortie réussie ressemble à ce qui suit.\n\n   ```bash\n   NAMESPACE     NAME                                                  READY   STATUS    RESTARTS      AGE\n   arc-runners   arc-runner-set-rmrgw-runner-p9p5n                     1/1     Running   0             21s\n   ```\n\n## Étapes suivantes\n\nActions Runner Controller peut vous aider à gérer efficacement vos exécuteurs GitHub Actions. Prêt à commencer ? Voici quelques ressources utiles pour aller plus loin avec ARC :\n\n* Pour obtenir des informations détaillées sur l’authentification, consultez [Authentification d'ARC pour l'API GitHub](/fr/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/authenticating-to-the-github-api).\n* Pour obtenir de l’aide sur l’utilisation des exécuteurs ARC dans vos workflows, consultez [Utilisation des exécuteurs de l'Actions Runner Controller dans un flux de travail](/fr/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/using-actions-runner-controller-runners-in-a-workflow).\n* Pour obtenir des informations de déploiement, consultez [Déploiement de groupes identiques d’exécuteurs avec Actions Runner Controller](/fr/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller).\n\n## Mentions légales\n\nCertaines parties ont été adaptées à partir de <https://github.com/actions/actions-runner-controller/> sous la licence Apache-2.0 :\n\n```text\nCopyright 2019 Moto Ishizawa\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```"}