{"meta":{"title":"Erste Schritte mit Actions Runner Controller","intro":"In diesem Tutorial testest du die Grundlagen von Actions Runner Controller.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/enterprise-server@3.14/actions","title":"GitHub Actions"},{"href":"/de/enterprise-server@3.14/actions/tutorials","title":"Anleitungen"},{"href":"/de/enterprise-server@3.14/actions/tutorials/use-actions-runner-controller","title":"Actions Runner Controller (Steuerung für Aktionsläufer)"},{"href":"/de/enterprise-server@3.14/actions/tutorials/use-actions-runner-controller/get-started","title":"Erste Schritte"}],"documentType":"article"},"body":"# Erste Schritte mit Actions Runner Controller\n\nIn diesem Tutorial testest du die Grundlagen von Actions Runner Controller.\n\n## Voraussetzungen\n\nUm ARC zu verwenden, stelle sicher, dass du über Folgendes verfügst.\n\n* Ein Kubernetes-Cluster\n  * Für eine verwaltete Cloudumgebung kannst du AKS verwenden. Weitere Informationen finden Sie in der Azure-Dokumentation unter [Azure Kubernetes Service](https://azure.microsoft.com/en-us/products/kubernetes-service).\n  * Für ein lokales Setup kannst du minikube oder kind verwenden. Weitere Informationen findest du unter [minikube start](https://minikube.sigs.k8s.io/docs/start/) in der minikube-Dokumentation und unter [kind](https://kind.sigs.k8s.io/) in der kind-Dokumentation.\n\n* Helm 3\n  * Weitere Informationen findest du unter [Installieren von Helm](https://helm.sh/docs/intro/install/) in der Helm-Dokumentation.\n\n* Zwar ist es für die Bereitstellung von ARC nicht zwingend erforderlich, doch sollten Sie eine Methode zum Sammeln und Aufbewahren von Protokollen aus dem Controller, aus Listenern und kurzlebigen Runnern implementiert haben, ehe Sie ARC in Produktionsworkflows bereitstellen.\n\n## Installieren von Actions Runner Controller\n\n1. Gehe wie folgt vor, um den Operator und die benutzerdefinierten Ressourcendefinitionen (CRDs) in deinem Cluster zu installieren.\n\n   1. Aktualisiere in deinem Helm-Chart den `NAMESPACE`-Wert an der Position, wo deine Operatorpods erstellt werden sollen. Dieser Namespace muss den Zugriff auf den Kubernetes-API-Server ermöglichen.\n   2. Installieren Sie das Helm-Chart\n\n   Im folgenden Beispiel wird die neueste Version des Charts installiert. Um eine bestimmte Version zu installieren, kannst du das `--version`-Argument zusammen mit der Version des Charts übergeben, das du installieren möchtest. Sie finden die Liste der Versionen in der [GitHub Containerregistrierung](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   Weitere Helm-Konfigurationsoptionen findest du unter [`values.yaml`](https://github.com/actions/actions-runner-controller/blob/master/charts/gha-runner-scale-set-controller/values.yaml) in der ARC-Dokumentation.\n\n2. Um ARC die Authentifizierung bei GitHub zu ermöglichen, generiere ein personal access token (classic). Weitere Informationen findest du unter [Authentifizieren von ARC für die GitHub-API](/de/enterprise-server@3.14/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## Konfiguration eines Runner-Scale-Sets\n\n1. Führe den folgenden Befehl in deinem Terminal mit Werten aus deiner ARC-Konfiguration aus, um deine Runner-Skalierungsgruppe zu konfigurieren.\n\n   Beachte beim Ausführen des Befehls folgende Punkte:\n\n   * Aktualisiere den `INSTALLATION_NAME`-Wert mit Bedacht. Der Installationsname wird in deinen Workflows als Wert von `runs-on` genutzt. Weitere Informationen findest du unter [Workflowsyntax für GitHub Actions](/de/enterprise-server@3.14/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on).\n\n   * Aktualisieren Sie den `NAMESPACE`-Wert für den Ort, an dem die Runner-Pods erstellt werden sollen.\n\n   * Lege `GITHUB_CONFIG_URL` auf die URL deines Repositorys, deiner Organisation oder deines Unternehmens fest. Dies ist die Instanz, der die Läufer angehören.\n\n   * Legen Sie `GITHUB_PAT` zu einem GitHub personal access token mit den Bereichen `repo` und `manage_runners:org` für Repository- und Organisations-Runner und dem Bereich `manage_runners:enterprise` für Enterprise-Runner.\n\n   * Mit diesem Beispielbefehl wird die neueste Version des Helm-Charts installiert. Um eine bestimmte Version zu installieren, kannst du das `--version`-Argument zusammen mit der Version des Charts übergeben, das du installieren möchtest. Sie finden die Liste der Versionen in der [GitHub Containerregistrierung](https://github.com/actions/actions-runner-controller/pkgs/container/actions-runner-controller-charts%2Fgha-runner-scale-set).\n\n     > \\[!NOTE]\n     >\n     > * Als bewährte Sicherheitsmethode solltest du deine Runnerpods in einem anderen Namespace erstellen als dem, der deine Operatorpods enthält.\n     > * Erstelle als bewährte Sicherheitsmethode Kubernetes-Geheimnisse, und übergib die Geheimnisverweise. Die Übergabe deiner Geheimnisse im Nur-Text-Format über die CLI kann ein Sicherheitsrisiko darstellen. Weitere Informationen finden Sie unter [Bereitstellen von Runner-Skalierungssets mit Actions Runner Controller](/de/enterprise-server@3.14/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     Weitere Helm-Konfigurationsoptionen findest du unter [`values.yaml`](https://github.com/actions/actions-runner-controller/blob/master/charts/gha-runner-scale-set/values.yaml) in der ARC-Dokumentation.\n\n2. Führe in deinem Terminal den folgenden Befehl aus, um deine Installation zu überprüfen.\n\n   ```bash copy\n   helm list -A\n   ```\n\n   Es sollte in etwa folgende Ausgabe angezeigt werden:\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. Führe den folgenden Befehl in deinem Terminal aus, um den Managerpod zu überprüfen.\n\n   ```bash copy\n   kubectl get pods -n arc-systems\n   ```\n\n   Wenn alles erfolgreich installiert wurde, wird der Status der Pods als **Läuft** angezeigt.\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\nWenn die Installation nicht erfolgreich war, findest du Informationen zur Problembehandlung unter [Problembehandlung bei Actions Runner Controller-Fehlern](/de/enterprise-server@3.14/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors).\n\n## Verwenden von Runner-Skalierungsgruppen\n\nErstelle nun einen einfachen Testworkflow, der die Runner der Runner-Skalierungsgruppe verwendet, und führe Ihn aus.\n\n1. Erstelle in einem Repository einen Workflow ähnlich dem folgenden Beispiel. Der `runs-on`-Wert sollte mit dem Helm-Installationsnamen übereinstimmen, den du beim Installieren des Autoscaling-Runner-Sets verwendet hast.\n\n   Weitere Informationen zum Hinzufügen eines Workflows zu einem Repository findest du unter [Schnellstart für GitHub Actions](/de/enterprise-server@3.14/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. Nachdem du den Workflow deinem Repository hinzugefügt hast, löse den Workflow manuell aus. Weitere Informationen findest du unter [Manuelles Ausführen eines Workflows](/de/enterprise-server@3.14/actions/managing-workflow-runs/manually-running-a-workflow).\n\n3. Führe den folgenden Befehl über deinem Terminal aus, um die während der Ausführung des Workflows erstellten Runnerpods anzuzeigen.\n\n   ```bash copy\n   kubectl get pods -n arc-runners -w\n   ```\n\n   Eine erfolgreiche Ausgabe ähnelt der folgenden.\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## Nächste Schritte\n\nActions Runner Controller kann dir helfen, deine GitHub Actions-Runner effizient zu verwalten. Sind Sie bereit für die ersten Schritte? Hier findest du einige hilfreiche Ressourcen für deine nächsten Schritte mit ARC:\n\n* Detaillierte Informationen zur Authentifizierung findest du unter [Authentifizieren von ARC für die GitHub-API](/de/enterprise-server@3.14/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/authenticating-to-the-github-api).\n* Hilfe zur Verwendung von ARC-Runnern in deinen Workflows findest du unter [Verwenden von Actions Runner Controller-Runnern in einem Workflow](/de/enterprise-server@3.14/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/using-actions-runner-controller-runners-in-a-workflow).\n* Informationen zur Bereitstellung findest du unter [Bereitstellen von Runner-Skalierungssets mit Actions Runner Controller](/de/enterprise-server@3.14/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller).\n\n## Rechtliche Hinweise\n\nTeile wurden von <https://github.com/actions/actions-runner-controller/> unter der Apache-2.0-Lizenz übernommen:\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```"}