在本文中,您將瞭解如何使用 Azure Kubernetes Service (AKS) 上的 Azure 檔案儲存體來部署和測試高可用性 GitHub Actions。
GitHub Actions 範例工作流程
該倉庫在預設的 GitHub 工作流程資料夾 中,有三個範例工作負載供你測試自架 ARC 執行器:
-
dotnet-using-container.yml:.NET 使用容器建置,安裝 .NET SDK,並在執行器本身上還原/建置/發佈應用程式。 -
dotnet-without-container.yml:.NET 不帶容器的建置會使用工作流程容器功能來執行 .NET SDK 容器,並在容器內的應用程式內建置。 NuGet 快取預設會掛接在此容器上。 -
container-service-test.yml:容器和服務測試測試工作流程也使用容器功能來建立 Ubuntu 容器和 Redis 服務。 這兩個容器都會在相同的 AKS Pod 上執行。 NuGet 快取預設也會掛接在此容器上。
所有三個工作流程都有一個輸入參數,該參數用於在工作流程中的 runs-on: 欄位上設定 ARC 執行器名稱。 這是 ARC_RUNNER_SCALESET_NAME="arc-runner-set" 我們之前定義的變數。 為了方便測試,我們在三個工作流程上使用 workflow_dispatch: 選項,僅在手動請求時執行這些工作流程。 在存放庫的 GitHub Actions 索引標籤上,選取其中一個工作流程並執行工作負載。
工作流程執行後,它會要求 ARC 執行器在 AKS 叢集上執行。 一旦將此執行器(Kubernetes 上的 Pod)分配給這項工作,工作流程即可在該處運行直至完成。 我們使用暫時執行器方法,所以執行工作流程的 Pod 會在結尾終結,並針對下一個工作流程執行建立新的 Pod。
刪除資源
當您準備就緒時,您可以使用下列命令刪除本指南中建立的所有資源:
# 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}
後續步驟
若要深入瞭解如何在 Azure Kubernetes Service (AKS) 上部署開放原始碼軟體,請參閱下列文章:
貢獻者們
本文由 Microsoft 維護。 原始撰寫此內容的貢獻者如下:
- 豪爾赫·阿特里奧 |資深雲端倡導者
- 傑夫·帕特森 |首席產品經理
- 蕾娜·沙阿 |資深產品經理
- 謝卡爾·辛格·索羅特 |產品經理 2
- Erin Schaffer |內容開發人員 2