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.
Automatizovaná nasazení Azure Kubernetes Fleet Manageru se dají použít k sestavení a nasazení aplikace z úložiště kódu do jednoho nebo více clusterů AKS ve flotile. Automatizovaná nasazení zjednodušují proces nastavení pracovního postupu GitHub Action pro sestavení a nasazení kódu. Po připojení se pipeline spustí při každém novém commitu.
Automatizovaná nasazení jsou založená na draft.sh. Při vytváření nového pracovního postupu nasazení můžete použít existující soubor Dockerfile, vygenerovat soubor Dockerfile, použít existující manifesty Kubernetes nebo vygenerovat manifesty Kubernetes. Vygenerované manifesty se vytvářejí s ohledem na osvědčené postupy zabezpečení a odolnosti.
Důležité
Funkce Azure Kubernetes Fleet Manageru ve verzi Preview jsou dostupné na samoobslužné bázi s výslovným souhlasem. Ukázky jsou poskytovány "jak jsou" a "podle aktuální dostupnosti" a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Verze Preview Azure Kubernetes Fleet Manageru jsou částečně pokryty zákaznickou podporou s vynaložením maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití.
Požadavky
- Účet GitHubu s aplikací, která se má nasadit.
- Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
- Přečtěte si koncepční přehledy automatizovaných nasazení a šíření prostředků , abyste porozuměli konceptům a terminologii používaným v tomto článku.
- Správce flotily Kubernetes s hlavním clusterem a členskými clustery. Pokud ho nemáte, přečtěte si téma Vytvoření prostředku Azure Kubernetes Fleet Manageru a připojení k členským clusterům pomocí Azure CLI.
- Uživatel, který konfiguraci dokončí, má oprávnění k rozhraní Kubernetes API clusteru Centra Fleet Manageru. Další informace najdete v tématu Přístup k rozhraní KUBERNEtes API , kde najdete další podrobnosti.
- Jmenný prostor Kubernetes už nasazený v ústředním clusteru Fleet Manageru.
- Azure Container Registry (ACR) s právy AcrPull udělenými členům clusterů AKS.
Přenesení zdrojového kódu aplikace
Vyhledejte Správce vozového parku Azure Kubernetes a spusťte konfiguraci automatizovaného nasazení.
- Na webu Azure Portal na horním panelu hledání vyhledejte Kubernetes Fleet Manager .
- Ve výsledcích hledání vyberte správce flotily Kubernetes.
- V seznamu prostředků vyberte správce flotily pro Azure Kubernetes.
- V nabídce služby Fleet Manager v části Prostředky flotily vyberte Automatizovaná nasazení.
- V horní nabídce vyberte + Vytvořit . Pokud je toto nasazení vaše první, můžete také vybrat Vytvořit v oblasti seznamu nasazení.
Připojení k úložišti zdrojového kódu
Vytvořte pracovní postup a autorizujete ho pro připojení k požadovanému úložišti a větvi zdrojového kódu. Na kartě Úložiště vyplňte následující podrobnosti.
- Do pole Název pracovního postupu zadejte smysluplný název pracovního postupu.
- Potom výběrem možnosti Autorizovat přístup k autorizaci uživatele na GitHubu získáte seznam úložišť.
- Pro zdroj úložiště vyberte jednu z těchto:
- Moje úložiště pro úložiště, která aktuálně autorizovaný uživatel GitHubu vlastní, nebo;
- Všechna úložiště pro úložiště, ke které má aktuálně autorizovaný uživatel GitHubu přístup. Musíte vybrat organizaci , která vlastní úložiště.
- Zvolte úložiště a větev.
- Vyberte tlačítko Další.
Specifikujte image aplikace a konfiguraci nasazení
Pokud chcete připravit aplikaci pro spuštění v Kubernetes, musíte ji sestavit do image kontejneru, kterou uložíte v registru kontejneru. Soubor Dockerfile obsahuje pokyny k sestavení image kontejneru. Pokud úložiště zdrojového kódu ještě nemá soubor Dockerfile, můžou ho automatizovaná nasazení vygenerovat za vás.
Pokud už vaše úložiště kódu obsahuje soubor Dockerfile, můžete ho použít k sestavení image aplikace.
- Vyberte Existující soubor Dockerfile pro konfiguraci kontejneru.
- Vyberte z úložiště soubor Dockerfile.
- Zadejte kontext sestavení Dockerfile pro předání sady souborů a adresářů procesu sestavení (obvykle stejná složka jako Dockerfile). Tyto soubory se používají k sestavení image a jsou zahrnuté do konečné image, pokud nejsou ignorovány zahrnutím do
.dockerignoresouboru. - Vyberte existující službu Azure Container Registry. Tento registr se používá k ukládání image sestavené aplikace. Každému clusteru AKS, který může aplikaci přijmout, musí mít udělená
AcrPulloprávnění k registru. - Nastavte název obrazu Azure Container Registry. Tento název image musíte použít v manifestech nasazení Kubernetes.
Volba konfigurace manifestu Kubernetes
Aplikace spuštěná v Kubernetes se skládá z mnoha primitivních komponent Kubernetes. Tyto komponenty popisují, jakou image kontejneru použít, kolik replik se má spustit, pokud je k zveřejnění aplikace nutná veřejná IP adresa atd. Další informace najdete v oficiální dokumentaci k Kubernetes. Pokud úložiště zdrojového kódu ještě nemá manifesty Kubernetes, Automatizovaná Nasazení je mohou vygenerovat za vás. Můžete také zvolit existující chart Helm.
Výstraha
Nevybírejte fleet-system ani žádné obory fleet-member názvů, protože se jedná o interní obory názvů používané správcem Fleet Manageru a nedá se použít k umístění aplikace.
- Použití existujících manifestů Kubernetes
- Generování manifestů Kubernetes
- Použít existující schéma Helm
Pokud už úložiště kódu obsahuje manifest Kubernetes, můžete jej zvolit k určení, které úlohy budou nasazeny a nakonfigurovány pomocí umístění prostředků clusteru.
- Pro možnosti nasazení vyberte Existující soubory manifestu Kubernetes pro nasazení.
- V úložišti vyberte soubor manifestu Kubernetes nebo složku .
- Vyberte existující obor názvů Fleet Manageru, ve které chcete úlohu rozfázovat.
- Vyberte tlačítko Další.
Kontrola konfigurace
Zkontrolujte konfiguraci úložiště, image a konfigurace nasazení.
Výběrem možnosti Další spustíte proces, který provede tyto akce:
- Vytvořte federované přihlašovací údaje, které umožní akci GitHubu:
- Nasdílení image sestaveného kontejneru do služby Azure Container Registry
- Umístěte manifesty Kubernetes do vybraného oboru názvů v hlavním clusteru Fleet Manageru.
- Vytvořte pull request v úložišti kódu se všemi vygenerovanými soubory a pracovním postupem.
Instalace trvá několik minut, takže neodchávejte ze stránky Nasazení.
Kontrola a sloučení žádosti o přijetí změn
Po dokončení fáze nasazení vyberte tlačítko Schválit žádost o přijetí změn a otevřete vygenerovanou žádost o přijetí změn v úložišti kódu.
Poznámka:
Existuje známý problém s pojmenováním vygenerovaného pull requestu, který tvrdí, že se nasazuje do AKS. I přes nesprávný název tento pracovní postup nasadí vaši úlohu na klastru hubu Fleet Manageru v zvoleném oboru názvů.
- Zkontrolujte změny v části Soubory a proveďte požadované úpravy.
- Výběrem Sloučit žádost o přijetí sloučíte změny do svého úložiště kódu.
Sloučením této změny se spustí pracovní postup GitHub Actions, který vaši aplikaci sestaví do image kontejneru a uloží ji do vybrané služby Azure Container Registry.
Kontrola vygenerovaných prostředků
Po dokončení pipeline můžete zkontrolovat vytvořený kontejnerový obraz na portálu Azure vyhledáním instance Azure Container Registry, kterou jste nakonfigurovali, a otevřením úložiště obrazů.
Můžete také zobrazit konfiguraci automatizovaného nasazení Správce flotily. Výběrem názvu workflow se GitHub otevře na stránce GitHub Action.
Nakonec můžete potvrdit, že očekávané prostředky Kubernetes jsou připravené v clusteru centra Fleet Manager.
az fleet get-credentials \
--resource-group ${GROUP} \
--name ${FLEET}
kubectl describe deployments virtual-worker --namespace=contoso-store
Výstup vypadá podobně jako v následujícím příkladu. Očekává se 0 replik, protože úlohy nejsou plánovány na centrálním clusteru Fleet Manager. Ujistěte se, že vlastnost Image odkazuje na vytvořený obraz ve službě Azure Container Registry.
Name: virtual-worker
Namespace: contoso-store
CreationTimestamp: Thu, 24 Apr 2025 01:56:49 +0000
Labels: workflow=actions.github.com-k8s-deploy
workflowFriendlyName=contoso-store-deploy
Annotations: <none>
Selector: app=virtual-worker
Replicas: 1 desired | 0 updated | 0 total | 0 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=virtual-worker
Containers:
virtual-worker:
Image: contoso03.azurecr.io/virtual-worker:latest
Port: <none>
Host Port: <none>
Limits:
cpu: 2m
memory: 20Mi
Requests:
cpu: 1m
memory: 1Mi
Environment:
MAKELINE_SERVICE_URL: http://makeline-service:3001
ORDERS_PER_HOUR: 100
Mounts: <none>
Volumes: <none>
Node-Selectors: kubernetes.io/os=linux
Tolerations: <none>
Events: <none>
Definování umístění prostředků clusteru
Pokud chcete ve verzi Preview nakonfigurovat umístění fázované úlohy na členské clustery, můžete postupovat podle těchto kroků.
V úložišti zdrojového kódu pro vaši aplikaci vytvořte složku v kořenovém adresáři úložiště s názvem fleet.
Ve složce
deploy-contoso-ns-two-regions.yamlvytvořte nový soubor a přidejte zobrazený obsah. Aby tato ukázka fungovala, musí býtcontoso-storeobor názvů nasazen napříč dvěma clustery, které se nacházejí ve dvou různých Azure regionech.apiVersion: placement.kubernetes-fleet.io/v1 kind: ClusterResourcePlacement metadata: name: distribute-virtual-worker-two-regions spec: resourceSelectors: - group: "" kind: Namespace version: v1 name: contoso-store policy: placementType: PickN numberOfClusters: 2 topologySpreadConstraints: - maxSkew: 1 topologyKey: region whenUnsatisfiable: DoNotScheduleUpravte soubor pracovního postupu akce GitHubu a přidejte odkaz na soubor CRP.
DEPLOYMENT_MANIFEST_PATH: | ./virtual-worker.yaml ./fleet/deploy-contoso-ns-two-regions.yamlZkomitujte nový manifest CRP a zaktualizovaný soubor workflow GitHub Actions.
Zkontrolujte, jestli je úloha umístěná podle zásad definovaných v definici CRP. Zkontrolujete buď pomocí webu Azure Portal, nebo
kubectlna příkazovém řádku.
Další kroky
Azure Kubernetes Service