{"meta":{"title":"Bereitstellen in Azure Kubernetes Service","intro":"Erfahren Sie, wie Sie ein Projekt als Teil eines CD-Workflows (Continuous Deployment) für Azure Kubernetes Service (AKS) bereitstellen.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/actions","title":"GitHub Actions"},{"href":"/de/actions/how-tos","title":"Anleitungen"},{"href":"/de/actions/how-tos/deploy","title":"Bereitstellen"},{"href":"/de/actions/how-tos/deploy/deploy-to-third-party-platforms","title":"Bereitstellen auf Drittanbieterplattformen"},{"href":"/de/actions/how-tos/deploy/deploy-to-third-party-platforms/azure-kubernetes-service","title":"Azure Kubernetes Service"}],"documentType":"article"},"body":"# Bereitstellen in Azure Kubernetes Service\n\nErfahren Sie, wie Sie ein Projekt als Teil eines CD-Workflows (Continuous Deployment) für Azure Kubernetes Service (AKS) bereitstellen.\n\n## Voraussetzungen\n\nBevor du deinen GitHub Actions-Workflow erstellst, musst du die folgenden Einrichtungsschritte ausführen:\n\n1. Erstellen Sie einen Ziel-AKS-Cluster und eine Azure Container Registry (ACR). Weitere Informationen finden Sie unter [Quickstart: Bereitstellen eines AKS-Clusters mithilfe des Azure-Portals – Azure Kubernetes Service](https://docs.microsoft.com/azure/aks/kubernetes-walkthrough-portal) und [Quickstart – Erstellen der Registrierung im Portal – Azure Container Registry](https://docs.microsoft.com/azure/container-registry/container-registry-get-started-portal) in der Azure Dokumentation.\n\n1. Erstellen Sie einen geheimen Schlüssel namens `AZURE_CREDENTIALS`, um Ihre Azure Anmeldeinformationen zu speichern. Weitere Informationen dazu, wie Sie diese Informationen finden und den geheimen Schlüssel strukturieren, finden Sie in [the `Azure/login` action documentation](https://github.com/Azure/login#configure-a-service-principal-with-a-secret).\n\n## Erstellen des Workflows\n\nNachdem die Voraussetzungen erfüllt sind, kannst du mit dem Erstellen des Workflows fortfahren.\n\nIm folgenden Beispielworkflow wird veranschaulicht, wie Sie ein Projekt erstellen und in Azure Kubernetes Service bereitstellen, wenn Code an Ihr Repository gepusht wird.\n\nÄndere unter dem Workflowschlüssel `env` die folgenden Werte:\n* `AZURE_CONTAINER_REGISTRY` zu dem Namen Ihrer Containerregistrierung\n* `PROJECT_NAME` zum Namen deines Projekts\n* `RESOURCE_GROUP` zur Ressourcengruppe, die deinen AKS-Cluster enthält\n*               `CLUSTER_NAME` zum Namen deines AKS-Clusters\n\nDieser Workflow verwendet das `helm` Rendermodul für die Aktion [`azure/k8s-bake`](https://github.com/Azure/k8s-bake). Wenn du das `helm`-Rendermodul verwendest, ändere den Wert von `CHART_PATH` in den Pfad deiner Helm-Datei. Ändere `CHART_OVERRIDE_PATH` in ein Array aus Außerkraftsetzungsdateipfaden. Wenn du ein anderes Rendermodul verwendest, aktualisiere die Eingabeparameter, die an die Aktion `azure/k8s-bake` gesendet werden.\n\n```yaml copy\n# Dieser Workflow verwendet Aktionen, die nicht von GitHub zertifiziert sind.\n# Sie werden von einem Drittanbieter bereitgestellt und unterliegen\n# separaten Nutzungsbedingungen, Datenschutzbestimmungen und Support\n# Onlinedokumentation.\n\n# GitHub empfiehlt, Aktionen an einen Commit-SHA anzuheften.\n# Um eine neuere Version zu erhalten, musst du den SHA aktualisieren.\n# Du kannst auch auf ein Tag oder einen Branch verweisen, aber die Aktion kann sich ohne Vorwarnung ändern.\n\nname: Build and deploy to Azure Kubernetes Service\n\nenv:\n  AZURE_CONTAINER_REGISTRY: MY_REGISTRY_NAME # set this to the name of your container registry\n  PROJECT_NAME: MY_PROJECT_NAME              # set this to your project's name\n  RESOURCE_GROUP: MY_RESOURCE_GROUP          # set this to the resource group containing your AKS cluster\n  CLUSTER_NAME: MY_CLUSTER_NAME              # set this to the name of your AKS cluster\n  REGISTRY_URL: MY_REGISTRY_URL              # set this to the URL of your registry\n  # If you bake using helm:\n  CHART_PATH: MY_HELM_FILE                   # set this to the path to your helm file\n  CHART_OVERRIDE_PATH: MY_OVERRIDE_FILES     # set this to an array of override file paths\n\non: [push]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v6\n\n    - name: Azure Login\n      uses: azure/login@14a755a4e2fd6dff25794233def4f2cf3f866955\n      with:\n        creds: ${{ secrets.AZURE_CREDENTIALS }}\n\n    - name: Build image on ACR\n      uses: azure/CLI@61bb69d64d613b52663984bf12d6bac8fd7b3cc8\n      with:\n        azcliversion: 2.29.1\n        inlineScript: |\n          az configure --defaults acr=${{ env.AZURE_CONTAINER_REGISTRY }}\n          az acr build -t -t ${{ env.REGISTRY_URL }}/${{ env.PROJECT_NAME }}:${{ github.sha }}\n\n    - name: Gets K8s context\n      uses: azure/aks-set-context@94ccc775c1997a3fcfbfbce3c459fec87e0ab188\n      with:\n          creds: ${{ secrets.AZURE_CREDENTIALS }}\n          resource-group: ${{ env.RESOURCE_GROUP }}\n          cluster-name: ${{ env.CLUSTER_NAME }}\n      id: login\n\n    - name: Configure deployment\n      uses: azure/k8s-bake@61041e8c2f75c1f01186c8f05fb8b24e1fc507d8\n      with:\n        renderEngine: 'helm'\n        helmChart: ${{ env.CHART_PATH }}\n        overrideFiles: ${{ env.CHART_OVERRIDE_PATH }}\n        overrides: |\n          replicas:2\n        helm-version: 'latest'\n      id: bake\n\n    - name: Deploys application\n      uses: Azure/k8s-deploy@dd4bbd13a5abd2fc9ca8bdcb8aee152bb718fa78\n      with:\n        manifests: ${{ steps.bake.outputs.manifestsBundle }}\n        images: |\n          ${{ env.AZURE_CONTAINER_REGISTRY }}.azurecr.io/${{ env.PROJECT_NAME }}:${{ github.sha }}\n        imagepullsecrets: |\n          ${{ env.PROJECT_NAME }}\n```\n\n## Weitere Informationen\n\n* Die ursprüngliche Workflowvorlage finden Sie unter [`azure-kubernetes-service.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-kubernetes-service.yml) im GitHub Actions-Repository `starter-workflows`.\n* Die in diesem Workflow verwendeten Aktionen sind die offiziellen Azure [`Azure/login`](https://github.com/Azure/login),[`Azure/aks-set-context`](https://github.com/Azure/aks-set-context), [`Azure/CLI`](https://github.com/Azure/CLI), [`Azure/k8s-bake`](https://github.com/Azure/k8s-bake) und [`Azure/k8s-deploy`](https://github.com/Azure/k8s-deploy)actions.\n* Weitere Beispiele für GitHub Aktionsworkflows, die für Azure bereitgestellt werden, finden Sie im Repository [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples)."}