Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, aprenderá a implementar y probar acciones de GitHub de alta disponibilidad con Azure Files en Azure Kubernetes Service (AKS).
Flujos de trabajo de ejemplo de Acciones de GitHub
El repositorio tiene tres cargas de trabajo de ejemplo en la carpeta de flujo de trabajo predeterminada de GitHub para probar los ejecutores de ARC autohospedados:
-
dotnet-using-container.yml: Compilación de .NET mediante contenedores instala el SDK de .NET y restaura, compila o publica la aplicación en el propio ejecutor. -
dotnet-without-container.yml: la compilación de .NET sin contenedores usa la característica de contenedor de flujo de trabajo para ejecutar un contenedor del SDK de .NET y compilar dentro de la aplicación dentro del contenedor. El almacenamiento en caché de NuGet se monta de forma predeterminada en este contenedor. -
container-service-test.yml: Los flujos de trabajo de pruebas para contenedores y servicios también usan la característica de contenedores para crear un contenedor de Ubuntu y un servicio de Redis. Ambos contenedores se ejecutan en el mismo pod de AKS. El almacenamiento en caché de NuGet también se monta de forma predeterminada en este contenedor.
Los tres flujos de trabajo tienen un parámetro de entrada para el nombre del ejecutor de ARC que se usará en el runs-on: campo del flujo de trabajo. Esta es la ARC_RUNNER_SCALESET_NAME="arc-runner-set" variable que definimos anteriormente. Para facilitar las pruebas, usamos la workflow_dispatch: opción en los tres flujos de trabajo para ejecutar solo esos flujos de trabajo cuando se solicita manualmente. En la pestaña Acciones de GitHub del repositorio, seleccione uno de los flujos de trabajo y ejecute la carga de trabajo.
Una vez que se ejecuta el flujo de trabajo, solicita a un ejecutor a ARC que se ejecute en el clúster de AKS. Una vez que este ejecutor, un pod en Kubernetes, se asigna para el trabajo, el flujo de trabajo se ejecuta allí hasta su finalización. Usamos el enfoque del ejecutor efímero, por lo que el pod que ejecuta el flujo de trabajo se destruye al final y se crea uno nuevo para la siguiente ejecución de flujo de trabajo.
Eliminación de los recursos
Cuando esté listo, puede eliminar todos los recursos creados en esta guía mediante los siguientes comandos:
# Delete ARC runners scale sets
helm delete "${ARC_RUNNER_SCALESET_NAME}" -n "${NAMESPACE_ARC_RUNNERS}" --wait
# Delete ARC runners scale set controller
helm delete "${ARC_CONTROLLER_NAME}" -n "${NAMESPACE_ARC_CONTROLLER}" --wait
# Delete Azure File share configurations
kubectl delete -f ./install/arc-runners-set-pv-pvc.yaml --wait
kubectl delete -f ./install/arc-runners-storage-class-files.yaml --wait
# Delete secrets
kubectl delete secret azure-storage-secret -n arc-runners --wait
kubectl delete secret ${ARC_RUNNER_GITHUB_SECRET_NAME} -n arc-runners --wait
# Delete container runner configmap pod spec
kubectl delete -f ./install/arc-runners-set-container-pod-spec.yaml --wait
# Delete namespaces
kubectl delete namespace ${NAMESPACE_ARC_RUNNERS}
kubectl delete namespace ${NAMESPACE_ARC_CONTROLLER}
Pasos siguientes
Para más información sobre la implementación de software de código abierto en Azure Kubernetes Service (AKS), consulte el siguiente artículo:
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores:
- Jorge Arterio | Promotor sénior de la nube
- Jeff Patterson | Administrador de productos principal
- Rena Shah | Jefe de producto sénior
- Shekhar Singh Sorot | Administrador de productos 2
- Erin Schaffer | Desarrollador de contenido 2