{"meta":{"title":"Implementación en Azure Kubernetes Service","intro":"Aprenda a implementar un proyecto en Azure Kubernetes Service (AKS) como parte de un flujo de trabajo de implementación continua (CD).","product":"GitHub Actions","breadcrumbs":[{"href":"/es/actions","title":"GitHub Actions"},{"href":"/es/actions/how-tos","title":"Procedimientos"},{"href":"/es/actions/how-tos/deploy","title":"Desplegar"},{"href":"/es/actions/how-tos/deploy/deploy-to-third-party-platforms","title":"Implementa en plataformas de terceros"},{"href":"/es/actions/how-tos/deploy/deploy-to-third-party-platforms/azure-kubernetes-service","title":"Azure Kubernetes Service"}],"documentType":"article"},"body":"# Implementación en Azure Kubernetes Service\n\nAprenda a implementar un proyecto en Azure Kubernetes Service (AKS) como parte de un flujo de trabajo de implementación continua (CD).\n\n## Requisitos previos\n\nAntes de crear tu flujo de trabajo de GitHub Actions, primero necesitarás completar los siguientes pasos de configuración:\n\n1. Cree un clúster de AKS de destino y un Azure Container Registry (ACR). Para obtener más información, consulte [Inicio rápido: Implementar un clúster de AKS mediante el portal de Azure - Servicio de Kubernetes de Azure](https://docs.microsoft.com/azure/aks/kubernetes-walkthrough-portal) y [Inicio rápido: Crear un registro en el portal - Registro de contenedores de Azure](https://docs.microsoft.com/azure/container-registry/container-registry-get-started-portal) en la documentación de Azure.\n\n1. Cree un secreto denominado `AZURE_CREDENTIALS` para almacenar las credenciales de Azure. Para obtener más información sobre cómo encontrar y estructurar el secreto, consulte <c1>la documentación de la acción<c0></c1>.\n\n## Crear un flujo de trabajo\n\nUna vez que hayas completado los prerequisitos, puedes proceder con la creación del flujo de trabajo.\n\nEn el flujo de trabajo de ejemplo siguiente se muestra cómo compilar e implementar un proyecto en Azure Kubernetes Service cuando se inserta código en el repositorio.\n\nDebajo de la clave `env` del flujo de trabajo, cambie los valores siguientes:\n*               `AZURE_CONTAINER_REGISTRY` por el nombre del registro de contenedor\n* `PROJECT_NAME` al nombre de su proyecto\n*               `RESOURCE_GROUP` por el grupo de recursos que contiene el clúster de AKS\n*               `CLUSTER_NAME` por el nombre del clúster de AKS\n\nEste flujo de trabajo usa el motor de representación de `helm` para la acción [`azure/k8s-bake`](https://github.com/Azure/k8s-bake). Si va a usar el motor de representación `helm`, cambie el valor de `CHART_PATH` por la ruta del archivo helm. Cambie `CHART_OVERRIDE_PATH` por una matriz de rutas de archivo de invalidación. Si usa otro motor de representación, actualice los parámetros de entrada que se envían a la acción `azure/k8s-bake`.\n\n```yaml copy\n# Este flujo de trabajo usa acciones que no GitHub no certifica.\n# Estas las proporcionan entidades terceras y las gobiernan\n# condiciones de servicio, políticas de privacidad y documentación de soporte\n# en línea.\n\n# GitHub recomienda anclar acciones a un SHA de confirmación.\n# Para obtener una versión más reciente, debes actualizar el SHA.\n# También puedes hacer referencia a una etiqueta o rama, pero la acción puede cambiar sin ninguna advertencia.\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## Información adicional\n\n* Para obtener la plantilla de flujo de trabajo original, vea [`azure-kubernetes-service.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-kubernetes-service.yml) en el repositorio `starter-workflows` de GitHub Actions.\n* Las acciones usadas en este flujo de trabajo son las acciones oficiales de 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) y [`Azure/k8s-deploy`](https://github.com/Azure/k8s-deploy).\n* Para obtener más ejemplos de flujos de trabajo de acción de GitHub que se implementan en Azure, consulte el repositorio [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples)."}