Provozní kontinuita podnikového rozsahu a zotavení po havárii pro službu Azure KubernetesEnterprise-scale business continuity and disaster recovery for Azure Kubernetes Service

Vaše organizace potřebuje navrhnout vhodné možnosti na úrovni platformy Azure Kubernetes Service (AKS), které splňují konkrétní požadavky.Your organization needs to design suitable Azure Kubernetes Service (AKS) platform-level capabilities to meet its specific requirements. Tyto aplikační služby mají požadavky související s plánem doby obnovení (RTO) a cílem bodu obnovení (RPO).These application services have requirements related to recovery time objective (RTO) and recovery point objective (RPO). Pro zotavení po havárii AKS existuje několik důležitých informací.There are multiple considerations to address for AKS disaster recovery. Vaším prvním krokem je definování smlouvy o úrovni služeb (SLA) pro vaši infrastrukturu a aplikaci.Your first step is to define a service-level agreement (SLA) for your infrastructure and application. Přečtěte si o smlouvě SLA pro Azure Kubernetes Service (AKS).Learn about the SLA for Azure Kubernetes Service (AKS). Informace o měsíčních výpočtech pro dobu provozu najdete v části Podrobnosti o smlouvě SLA .See the SLA details section for information about monthly uptime calculations.

Na co dát pozor při navrhováníDesign considerations

Vezměte v úvahu následující faktory:Consider the following factors:

  • Cluster AKS by měl používat více uzlů ve fondu uzlů, aby poskytoval minimální úroveň dostupnosti pro vaši aplikaci.The AKS cluster should use multiple nodes in a node pool to provide the minimum level of availability for your application.

  • Nastavte Počet požadavků a omezení pod.Set pod requests and limits. Nastavení těchto omezení umožní Kubernetes:Setting these limits lets Kubernetes:

    • Efektivně poskytněte prostředky procesoru a paměti do lusků.Efficiently give CPU and memory resources to the pods.

    • Má vyšší hustotu kontejnerů na uzlu.Have higher container density on a node.

    Omezení můžou taky zvýšit spolehlivost a snížit náklady kvůli lepšímu používání hardwaru.Limits can also increase reliability with reduced costs because of better use of hardware.

  • AKS vhodnost pro zóny dostupnosti nebo skupiny dostupnosti.AKS suitability for Availability Zones or availability sets.

    • Vyberte oblast, která podporuje Zóny dostupnosti.Choose a region that supports Availability Zones.

    • Zóny dostupnosti lze nastavit pouze v případě, že je vytvořen fond uzlů a později jej nelze změnit.Availability Zones can only be set when the node pool is created and can't be changed later. Podpora více zón se vztahuje pouze na fondy uzlů.Multizone support only applies to node pools.

    • Pro kompletní výhodu oblasti musí všechny závislosti služby podporovat i zóny.For complete zonal benefit, all service dependencies must also support zones. Pokud závislá služba nepodporuje zóny, je možné, že selhání zóny by mohlo způsobit selhání této služby.If a dependent service doesn't support zones, it's possible that a zone failure could cause that service to fail.

    • Pro zajištění vyšší dostupnosti nad rámec toho, co Zóny dostupnosti může dosáhnout, spusťte více clusterů AKS v různých spárovaných oblastech.For higher availability beyond what Availability Zones can achieve, run multiple AKS clusters in different paired regions. Pokud prostředek Azure podporuje geografickou redundanci, zadejte umístění, kde bude mít redundantní služba svou sekundární oblast.If an Azure resource supports geo-redundancy, provide the location where the redundant service will have its secondary region.

  • Měli byste si být vědomi pokynů pro zotavení po havárii v AKS.You should be aware of guidelines for disaster recovery in AKS. Pak zvažte, jestli se vztahují na clustery AKS, které používáte pro Azure Dev Spaces.Then consider whether they apply to the AKS clusters that you use for Azure Dev Spaces.

  • Konzistentně Vytvářejte zálohy pro aplikace a data.Consistently create backups for applications and data.

    • Nestavová služba se dá efektivně replikovat.A non-stateful service can be replicated efficiently.

    • Pokud potřebujete uložit stav do clusteru (nedoporučuje se), ujistěte se, že často zálohujete data v spárované oblasti.If you need to store state in the cluster (not recommended), make sure you back up the data frequently in the paired region.

  • Aktualizace a údržba clusteru.Cluster update and maintenance.

    • Vždycky Udržujte cluster v aktuálním stavu.Always keep your cluster up to date.

    • Uvědomte si, jak vydávat informace a zastaralá.Be aware of the release and deprecation process.

    • Naplánujte aktualizace a údržbu předem.Plan your updates and maintenance in advance.

  • Připojení k síti, pokud dojde k převzetí služeb při selhání.Network connectivity if a failover occurs.

    • Vyberte směrovač provozu, který může distribuovat provoz mezi zónami nebo oblastmi v závislosti na vašem požadavku.Choose a traffic router that can distribute traffic across zones or regions, depending on your requirement. Tato architektura nasadí Azure Load Balancer , protože může distribuovat jiný než webový provoz mezi zónami.This architecture deploys Azure Load Balancer because it can distribute non-web traffic across zones.

    • Pokud potřebujete distribuovat provoz mezi oblastmi, zvažte použití front-dveří Azure.If you need to distribute traffic across regions, consider using Azure Front Door.

  • Plánované a neplánované převzetí služeb při selhání.Planned and unplanned failovers.

    • Při nastavování jednotlivých služeb Azure vyberte funkce, které podporují zotavení po havárii.When setting up each Azure service, choose features that support disaster recovery. V této architektuře například povolte Azure Container Registry pro geografickou replikaci.For example, in this architecture, enable Azure Container Registry for geo-replication. Pokud dojde k výpadku oblasti, můžete si i nadále vyžádat obrázky z replikované oblasti.If a region goes down, you can still pull images from the replicated region.
  • Udržujte DevOps možnosti, abyste dosáhli cílů na úrovni služby.Maintain engineering DevOps capabilities to reach service level goals.

  • Určete, jestli pro koncový bod serveru rozhraní Kubernetes API potřebujete finančně zajištěnou smlouvu SLA .Determine whether you need a financially backed SLA for your Kubernetes API server endpoint.

Doporučení pro návrhDesign recommendations

Níže jsou uvedené osvědčené postupy pro váš návrh:The following are best practices for your design:

  • Pro fond uzlů systému použijte tři uzly.Use three nodes for the system node pool. Pro fond uzlů uživatele začněte bez méně než dvou uzlů.For the user node pool, start with no less than two nodes. Pokud potřebujete vyšší dostupnost, nastavte další uzly.If you need higher availability, set up more nodes.

  • Izolujte svou aplikaci od systémových služeb tím, že ji umístíte do samostatného fondu uzlů.Isolate your application from the system services by placing it in a separate node pool. Tímto způsobem se Kubernetes služby spouštějí na vyhrazených uzlech a nesoutěží s ostatními službami.This way, Kubernetes services run on dedicated nodes and don't compete with other services. K identifikaci fondu uzlů k naplánování zatížení použijte značky, popisky a značky .Use tags, labels, and taints to identify the node pool to schedule your workload.

  • Pravidelným udržováním clusteru, jako je vytváření včasných aktualizací, je zásadní pro spolehlivost.Regular upkeep of your cluster like making timely updates is crucial for reliability. Seznamte se s podporovaným oknem verzí Kubernetes v AKS a naplánujte si aktualizace předem.Be mindful of supported window of Kubernetes versions on AKS and plan your updates in advance. Také se doporučuje monitorovat stav lusků přes sondy.Also, monitoring the health of the pods through probes is recommended.

  • Kdykoli je to možné, odeberte stav služby z vnitřních kontejnerů.Whenever possible, remove service state from inside containers. Místo toho použijte platformu Azure jako službu (PaaS), která podporuje replikaci ve více oblastech.Instead, use an Azure platform as a service (PaaS) that supports multiregion replication.

  • Zkontrolujte prostředky pod.Ensure pod resources. Důrazně doporučujeme, aby nasazení určovala pod požadavky na prostředky.It's highly recommended that deployments specify pod resource requirements. Plánovač pak může následně naplánovat pod.The scheduler can then appropriately schedule the pod. Spolehlivost se významně odpisuje, když se neplánují žádné lusky.Reliability depreciates significantly when pods aren't scheduled.

  • Nastavení více replik v nasazení za účelem zpracování výpadků, jako je selhání hardwaru.Set up multiple replicas in the deployment to handle disruptions like hardware failures. U plánovaných událostí, jako jsou aktualizace a upgrady, může rozpočet přerušení zajistit, aby požadovaný počet replik pod existoval pro zpracování očekávaného zatížení aplikace.For planned events like updates and upgrades, a disruption budget can ensure the required number of pod replicas exist to handle expected application load.

  • Vaše aplikace mohou používat Azure Storage pro svá data.Your applications might use Azure Storage for their data. Vzhledem k tomu, že jsou vaše aplikace rozdělené mezi několik clusterů AKS v různých oblastech, je potřeba uchovat úložiště.Because your applications are spread across multiple AKS clusters in different regions, you need to keep the storage synced. Tady jsou dva běžné způsoby replikace úložiště:Here are two common ways to replicate storage:

    • Asynchronní replikace na základě infrastrukturyInfrastructure-based asynchronous replication

    • Asynchronní replikace založená na aplikaciApplication-based asynchronous replication

  • Odhad hodnot pod.Estimate pod limits. Otestuje a zřídí směrný plán.Test and establish a baseline. Začněte se stejnými hodnotami pro požadavky a omezení.Start with equal values for requests and limits. Potom tyto hodnoty postupně vylaďte, dokud neurčíte prahovou hodnotu, která může způsobit nestabilitu clusteru.Then, gradually tune those values until you've established a threshold that can cause instability in the cluster. Limity pod lze zadat v manifestech nasazení.Pod limits can be specified in your deployment manifests.

    Integrované funkce poskytují řešení pro komplexní úlohy zpracování selhání a přerušení v rámci architektury služby.The built-in features provide a solution to the complex task of handling failures and disruptions in service architecture. Tyto konfigurace usnadňují automatizaci návrhu i nasazení.These configurations help to simplify both design and deployment automation. Pokud organizace definovala standard pro smlouvy SLA, RTO a RPO, může využít vestavěné služby pro Kubernetes a Azure k dosažení svých obchodních cílů.When an organization has defined a standard for the SLA, RTO, and RPO, it can use built-in services to Kubernetes and Azure to achieve its business goals.

  • Nastavte rozpočty přerušení pod.Set pod disruption budgets. Toto nastavení kontroluje, kolik replik v nasazení může trvat během události aktualizace nebo upgradu.This setting checks how many replicas in a deployment you can take down during an update or upgrade event.

  • Vynutili kvóty prostředků v oborech názvů služby.Enforce resource quotas on the service namespaces. Kvóta prostředků u oboru názvů zajistí, že požadavky a omezení jsou v nasazení správně nastaveny.The resource quota on a namespace will ensure pod requests and limits are properly set on a deployment.

    • Nastavení kvót prostředků na úrovni clusteru může způsobit problémy při nasazování partnerských služeb, které nemají správné požadavky a omezení.Setting resources quotas at the cluster level can cause problems when deploying partner services that don't have proper requests and limits.
  • Pravidelně spouštějte nejnovější verzi kube-advisor Open Source nástroje pro detekci problémů v clusteru.Regularly run the latest version of the kube-advisor open-source tool to detect issues in your cluster.

  • Uložte image kontejneru do Azure Container Registry a geograficky replikujte registr do každé oblasti AKS.Store your container images in Azure Container Registry and geo-replicate the registry to each AKS region.

  • AKS se dají použít jako bezplatná služba, ale tato úroveň nenabízí finančně zajištěnou smlouvu SLA.AKS can be used as a free service, but that tier doesn't offer a financially backed SLA. K získání této smlouvy SLA musíte přidat smlouvu SLA pro dobu provozu k zakoupení.To get that SLA, you have to add an uptime SLA to what you buy. Tuto možnost doporučujeme používat pro všechny produkční clustery.We recommend all production clusters use this option. Vyhradit clustery bez této možnosti pro předprodukční clustery.Reserve clusters without this option for pre-production clusters. V kombinaci s Zóny dostupnosti se smlouva SLA serveru Kubernetes API zvýšila na 99,95%.When combined with Availability Zones, the Kubernetes API server SLA is increased to 99.95%. Vaše fondy uzlů a další prostředky jsou pokryté v rámci své vlastní smlouvy SLA.Your node pools, and other resources are covered under their own SLA.

  • Pro připojení ExpressRoute použijte více oblastí a umístění partnerských vztahů.Use multiple regions and peering locations for ExpressRoute connectivity.

    Pokud dojde k výpadku ovlivňujícímu umístění oblasti Azure nebo poskytovatele partnerského vztahu, může vám redundantní hybridní Síťová architektura zajistit nepřerušované připojení mezi různými místy.If an outage affecting an Azure region or peering provider location occurs, a redundant hybrid network architecture can help ensure uninterrupted cross-premises connectivity.

  • Oblasti propojení s globálním partnerským vztahem virtuální sítě.Interconnect regions with global virtual network peering. Pokud je potřeba, aby clustery vzájemně komunikovaly, mohli byste mezi sebou vzájemně propojovat virtuální sítě, a to prostřednictvím partnerského vztahu virtuálních sítí.If the clusters need to talk to each other, connecting both virtual networks to each other can be achieved through virtual network peering. Tato technologie vzájemně propojuje virtuální sítě s vysokou šířkou pásma v páteřní síti Microsoftu, a to i v různých geografických oblastech.This technology interconnects virtual networks to each other providing high bandwidth across Microsoft's backbone network, even across different geographic regions.

  • Při použití rozděleného protokolu libovolného vysílání založeného na protokolu TCPzajišťuje přední dveře Azure, aby se koncoví uživatelé mohli rychle připojit k nejbližšímu bodu přítomnosti dveří.Using split TCP-based anycast protocol, Azure Front Door ensures that your end users promptly connect to the nearest Front Door point of presence. Mezi další funkce služby Azure front-dveří patří:Other features of Azure Front Door include:

    • Ukončení protokolu TLSTLS termination

    • Vlastní doménaCustom domain

    • Firewall webových aplikacíWeb Application Firewall

    • Přepsání adresy URLURL rewrite

    • Spřažení relacíSession affinity

    Projděte si potřeby provozu aplikace a zjistěte, které řešení je nejvhodnější.Review the needs of your application traffic to learn which solution is the most suitable.