Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V této příručce nasadíte vysoce dostupný kontroler GitHub Actions a agenty v místním prostředí spuštěné ve službě Azure Kubernetes Service (AKS). Spouštěčé v místním prostředí používají pro trvalé úložiště sdílené složky SMB Azure.
Důležité
Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, které nasadíte, je vyloučeno z dohod o úrovni služeb AKS, omezené záruky a podpory Azure. Při používání open-source technologií spolu s AKS konzultujte dostupné možnosti podpory od příslušných komunit a správců projektů, abyste vytvořili plán.
Microsoft přebírá odpovědnost za vytváření balíčků s otevřeným zdrojovým kódem, které nasazujeme na AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete v tématu Řízení zranitelností pro AKS a Podpora pro AKS a rozsah pokrytí.
Co je kontroler nástroje Actions Runner (ARC)?
Actions Runner Controller (ARC) je operátor Kubernetes, který orchestruje a škáluje self-hostované běžce pro GitHub Actions. Arc spoléhá na trvalé svazky (PV) ke sdílení informací o úloze mezi předávacím podem a výpočetním podem. Další informace naleznete v tématu O kontroleru Runner Actions.
Proč používat gitHub Actions v místním prostředí v AKS?
Samoobslužné hostování spouštěčů GitHub Actions v AKS poskytuje organizacím větší kontrolu, škálovatelnost a zabezpečení nad infrastrukturou CI/CD. Místo toho, abyste se spoléhali na spouštěče hostované na GitHubu, které jsou sdílené a dočasné, nabízejí spouštěče v místním prostředí:
- Vlastní prostředí: Přizpůsobte spouštěče tak, aby odpovídaly konkrétním požadavkům na sestavení, testování nebo nasazení.
- Zvýšení výkonu: Využijte trvalé úložiště a ukládání do mezipaměti, abyste zkrátili dobu sestavení a zlepšili spolehlivost.
- Nákladová efektivita ve velkém: Dynamicky škálovat spouštěče ve vaší vlastní infrastruktuře a optimalizovat je pro časté nebo dlouhotrvající pracovní postupy.
- Lepší zabezpečení a izolace: Udržujte úplnou kontrolu nad infrastrukturou a daty, což je ideální pro regulovaná odvětví nebo citlivé úlohy.
Běžné případy použití
- Pipeliny CI/CD pro podniky: Pro týmy které potřebují konzistentní, zabezpečená a škálovatelná prostředí sestavení.
- Velké monorepozice nebo kanály ML: Ukládání do mezipaměti nebo trvalost artefaktů je zásadní.
- Optimalizace výkonu: Použití sdílených složek SMB úrovně Premium služby Azure Files ke snížení latence metadat a zvýšení IOPS
Požadavky
- Tato příručka předpokládá základní znalosti základních konceptů Kubernetes.
- Potřebujete roli vlastníka nebo správce uživatelských přístupů a předdefinované role Azure přispěvatele v předplatném ve vašem účtu Azure.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud chcete spouštět referenční příkazy CLI lokálně, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Pro více informací, viz Jak spustit Azure CLI v Docker kontejneru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Chcete-li dokončit proces ověřování, postupujte podle kroků zobrazených ve vašem terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Když budete vyzváni, nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spusťte az version, abyste zjistili verzi a závislé knihovny, které jsou nainstalovány. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Potřebujete aktivní účet GitHubu. Informace o cenách najdete podle nastavení vašeho úložiště.
- Potřebujete nainstalovat následující prostředky:
- Azure CLI verze 2.56 nebo novější
- Rozšíření Azure Kubernetes Service (AKS) ve verzi Preview
- jq verze 1.5 nebo novější.
- kubectl verze 1.21.0 nebo novější.
- openssl verze 3.3.1 nebo novější.
- Visual Studio Code nebo jiný editor kódu podle vašeho výběru.
Proces nasazení
V této příručce se naučíte:
- Pomocí Azure CLI vytvořte cluster AKS s více zónami.
- Nasaďte sdílenou složku Azure, která se použije v trvalých svazcích AKS.
- Nainstalujte na AKS kontroler GitHub Actions Runner (ARC).
- Nainstalujte škálovací sadu ARC Runners a připojte souborové sdílení na AKS.
- Spuštění ukázkového pracovního postupu pomocí GitHub Actions
Architektura nasazení
Tato referenční architektura ukazuje, jak implementovat řešení samo-hostovaného spouštěče GitHub Actions pomocí AKS a Azure File Share (SMB). Řešení umožňuje organizacím bezpečně spouštět úlohy pracovních postupů GitHubu ve své vlastní infrastruktuře Azure a současně udržovat efektivní správu a škálovatelnost úložiště.
Architektura se skládá ze tří hlavních komponent:
- Vrstva integrace GitHubu: Umožňuje připojit pracovní postupy z úložišť GitHubu k infrastruktuře Azure.
- Vrstva orchestrace AKS: Spravuje kontejnerizované instance runneru a jejich životní cyklus.
- Vrstva úložiště: Poskytuje trvalé a dočasné schopnosti úložiště pro běžce.
Vrstva integrace GitHubu
Vrstva integrace GitHubu propojuje pracovní postupy z úložišť GitHubu s vaší infrastrukturou Azure. Úlohy pracovního postupu se odesílají z GitHubu prostřednictvím api.github.com a githubusercontent.com na spouštěče v místním prostředí.
Vrstva clusterové orchestrace AKS
Vrstva orchestrace clusteru AKS spravuje kontejnerizované instance spouštěče a jejich životní cyklus. Cluster je rozdělen do dvou oborů názvů: arc-controller a arc-runners.
arc-controller spravuje infrastrukturní řešení spouštěče a naslouchací komponenty úloh.
arc-runners zpracovává tajné kódy, řízení přístupu a pody spouštěče. Spouštěče jsou kontejnerizované, používají dočasné úložiště a připojují se ke sdíleným a vyhrazeným svazkům.
Vrstva úložiště
Vrstva úložiště sdílených složek Azure poskytuje sdílenou složku NuGet s ReadWriteMany přístupem pro sdílené závislosti a dočasné úložiště pro běžící procesy, to vše podporované trvalými deklaracemi objemu.
Další krok
Přispěvatelé
Microsoft udržuje tento článek. Následující přispěvatelé ho původně napsali:
- Jorge Arterio | Vedoucí poradce pro cloud
- Jeff Patterson | Hlavní produktový manažer
- Rena Shah | Vedoucí produktový manažer
- Shekhar Singh Sorot | Produktový manažer 2
- Erin Schaffer | Content Developer 2