Azure Kubernetes Service'te (AKS) yüksek oranda kullanılabilir GitHub Actions'ı dağıtma ve test edin

Bu makalede, Azure Kubernetes Service'te (AKS) Azure Dosyalar ile yüksek oranda kullanılabilir GitHub Actions'ı dağıtmayı ve test etmeyi öğreneceksiniz.

GitHub Actions örnek iş akışları

Depo, kendi barındırdığınız ARC çalıştırıcılarını test etmek için varsayılan GitHub iş akışı klasöründe üç örnek iş yükü içerir.

  • dotnet-using-container.yml: Kapsayıcılar kullanarak yapılan .NET derlemesi, çalıştırıcı üzerinde .NET SDK'sını yükler ve uygulamayı geri yükler, derler ve yayımlar.
  • dotnet-without-container.yml: Kapsayıcısız .NET Derlemesi, iş akışı kapsayıcı özelliğini kullanarak bir .NET SDK kapsayıcısı çalıştırır ve kapsayıcı içindeki uygulamanın içinde derleme yapar. NuGet önbelleğe alma varsayılan olarak bu kapsayıcıya bağlanır.
  • container-service-test.yml: Kapsayıcı ve Hizmet Testi test iş akışları ayrıca bir Ubuntu kapsayıcısı ve Redis hizmeti oluşturmak için kapsayıcılar özelliğini kullanır. Her iki kapsayıcı da aynı AKS Pod üzerinde çalışır. NuGet önbelleğe alma da varsayılan olarak bu kapsayıcıya bağlanır.

Üç iş akışının da iş akışınızın alanında kullanılacak runs-on: ARC çalıştırıcısı adı için bir giriş parametresi vardır. Bu, daha önce tanımladığımız değişkendir ARC_RUNNER_SCALESET_NAME="arc-runner-set" . Testleri kolaylaştırmak için üç iş akışındaki workflow_dispatch: seçeneğini kullanarak bu iş akışlarını yalnızca elle talep edildiğinde çalıştırıyoruz. Deponuzun GitHub Actions sekmesinde iş akışlarından birini seçin ve iş yükünü çalıştırın.

İş akışı çalışmaya başladığında, AKS kümesinde çalışan ARC için bir çalıştırıcı isteğinde bulunur. Bu çalıştırıcı, Kubernetes'teki bir pod iş için ayrıldığında, iş akışı tamamlanmak üzere orada çalışır. Kısa ömürlü çalıştırıcı yaklaşımını kullanırız, bu nedenle iş akışını çalıştıran pod sonunda yok edilir ve sonraki iş akışı çalıştırması için yeni bir tane oluşturulur.

Kaynakları silme

Hazır olduğunuzda, aşağıdaki komutları kullanarak bu kılavuzda oluşturulan tüm kaynakları silebilirsiniz:

# 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} 

Sonraki Adımlar

Azure Kubernetes Service'te (AKS) açık kaynak yazılım dağıtma hakkında daha fazla bilgi edinmek için aşağıdaki makaleye bakın:

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Başlangıçta aşağıdaki katkıda bulunanlar yazdı:

  • Jorge Arterio | Üst Düzey Bulut Danışmanı
  • Jeff Patterson | Ana Ürün Yöneticisi
  • Rena Shah | Kıdemli Ürün Yöneticisi
  • Shekhar Singh Sorot | Product Manager 2
  • Erin Schaffer | İçerik Geliştirici 2