Migrace do služby Azure Kubernetes Service (AKS)
Tento průvodce vám pomůže naplánovat a provést úspěšnou migraci do služby Azure Kubernetes Service (AKS), která obsahuje podrobnosti o aktuální doporučené konfiguraci AKS. I když se tento článek nezabývá všemi scénáři, obsahuje odkazy na podrobnější informace o plánování úspěšné migrace.
V tomto článku shrnujeme podrobnosti o migraci pro:
- Kontejnerizace aplikací prostřednictvím služby Azure Migrate
- AKS se službou Azure Load Balancer (Standard) a škálovacími sadami virtuálních počítačů
- Existující připojené služby Azure
- Zajištění platných kvót
- Vysoká dostupnost a kontinuita podnikových procesů
- Důležité informace o bezstavových aplikacích
- Důležité informace o stavových aplikacích
- Nasazení konfigurace clusteru
Poznámka:
V závislosti na vašem scénáři vám můžou s migrací pomoct následující opensourcové nástroje:
- Velero (vyžaduje Kubernetes 1.7+)
- Rozšíření Azure Kube CLI
Než začnete
- Ujistěte se, že vaše cílová verze Kubernetes je v podporovaném okně pro AKS. Starší verze nemusí být v podporovaném rozsahu a vyžadují upgrade verze pro podporu AKS. Další informace najdete v tématu Podporované verze Kubernetes v AKS.
- Pokud migrujete na novější verzi Kubernetes, projděte si zásady podpory pro verzi Kubernetes a nerovnoměrnou distribuci verzí.
Důležitým postupem, který byste měli zahrnout jako součást procesu migrace, je pamatovat na to, že dodržujete běžně používané vzory nasazení a testování. Testování aplikace před nasazením je důležitým krokem k zajištění jeho kvality, funkčnosti a kompatibility s cílovým prostředím. Může vám pomoct identifikovat a opravit všechny chyby, chyby nebo problémy, které můžou ovlivnit výkon, zabezpečení nebo použitelnost aplikace nebo základní infrastruktury.
Použití služby Azure Migrate k migraci aplikací do AKS
Azure Migrate nabízí jednotnou platformu pro posouzení a migraci na místní servery Azure, infrastrukturu, aplikace a data. Pro AKS můžete použít Azure Migrate pro následující úlohy:
- Kontejnerizace ASP.NET aplikací a migrace do AKS
- Kontejnerizace webových aplikací v Javě a migrace do AKS
AKS s Load Balancerem úrovně Standard a škálovacími sadami virtuálních počítačů
AKS je spravovaná služba nabízející jedinečné funkce s nižší režií na správu. Vzhledem k tomu, že AKS je spravovaná služba, musíte vybrat ze sady oblastí podporovaných službou AKS. Během přechodu z existujícího clusteru na AKS do AKS možná budete muset upravit stávající aplikace, aby byly v pořádku v řídicí rovině spravované službou AKS.
Doporučujeme používat clustery AKS zálohované škálovacími sadami virtuálních počítačů a nástrojem pro vyrovnávání zatížení (Standard), abyste měli jistotu, že získáte následující funkce:
- Více fondů uzlů,
- Zóny dostupnosti,
- Autorizované rozsahy IP adres
- Automatické škálování clusteru,
- Azure Policy pro AKS a
- Další nové funkce, které byly vydány.
Clustery AKS podporované skupinami dostupnosti virtuálních počítačů nemají podporu pro řadu těchto funkcí.
Vytvoření clusteru AKS se službou Load Balancer (Standard) a škálovacími sadami virtuálních počítačů
Následující příklad vytvoří cluster AKS s fondem s jedním uzlem zálohovaným škálovací sadou virtuálních počítačů. Umožňuje automatické škálování clusteru ve fondu uzlů pro cluster a nastaví minimálně jeden a maximálně tři uzly.
Pomocí příkazu vytvořte skupinu
az group create
prostředků.az group create --name myResourceGroup --location eastus
Pomocí příkazu vytvořte cluster
az aks create
AKS.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 1 \ --vm-set-type VirtualMachineScaleSets \ --load-balancer-sku standard \ --enable-cluster-autoscaler \ --min-count 1 \ --max-count 3 \ --generate-ssh-keys
Existující připojené služby Azure
Při migraci clusterů jste možná připojili externí služby Azure. I když následující služby nevyžadují rekreační prostředky, vyžadují aktualizaci připojení z předchozího na nové clustery, aby zachovaly funkčnost:
- Azure Container Registry
- Azure Log Analytics
- Azure Application Insights
- Azure Traffic Manager
- Účet služby Azure Storage
- Externí databáze
Zajištění platných kvót
Vzhledem k tomu, že během migrace se do vašeho předplatného nasazují další virtuální počítače, měli byste ověřit, jestli jsou pro tyto prostředky dostatečné kvóty a limity. V případě potřeby požádejte o navýšení kvóty vCPU.
Možná budete muset požádat o navýšení kvót sítě, abyste zajistili, že nevyčerpáte IP adresy. Další informace najdete v tématu Sítě a rozsahy IP adres pro AKS.
Další informace najdete v tématu Omezení předplatného a služeb Azure. Pokud chcete zkontrolovat aktuální kvóty, přejděte na webu Azure Portal do okna Předplatná, vyberte své předplatné a pak vyberte Využití a kvóty.
Vysoká dostupnost a kontinuita podnikových procesů
Pokud vaše aplikace nedokáže zpracovat výpadky, je potřeba dodržovat osvědčené postupy pro scénáře migrace s vysokou dostupností. Přečtěte si další informace o osvědčených postupech pro komplexní plánování kontinuity podnikových procesů, zotavení po havárii a maximalizaci doby provozu ve službě Azure Kubernetes Service (AKS).
U složitých aplikací obvykle migrujete v průběhu času místo všech najednou, což znamená, že stará a nová prostředí můžou potřebovat komunikovat přes síť. Aplikace, které dříve používaly ClusterIP
ke komunikaci služby, můžou být muset být vystaveny jako typ LoadBalancer
a zabezpečeny odpovídajícím způsobem.
K dokončení migrace chcete nasměrovat klienty na nové služby, které běží v AKS. Doporučujeme přesměrovat provoz aktualizací DNS tak, aby odkazoval na nástroj pro vyrovnávání zatížení, který se nachází před clusterem AKS.
Azure Traffic Manager může zákazníky nasměrovat na požadovaný cluster Kubernetes a instanci aplikace. Traffic Manager je nástroj pro vyrovnávání zatížení provozu založený na DNS, který může distribuovat síťový provoz napříč oblastmi. Pokud chcete dosáhnout co nejlepšího výkonu a redundance, nasměrujte veškerý provoz aplikací přes Traffic Manager před tím, než přejdete do clusteru AKS.
V nasazení s více clustery by se zákazníci měli připojit k názvu DNS Traffic Manageru, který odkazuje na služby v každém clusteru AKS. Definujte tyto služby pomocí koncových bodů Traffic Manageru. Každý koncový bod je IP adresa nástroje pro vyrovnávání zatížení služby. Pomocí této konfigurace můžete směrovat síťový provoz z koncového bodu Traffic Manageru v jedné oblasti do koncového bodu v jiné oblasti.
Azure Front Door je další možností směrování provozu pro clustery AKS. Pomocí služby Azure Front Door můžete definovat, spravovat a monitorovat globální směrování webového provozu optimalizací nejlepšího výkonu a okamžitého globálního převzetí služeb při selhání pro zajištění vysoké dostupnosti.
Důležité informace o bezstavových aplikacích
Migrace bezstavových aplikací zahrnuje následující kroky:
- Použijte definice prostředků (YAML nebo Helm) na nový cluster.
- Ujistěte se, že všechno funguje podle očekávání.
- Přesměrujte provoz a aktivujte nový cluster.
Důležité informace o stavových aplikacích
Pečlivě naplánujte migraci stavových aplikací, abyste se vyhnuli ztrátě nebo neočekávaným výpadkům dat.
- Pokud používáte Azure Files, můžete sdílenou složku připojit jako svazek do nového clusteru. Viz Připojení statických souborů Azure jako svazku.
- Pokud používáte Azure Spravované disky, můžete disk připojit jenom v případě, že není připojený k jakémukoli virtuálnímu počítači. Viz Připojení statického disku Azure jako svazku.
- Pokud žádný z těchto přístupů nefunguje, můžete použít možnosti zálohování a obnovení. Viz Velero v Azure.
Soubory Azure
Na rozdíl od disků je možné službu Azure Files připojit k více hostitelům současně. V clusteru AKS vám Azure a Kubernetes nebrání v vytváření podu, který cluster AKS stále používá. Pokud chcete zabránit ztrátě dat a neočekávanému chování, ujistěte se, že clustery nezapisují do stejných souborů současně.
Pokud vaše aplikace může hostovat více replik, které odkazují na stejnou sdílenou složku, postupujte podle kroků bezstavové migrace a nasaďte definice YAML do nového clusteru.
Pokud ne, možný přístup k migraci zahrnuje následující kroky:
- Ověřte, že aplikace funguje správně.
- Nasměrujte živý provoz na nový cluster AKS.
- Odpojte starý cluster.
Pokud chcete začít s prázdnou sdílenou složkou a vytvořit kopii zdrojových dat, můžete k migraci dat použít az storage file copy
příkaz.
Migrace trvalých svazků
Pokud migrujete existující trvalé svazky do AKS, obecně postupujte takto:
- Zápisy do aplikace se zapisují do stavu nečinnosti.
- Tento krok je volitelný a vyžaduje výpadek.
- Pořiďte snímky disků.
- Ze snímků vytvořte nové spravované disky.
- Vytváření trvalých svazků v AKS
- Aktualizujte specifikace podů tak, aby používaly existující svazky místo PersistentVolumeClaims (statické zřizování).
- Nasaďte aplikaci do AKS.
- Ověřte, že aplikace funguje správně.
- Nasměrujte živý provoz na nový cluster AKS.
Důležité
Pokud se rozhodnete nepsat zápisy do stavu nečinnosti, musíte replikovat data do nového nasazení. V opačném případě zmeškáte data zapsaná po pořízení snímků disku.
Následující opensourcové nástroje vám můžou pomoct vytvářet spravované disky a migrovat svazky mezi clustery Kubernetes:
- Kopírování disků Azure CLI kopíruje a převádí disky napříč skupinami prostředků a oblastmi Azure.
- Rozšíření Azure Kube CLI vytvoří výčet svazků ACS Kubernetes a migruje je do clusteru AKS.
Nasazení konfigurace clusteru
Doporučujeme použít stávající kanál kontinuální integrace a průběžného doručování k nasazení známé dobré konfigurace do AKS. Azure Pipelines můžete použít k sestavení a nasazení aplikací do AKS. Naklonujte stávající úlohy nasazení a ujistěte se, že kubeconfig
odkazuje na nový cluster AKS.
Pokud to není možné, exportujte definice prostředků z existujícího clusteru Kubernetes a pak je použijte pro AKS. K exportu objektů můžete použít kubectl
. Příklad:
kubectl get deployment -o yaml > deployments.yaml
Nezapomeňte zkontrolovat výstup a odebrat všechna nepotřebná živá datová pole.
Přesun existujících prostředků do jiné oblasti
Možná budete chtít přesunout cluster AKS do jiné oblasti podporované službou AKS. Doporučujeme vytvořit nový cluster v jiné oblasti a pak nasadit prostředky a aplikace do nového clusteru.
Pokud máte v clusteru AKS spuštěné nějaké služby, musíte tyto služby nainstalovat a nakonfigurovat v clusteru v nové oblasti.
V tomto článku jsme shrnuli podrobnosti o migraci pro:
- Kontejnerizace aplikací prostřednictvím služby Azure Migrate
- AKS se službou Load Balancer (Standard) a škálovacími sadami virtuálních počítačů
- Existující připojené služby Azure
- Zajištění platných kvót
- Vysoká dostupnost a kontinuita podnikových procesů
- Důležité informace o bezstavových aplikacích
- Důležité informace o stavových aplikacích
- Nasazení konfigurace clusteru
Azure Kubernetes Service