Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak wdrożyć i przetestować funkcję GitHub Actions o wysokiej dostępności za pomocą usługi Azure Files w usłudze Azure Kubernetes Service (AKS).
Przykładowe przepływy pracy funkcji GitHub Actions
Repozytorium zawiera trzy przykładowe obciążenia w domyślnym folderze przepływu pracy GitHub do przetestowania własnych samodzielnie hostowanych modułów uruchamiających ARC.
-
dotnet-using-container.yml: Budowanie .NET przy użyciu kontenerów instaluje .NET SDK i przywraca, kompiluje oraz publikuje aplikację na samej maszynie uruchamiającej. -
dotnet-without-container.yml: Kompilacja platformy .NET bez kontenerów używa funkcji kontenera przepływu pracy do uruchamiania kontenera zestawu SDK platformy .NET i kompilowania wewnątrz aplikacji wewnątrz kontenera. Buforowanie nuGet jest instalowane domyślnie w tym kontenerze. -
container-service-test.yml: Przepływy pracy testowania kontenerów i usług również używają funkcji kontenerów do utworzenia kontenera z Ubuntu oraz usługi Redis. Oba kontenery działają na tym samym Podzie AKS. Buforowanie nuGet jest również instalowane domyślnie w tym kontenerze.
Wszystkie trzy przepływy pracy mają parametr wejściowy dla nazwy modułu uruchamiającego ARC, który ma być używany w runs-on: polu przepływu pracy. Jest to zmienna, która została wcześniej zdefiniowana ARC_RUNNER_SCALESET_NAME="arc-runner-set" . Aby ułatwić testowanie, użyjemy workflow_dispatch: opcji dla trzech przepływów pracy, aby uruchamiać te przepływy pracy tylko wtedy, gdy są wymagane ręcznie. Na karcie GitHub Actions w repozytorium wybierz jeden z przepływów pracy i uruchom go.
Po uruchomieniu przepływu pracy żąda uruchomienia runnera do ARC działającego w klastrze AKS. Gdy ten moduł uruchamiający, zasobnik na platformie Kubernetes, zostanie przydzielony do zadania, przepływ pracy zostanie uruchomiony w tym miejscu do ukończenia. Używamy podejścia modułu uruchamiającego efemerycznego, więc zasobnik z uruchomionym przepływem pracy jest niszczony na końcu, a nowy zostanie utworzony na potrzeby następnego uruchomienia przepływu pracy.
Usuwanie zasobów
Gdy wszystko będzie gotowe, możesz usunąć wszystkie zasoby utworzone w tym przewodniku przy użyciu następujących poleceń:
# 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}
Dalsze kroki
Aby dowiedzieć się więcej na temat wdrażania oprogramowania typu open source w usłudze Azure Kubernetes Service (AKS), zobacz następujący artykuł:
Współautorzy
Firma Microsoft utrzymuje ten artykuł. Następujący autorzy pierwotnie napisali ten tekst:
- Jorge Arterio | Starszy ambasador chmury
- Jeff Patterson | Główny menedżer produktu
- Rena Shah | Starszy menedżer produktu
- Shekhar Singh Sorot | Menedżer produktu 2
- Erin Schaffer | Content Developer 2