Azure Well-Architected Framework overzicht van Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS) is een beheerde Kubernetes-service die u kunt gebruiken voor het implementeren en beheren van toepassingen in containers. Net als bij andere beheerde services offload AKS veel operationele overhead naar Azure, terwijl hoge beschikbaarheids-, schaalbaarheids- en draagbaarheidsfuncties voor de workload worden geboden.
In dit artikel gaat men ervan uit dat u als architect de beslissingsstructuur hebt gecontroleerd en AKS als de rekenoptie voor uw workload hebt gekozen. De richtlijnen in dit artikel bevatten architectuuraanbevelingen die gekoppeld zijn aan de principes van de Azure Well-Architected Framework-pijlers.
Belangrijk
Deze handleiding gebruiken
Elke sectie heeft een ontwerpcontrolelijst die architectuurgebieden van belang presenteert, samen met ontwerpstrategieën die zijn gelokaliseerd in het technologiebereik.
Ook zijn inbegrepen aanbevelingen voor de technologiemogelijkheden die kunnen helpen bij het materialiseren van deze strategieën. De aanbevelingen vertegenwoordigen geen volledige lijst met alle configuraties die beschikbaar zijn voor AKS en de bijbehorende afhankelijkheden. In plaats daarvan worden de belangrijkste aanbevelingen vermeld die zijn toegewezen aan de perspectieven van het ontwerp. Gebruik de aanbevelingen om uw proof-of-concept te bouwen of om uw bestaande omgevingen te optimaliseren.
Basisarchitectuur die de belangrijkste aanbevelingen laat zien: basislijnarchitectuur van AKS.
Reikwijdte van technologie
Deze beoordeling is gericht op de onderling gerelateerde beslissingen voor de volgende Azure-resources:
- AKS
Wanneer u de best practices van de Well-Architected Framework-pijlers voor AKS bespreekt, is het belangrijk om onderscheid te maken tussen cluster en workload. Aanbevolen procedures voor clusters zijn een gedeelde verantwoordelijkheid tussen de clusterbeheerder en hun resourceprovider, terwijl aanbevolen procedures voor workloads het domein van een ontwikkelaar zijn. Dit artikel bevat overwegingen en aanbevelingen voor elk van deze rollen.
Notitie
De volgende pijlers omvatten een ontwerpcontrolelijst en een lijst met aanbevelingen die aangeven of elke keuze van toepassing is op cluster architectuur, workload architectuur of beide.
Betrouwbaarheid
Het doel van de pijler Betrouwbaarheid is om doorlopende functionaliteit te bieden door voldoende tolerantie te ontwikkelen en de mogelijkheid om snel te herstellen van storingen.
principes voor betrouwbaarheidsontwerp een ontwerpstrategie op hoog niveau bieden die wordt toegepast op afzonderlijke onderdelen, systeemstromen en het systeem als geheel.
Controlelijst voor ontwerp
Begin met uw ontwerpstrategie op basis van de ontwerpbeoordelingschecklist voor betrouwbaarheid. Bepaal de relevantie ervan voor uw bedrijfsvereisten, terwijl u rekening houdt met de functies van AKS en de bijbehorende afhankelijkheden. Breid de strategie uit om zo nodig meer benaderingen op te nemen.
(Cluster) Bouw redundantie om de veerkracht te verbeteren. Gebruik beschikbaarheidszones voor uw AKS-clusters als onderdeel van uw veerkrachtstrategie om de beschikbaarheid te verhogen wanneer u in één regio implementeert. Veel Azure-regio's bieden beschikbaarheidszones. De zones zijn dicht genoeg om verbindingen met lage latentie te hebben, maar ver genoeg uit elkaar om de kans te verkleinen dat lokale storingen meer dan één zone beïnvloeden.
Voor kritieke workloads implementeert u meerdere clusters in verschillende Azure-regio's. Door AKS-clusters geografisch te distribueren, kunt u een hogere tolerantie bereiken en de gevolgen van regionale storingen minimaliseren. Een strategie voor meerdere regio's helpt de beschikbaarheid te maximaliseren en bedrijfscontinuïteit te bieden. Internetgerichte workloads moeten gebruikmaken van Azure Front Door- of Azure Traffic Manager- om verkeer wereldwijd te routeren tussen AKS-clusters. Zie multiregiostrategievoor meer informatie.
Plan de IP-adresruimte om ervoor te zorgen dat uw cluster op betrouwbare wijze failoververkeer kan schalen en afhandelen in topologieën met meerdere clusters.
(Cluster en workload) Betrouwbaarheid en algemene statusindicatoren van het cluster en de workloads bewaken. Logboeken en metrische gegevens verzamelen om de status van de workload te bewaken, prestatie- en betrouwbaarheidstrends te identificeren en problemen op te lossen. Bekijk best practices voor het bewaken van Kubernetes met Azure Monitor en de Well-Architected Gezondheidsmodellering voor workloads handleiding voor hulp bij het ontwerpen van een oplossing voor betrouwbaarheid en gezondheidsbewaking voor uw AKS-oplossing.
Zorg ervoor dat workloads zijn gebouwd om horizontaal schalen te ondersteunen en de gereedheid en status van toepassingen te rapporteren.
(Cluster en workload) Host applicatiepods in gebruikersnode-pools. Door systeempods te isoleren van toepassingsworkloads, kunt u ervoor zorgen dat essentiële AKS-services niet worden beïnvloed door de resourcevereisten of mogelijke problemen die worden veroorzaakt door een workload die gebruikersnode-pools host.
Zorg ervoor dat uw workload wordt uitgevoerd op gebruikersknooppuntgroepen en kies de juiste grootte-SKU. Neem minimaal twee knooppunten op voor gebruikersknooppuntgroepen en drie knooppunten voor de systeemknooppuntgroep.
(Cluster en workload) Neem de beschikbaarheidsovereenkomst (SLA) van AKS op in uw beschikbaarheids- en hersteldoelen. Als u de betrouwbaarheids- en hersteldoelen voor uw cluster en workload wilt definiëren, volgt u de richtlijnen in Aanbevelingen voor het definiëren van betrouwbaarheidsdoelen. Formuleer vervolgens een ontwerp dat aan deze doelen voldoet.
(Cluster en workload) Beveilig de AKS-clusterservice met behulp van Azure Backup door herstelpunten op te slaan in een Backup-kluis en herstel uit te voeren tijdens een noodscenario. Als u een back-up wilt maken van de toepassingen en gegevens in containers die worden uitgevoerd in AKS-clusters, volgt u de richtlijnen in het overzicht van de AKS-back-up voor het configureren van beveiliging.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster en workload) Beheer de scheduling van pods met behulp van node selectors en affiniteit. In AKS kan de Kubernetes-planner workloads logisch isoleren via de hardware in de node. In tegenstelling tot toleranties, kunnen pods die geen overeenkomende knooppuntkiezer hebben, worden gepland op gelabelde nodes, maar prioriteit wordt gegeven aan pods die de overeenkomende knooppuntkiezer definiëren. |
Knooppuntaffiniteit resulteert in meer flexibiliteit, waardoor u kunt definiëren wat er gebeurt als de pod niet kan worden gekoppeld aan een knooppunt. |
(Cluster) Kies de juiste netwerkinvoegtoepassing op basis van netwerkvereisten en clustergrootte. Verschillende netwerkinvoegtoepassingen bieden verschillende functionaliteitsniveaus. Azure Container Networking Interface (Azure CNI) is vereist voor specifieke scenario's, zoals Windows-knooppuntgroepen, bepaalde netwerkvereisten en Kubernetes-netwerkbeleid. Zie Kubenet versus Azure CNIvoor meer informatie. |
De juiste netwerkinvoegtoepassing kan helpen zorgen voor betere compatibiliteit en prestaties. |
(Cluster en workload) Gebruik de AKS-uptime SLA voor clusters op productieniveau. | De workload kan hogere beschikbaarheidsdoelen ondersteunen vanwege de hogere beschikbaarheidsgaranties van het Kubernetes API-servereindpunt voor AKS-clusters. |
(Cluster) Gebruik beschikbaarheidszones om de tolerantie binnen een Azure-regio te maximaliseren door AKS-agentknooppunten te distribueren over fysiek afzonderlijke datacenters. Als er colokaliteitsvereisten bestaan, gebruikt u een reguliere AKS-implementatie op basis van virtuele-machineschaalsets in één zone of gebruikt u nabijheidsplaatsingsgroepen om latentie tussen knooppunten te minimaliseren. |
Door knooppuntgroepen over meerdere zones te spreiden, blijven knooppunten in de ene knooppuntgroep actief, zelfs als een andere zone uitvalt. |
(Cluster en workload) Definieer podresourceaanvragen en -limieten in toepassingsimplementatiemanifesten. Dwing deze limieten af met behulp van Azure Policy. | Limieten voor container-CPU- en geheugenresources zijn nodig om uitputting van resources in uw Kubernetes-cluster te voorkomen. |
(Cluster en workload) Houd de systeemknooppuntgroep geïsoleerd van toepassingsworkloads. Voor systeemknooppuntgroepen is een vm-SKU van ten minste 2 vCPU's en 4 GB geheugen vereist. U wordt aangeraden 4 vCPU's of meer te gebruiken. Zie Systeem- en gebruikersknooppuntgroepenvoor meer informatie. |
De systeemknooppuntgroep host kritieke systeempods die essentieel zijn voor het besturingsvlak van uw cluster. Door deze systeempods te isoleren van toepassingsworkloads, zorgt u ervoor dat de essentiële services niet worden beïnvloed door de resourcevereisten of mogelijke problemen die worden veroorzaakt door een workload. |
(Cluster en workload) Afzonderlijke toepassingen voor toegewezen knooppuntgroepen op basis van specifieke vereisten. Vermijd grote aantallen knooppuntgroepen om de beheeroverhead te verminderen. | Toepassingen kunnen dezelfde configuratie delen en hebben VM's nodig met GPU-ondersteuning, CPU- of geheugengeoptimaliseerde VM's of de mogelijkheid om naar nul te schalen. Door knooppuntgroepen toe te wijzen aan specifieke toepassingen, kunt u ervoor zorgen dat elke toepassing de resources krijgt die nodig zijn zonder resources te veel inrichten of te weinig gebruiken. |
(Cluster) Gebruik een NAT-gateway voor clusters waarop workloads worden uitgevoerd die veel gelijktijdige uitgaande verbindingen maken. | Azure NAT Gateway ondersteunt betrouwbaar uitgaand verkeer op schaal en helpt u betrouwbaarheidsproblemen te voorkomen door Azure Load Balancer-beperkingen toe te passen op hoog gelijktijdig uitgaand verkeer. |
(Cluster en workload) Gebruik Azure Backup om AKS-cluster te beveiligen en te herstellen naar alternatieve regio's tijdens een noodgeval. Azure Backup ondersteunt de back-up- en herstelbewerkingen van toepassingen in containers en gegevens die worden uitgevoerd voor zowel clusterstatus als toepassingsgegevens. U kunt de back-ups gebruiken in een regionaal noodscenario en back-ups herstellen. |
Azure Backup met Azure Kubernetes Service (AKS) biedt een volledig beheerde, schaalbare, veilige en rendabele oplossing. Verbetert de betrouwbaarheid van de workload zonder de complexiteit van het instellen en onderhouden van de back-upinfrastructuur. |
Beveiliging
Het doel van de pijler Beveiliging is het bieden van vertrouwelijkheid, integriteit en beschikbaarheid garanties voor de workload.
De Beveiligingsontwerpprincipes bieden een ontwerpstrategie op hoog niveau voor het bereiken van deze doelen door benaderingen toe te passen op het technische ontwerp van AKS.
Controlelijst voor ontwerp
Start uw ontwerpstrategie op basis van de ontwerpbeoordelingschecklist voor beveiliging en identificeer kwetsbaarheden en controles voor een betere beveiligingspositie. Raak vertrouwd met AKS-beveiligingsconcepten en evalueer de aanbevelingen voor beveiligingsbeveiliging op basis van de CIS Kubernetes-benchmark. Breid de strategie uit om zo nodig meer benaderingen op te nemen.
(Cluster) integreren met Microsoft Entra-id voor identiteits- en toegangsbeheer. Identiteitsbeheer centraliseren voor uw cluster met behulp van Microsoft Entra-id. Elke wijziging in gebruikersaccount of groepsstatus wordt automatisch bijgewerkt in toegang tot het AKS-cluster. Identiteit vaststellen als primaire beveiligingsperimeter. De ontwikkelaars en toepassingseigenaren van uw Kubernetes-cluster hebben toegang nodig tot verschillende resources.
Gebruik Op rollen gebaseerd toegangsbeheer (RBAC) van Kubernetes met Microsoft Entra ID voor toegang tot minimale bevoegdheden. Beveilig configuratie en geheimen door de toewijzing van beheerdersbevoegdheden te minimaliseren.
(Cluster) integreren met hulpprogramma's voor beveiligingsbewaking en beveiligingsinformatie en gebeurtenisbeheer. Microsoft Defender for Containers gebruiken met Microsoft Sentinel- om bedreigingen in uw clusters en de workloads die erop worden uitgevoerd, snel te detecteren en erop te reageren. Schakel AKS-connector voor Microsoft Sentinel- in om uw diagnostische AKS-logboeken te streamen naar Microsoft Sentinel.
(Cluster en workload) Implementeren van segmentatie en netwerkcontroles. Om gegevensexfiltratie te voorkomen, moet u ervoor zorgen dat alleen geautoriseerd en veilig verkeer is toegestaan en de impact van een beveiligingsinbreuk inperken.
Overweeg om een privé-AKS-cluster te gebruiken om ervoor te zorgen dat clusterbeheerverkeer naar uw API-server op uw privénetwerk blijft. Of gebruik de acceptatielijst voor de API-server voor openbare clusters.
(Workload) Een Web Application Firewall (WAF) gebruiken om binnenkomend verkeer te scannen op mogelijke aanvallen. WAF kan bedreigingen in realtime detecteren en beperken om schadelijk verkeer te blokkeren voordat uw toepassingen worden bereikt. Het biedt robuuste bescherming tegen veelvoorkomende webaanvallen, zoals SQL-injectie, cross-site scripting en andere open Web Application Security Project-beveiligingsproblemen. Sommige load balancers, zoals Azure Application Gateway of Azure Front Door beschikken over een geïntegreerde WAF.
(Workload) Onderhoud de softwareleveringsketen van een geharde werkbelasting. Zorg ervoor dat uw pijplijn voor continue integratie en doorlopende levering wordt beveiligd met containergerichte scanning.
(Cluster en workload) Extra beveiliging implementeren voor gespecialiseerde beveiligde workloads. Als uw cluster een gevoelige workload moet uitvoeren, moet u mogelijk een privécluster implementeren. Hier volgen enkele voorbeelden:
- Payment Card Industry Data Security Standard (PCI-DSS 3.2.1): gereglementeerd AKS-cluster voor PCI-DSS 3.2.1
- Ondersteuning en vereisten van DoD Impact Level 5 (IL5) met AKS: isolatievereisten voor Azure Government IL5.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster) Gebruik beheerde identiteiten op het cluster. | U kunt de overhead voor het beheren en roteren van serviceprincipes voorkomen. |
(Workload) Gebruik Microsoft Entra Workload-id met AKS- om toegang te krijgen tot met Microsoft Entra beveiligde resources, zoals Azure Key Vault en Microsoft Graph, vanuit uw workload. | Gebruik AKS-workload-id's om de toegang tot Azure-resources te beveiligen met behulp van Microsoft Entra ID RBAC zonder referenties rechtstreeks in uw code te hoeven beheren. |
(Cluster) Gebruik Microsoft Entra-id om te autoriseren met Azure Container Registry van AKS. | Door Microsoft Entra ID te gebruiken, kan AKS authenticeren met Container Registry zonder gebruik te maken van imagePullSecrets -credentialen. |
(Cluster) Beveilig netwerkverkeer naar uw API-server met behulp van privé-AKS-cluster als de workloadvereisten hogere segmentatieniveaus vereisen. | Standaard reist netwerkverkeer tussen uw knooppunten en de API-server over het Microsoft backbone-netwerk. Door een privécluster te gebruiken, kunt u ervoor zorgen dat netwerkverkeer naar uw API-server alleen in het privénetwerk blijft. |
(Cluster) Gebruik voor openbare AKS-clusters geautoriseerde IP-adresbereiken van de API-server. Neem informatiebronnen op zoals de openbare IP-adressen van uw ontwikkelingsagents, beheer van operaties, en het uitgaande punt van knooppuntgroepen, zoals Azure Firewall. | Wanneer u openbare clusters gebruikt, kunt u de kwetsbaarheid voor aanvallen van uw AKS-cluster aanzienlijk verminderen door het verkeer te beperken dat de API-server van uw clusters kan bereiken. |
(Cluster) Beveilig de API-server met behulp van Microsoft Entra ID RBAC. Lokale accounts uitschakelen om alle clustertoegang af te dwingen met behulp van op Microsoft Entra ID gebaseerde identiteiten. |
Het beveiligen van de toegang tot de Kubernetes API-server is een van de belangrijkste dingen die u kunt doen om uw cluster te beveiligen. Integreer Kubernetes RBAC met Microsoft Entra ID om de toegang tot de API-server te beheren. |
(Cluster) Gebruik Azure-netwerkbeleidsregels of Calico. | Met behulp van beleid kunt u netwerkverkeer tussen pods in een cluster beveiligen en beheren. Calico biedt een uitgebreidere set mogelijkheden, waaronder beleidsvolgorde en prioriteit, regels voor weigeren en flexibelere overeenkomstregels. |
(Cluster) Beveilig clusters en pods met behulp van Azure Policy-. | Azure Policy kan helpen bij het toepassen van afdwinging en beveiliging op schaal op uw clusters op een gecentraliseerde, consistente manier. Het kan ook controleren welke functies aan pods worden toegekend en detecteren of er iets in strijd is met het bedrijfsbeleid. |
(Cluster) Beveilig containertoegang tot resources. Beperk de toegang tot acties die containers kunnen uitvoeren. Geef het minste aantal machtigingen op en vermijd het gebruik van escalatie met hoofd- of bevoegdheden. Zie Beveiligingscontainertoegang tot resources met behulp van ingebouwde Linux-beveiligingsfunctiesvoor op Linux gebaseerde containers. |
Door machtigingen te beperken en het gebruik van root- of bevoegde escalatie te voorkomen, kunt u het risico op beveiligingsschendingen verminderen. U kunt ervoor zorgen dat, zelfs als een container is aangetast, de mogelijke schade wordt geminimaliseerd. |
(Cluster) Beheer het uitgaand clusterverkeer door ervoor te zorgen dat het uitgaande verkeer van uw cluster via een netwerkbeveiligingspunt verloopt, zoals Azure Firewall- of een HTTP-proxy-. | Door uitgaand verkeer te routeren via Azure Firewall of een HTTP-proxy, kunt u beveiligingsbeleidsregels afdwingen die onbevoegde toegang en gegevensexfiltratie voorkomen. Deze aanpak vereenvoudigt ook het beheer van beveiligingsbeleid en maakt het eenvoudiger om consistente regels af te dwingen in uw hele AKS-cluster. |
(Cluster) Gebruik de open-source Microsoft Entra Workload ID en Secrets Store CSI Driver met Key Vault. | Met deze functies kunt u geheimen, certificaten en verbindingsreeksen in Key Vault beveiligen en roteren met behulp van sterke versleuteling. Ze bieden een toegangscontrolelogboek en houden kerngeheimen buiten de implementatiepijplijn. |
(Cluster) Gebruik Microsoft Defender for Containers. | Met Microsoft Defender voor Containers kunt u de beveiliging van uw clusters, containers en hun toepassingen bewaken en onderhouden. |
Kostenoptimalisatie
Kostenoptimalisatie richt zich op het detecteren van uitgavenpatronen, het prioriteren van investeringen in kritieke gebieden en het optimaliseren van andere gebieden om zowel binnen het budget van de organisatie te blijven als te voldoen aan de bedrijfsvereisten.
De ontwerpprincipes voor Cost Optimization een ontwerpstrategie op hoog niveau bieden om deze doelen te bereiken en zo nodig compromissen te maken in het technische ontwerp met betrekking tot AKS en de omgeving.
Controlelijst voor ontwerp
Begin uw ontwerpstrategie op basis van de checklist voor ontwerpbeoordeling voor kostenoptimalisatie bij investeringen. Verfijn het design zodat de werklast is afgestemd op het budget dat is toegewezen voor de werklast. Uw ontwerp moet gebruikmaken van de juiste Azure-mogelijkheden, investeringen bewaken en mogelijkheden vinden om in de loop van de tijd te optimaliseren.
(Cluster) neem de prijscategorieën voor AKS- op in uw kostenmodel. Als u de kosten wilt schatten, gebruikt u de Azure-prijscalculator en test u verschillende configuratie- en betalingsplannen in de rekenmachine.
(Cluster) De beste tarieven voor uw workload krijgen. Gebruik de juiste VM-SKU voor elke knooppuntgroep, omdat dit rechtstreeks van invloed is op de kosten voor het uitvoeren van uw workloads. Het kiezen van een vm met hoge prestaties zonder goed gebruik kan leiden tot verspilling van uitgaven. Het selecteren van een minder krachtige VIRTUELE machine kan prestatieproblemen veroorzaken en verhoogde downtime.
Als u goed hebt gepland voor capaciteit en uw workload voorspelbaar is en gedurende langere tijd bestaat, meldt u zich aan voor Azure-reserveringen of een spaarplan om uw resourcekosten te verlagen.
Kies Azure Spot Virtual Machines om niet-gebruikte Azure-capaciteit te gebruiken met aanzienlijke kortingen. Deze kortingen kunnen oplopen tot 90% van pay-as-you-go prijzen. Als Azure capaciteit terug nodig heeft, verwijdert de Azure-infrastructuur de Spot-knooppunten.
Als u AKS on-premises of aan de rand uitvoert, kunt u ook Azure Hybrid Benefit- gebruiken om de kosten te verlagen wanneer u toepassingen in containers uitvoert in deze scenario's.
(Cluster en workload) Optimaliseer de kosten van workloadcomponenten. Kies de meest kosteneffectieve regio voor uw workload. Evalueer de vereisten voor kosten, latentie en naleving om ervoor te zorgen dat u uw workload rendabel uitvoert en dat dit geen invloed heeft op uw klanten of extra netwerkkosten maakt. De regio waar u uw workload in Azure implementeert, kan de kosten aanzienlijk beïnvloeden. Vanwege veel factoren variëren de kosten van resources voor elke regio in Azure.
Onderhoud kleine en geoptimaliseerde installatiekopieën om de kosten te verlagen, omdat nieuwe knooppunten deze installatiekopieën moeten downloaden. Fouten of time-outs van gebruikersaanvragen wanneer de toepassing wordt gestart, kunnen leiden tot overprovisioning. Bouw afbeeldingen op een manier waardoor de container zo snel mogelijk start om fouten en time-outs te voorkomen.
Bekijk de aanbevelingen voor kostenoptimalisatie in Aanbevolen procedures voor het bewaken van Kubernetes met Azure Monitor om de beste bewakingsstrategie voor uw workloads te bepalen. Analyseer prestatiegegevens, te beginnen met CPU, geheugen, opslag en netwerk, om kostenoptimalisatiemogelijkheden te identificeren per cluster, knooppunten en naamruimte.
(Cluster en workload) Optimaliseer de schaalkosten van workloads. Overweeg alternatieve configuraties voor verticaal en horizontaal schalen om de schaalkosten te verlagen terwijl u aan alle workloadvereisten blijft voldoen. Gebruik automatische schaalaanpassingen om in te schalen wanneer workloads minder actief zijn.
(Cluster en workload) Kostengegevens verzamelen en analyseren. De basis voor het inschakelen van kostenoptimalisatie is de verspreiding van een kostenbesparende cluster. Ontwikkel een kostenefficiëntiementaliteit met samenwerking tussen financiële, operationele en technische teams om afstemming op kostenbesparingsdoelen te stimuleren en transparantie te brengen in cloudkosten.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster en workload) Stem AKS-SKU-selectie en grootte van beheerde schijf af op de workloadvereisten. | Door uw selectie aan uw workloadvereisten te koppelen, kunt u ervoor zorgen dat u niet betaalt voor overbodige resources. |
(Cluster) Kies de juiste typen VM-instanties voor uw AKS-knooppuntenpools. Als u de juiste typen VM-exemplaren wilt bepalen, moet u rekening houden met workloadkenmerken, resourcevereisten en beschikbaarheidsbehoeften. |
Het selecteren van het juiste type VM-exemplaar is van cruciaal belang omdat dit rechtstreeks van invloed is op de kosten voor het uitvoeren van toepassingen op AKS. Het kiezen van een exemplaar met hoge prestaties zonder goed gebruik kan leiden tot verspilling van uitgaven. Het kiezen van een minder krachtig exemplaar kan leiden tot prestatieproblemen en verhoogde downtime. |
(Cluster) Kies VM's op basis van de efficiëntere Azure Resource Manager-architectuur. AKS ondersteunt het maken van Arm64-knooppuntgroepen en een combinatie van Intel- en Resource Manager-architectuurknooppunten binnen een cluster. | De Arm64-architectuur biedt een betere prijs-naar-prestatieverhouding vanwege het lagere energieverbruik en efficiënte rekenprestaties. Deze mogelijkheden kunnen betere prestaties opleveren tegen lagere kosten. |
(Cluster) Schakel de clusterautoscaler in in om het aantal agentknooppunten automatisch te verminderen als reactie op overmatige resourcecapaciteit. | Door automatisch het aantal knooppunten in uw AKS-cluster omlaag te schalen, kunt u een efficiënt cluster uitvoeren wanneer de vraag laag is en omhoog schalen wanneer de vraag toeneemt. |
(Cluster) Schakel autoprovisioning van knooppunten in in om de selectie van VM-SKU's te automatiseren. | Knooppunt automatische inrichting vereenvoudigt het selectieproces van SKU's en bepaalt, gebaseerd op vereisten voor podresources, de optimale VM-configuratie om workloads zo efficiënt en kosteneffectief mogelijk uit te voeren. |
(Workload) Gebruik HorizontalPodAutoscaler om het aantal pods in een implementatie aan te passen, afhankelijk van het CPU-gebruik of andere metrische gegevens. | Automatisch het aantal pods omlaag schalen wanneer de vraag laag is en uitschalen wanneer de vraag toeneemt, resulteert in een rendabelere werking van uw workload. |
(Workload) Gebruik VerticalPodAutoscaler (preview) om uw pods op de juiste grootte te brengen en dynamisch verzoeken en limieten in te stellen op basis van historisch gebruik. | Door resourceaanvragen en limieten in te stellen voor containers voor elke workload, maakt VerticalPodAutoscaler CPU en geheugen vrij voor andere pods en zorgt u voor effectief gebruik van uw AKS-clusters. |
(Cluster) Configureer de AKS-kostenanalyse add-on. | Met de clusterextensie kostenanalyse kunt u gedetailleerd inzicht krijgen in de kosten die zijn gekoppeld aan verschillende Kubernetes-resources in uw clusters of naamruimten. |
Operationele uitmuntendheid
Operational Excellence richt zich voornamelijk op procedures voor ontwikkelprocedures, waarneembaarheid en releasebeheer.
De ontwerpprincipes voor Operational Excellence bieden een ontwerpstrategie op hoog niveau voor het bereiken van deze doelstellingen voor de operationele vereisten van de workload.
Controlelijst voor ontwerp
Start uw ontwerpstrategie op basis van de ontwerpbeoordelingschecklist voor voor Operational Excellence om processen voor waarneembaarheid, testen en implementatie te definiëren. Zie best practices voor AKS en dag 2-bewerkingsgids voor meer informatie over belangrijke overwegingen die u moet begrijpen en implementeren.
(Cluster) een implementatiebenadering voor infrastructuur als code (IaC) implementeren. Gebruik een declaratieve implementatiebenadering op basis van sjablonen met bicep, Terraform of vergelijkbare hulpprogramma's. Zorg ervoor dat alle implementaties herhaalbaar, traceerbaar en opgeslagen zijn in een opslagplaats voor broncode. Zie de quickstarts in de productdocumentatie van AKS voor meer informatie.
(Cluster en workload) Infrastructuur- en workloadimplementaties automatiseren. Gebruik standaardsoftwareoplossingen voor het beheren, integreren en automatiseren van de implementatie van uw cluster en workloads. Integreer implementatiepijplijnen met uw broncodebeheersysteem en integreer geautomatiseerde tests.
Bouw een geautomatiseerd proces om ervoor te zorgen dat uw clusters worden opgestart met de benodigde configuraties en implementaties voor het hele cluster. Dit proces wordt doorgaans uitgevoerd met behulp van GitOps.
Gebruik een herhaalbare en geautomatiseerde implementatieprocessen voor uw workload binnen de levenscyclus van softwareontwikkeling.
(Cluster en workload) een uitgebreide bewakingsstrategie implementeren. Logboeken en metrische gegevens verzamelen om de status van de workload te bewaken, trends in prestaties en betrouwbaarheid te identificeren en problemen op te lossen. Bekijk de Best practices voor het bewaken van Kubernetes met Azure Monitor en de Well-Architected -aanbevelingen voor het ontwerpen en maken van een bewakingssysteem om de beste bewakingsstrategie voor uw workloads te bepalen.
Schakel diagnostische instellingen in om ervoor te zorgen dat interactie tussen besturingsvlak of kern-API-server wordt vastgelegd.
De werkbelasting moet worden ontworpen om telemetrie te verzenden die kan worden verzameld, wat ook de status van de liveheid en gereedheid moet omvatten.
(Cluster en workload) Testen implementeren in productiestrategieën. Testen in productie maakt gebruik van echte implementaties om het gedrag en de prestaties van een toepassing in de productieomgeving te valideren en te meten. Gebruik chaos-engineeringprocedures die gericht zijn op Kubernetes om problemen met de betrouwbaarheid van toepassingen of platforms te identificeren.
Azure Chaos Studio kan helpen bij het simuleren van fouten en het activeren van situaties met herstel na noodgevallen.
(Cluster en workload) Workloadbeheer afdwingen. Azure Policy zorgt voor consistente naleving van organisatiestandaarden, automatiseert beleidsafdwinging en biedt gecentraliseerde zichtbaarheid en controle over uw clusterresources.
Raadpleeg de sectie Azure-beleid voor meer informatie over de beschikbare ingebouwde beleidsregels voor AKS.
(Cluster en workload) Gebruik zegelniveau, blauw-groene implementaties voor bedrijfskritieke workloads. De blauw-groene implementatiemethode op zegelniveau kan het vertrouwen vergroten bij het doorvoeren van wijzigingen en upgrades zonder downtime mogelijk maken, omdat compatibiliteiten met downstreamafhankelijkheden zoals het Azure-platform, resource-providers en IaC-modules kunnen worden gevalideerd.
Kubernetes- en toegangsbeheerobjectcontrollers ondersteunen veel geavanceerde implementatiepatronen voor opname in uw release-engineeringproces. Overweeg patronen zoals blauwgroene implementaties of canary-releases.
(Cluster en workload) workloads duurzaam maken. Workloads efficiënter duurzame en cloudefficiënte vereist dat er inspanningen worden gecombineerd rond kostenoptimalisatie, het verminderen van koolstofemissiesen het energieverbruikte optimaliseren. Het optimaliseren van de kosten van de toepassing is de eerste stap bij het duurzaam maken van workloads.
Zie principes voor duurzame software-engineering in AKS voor meer informatie over het bouwen van duurzame en efficiënte AKS-workloads.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster) Cluster- en podconfiguratiestandaarden operationeel maken met behulp van Azure-beleid voor AKS-. | Azure-beleid voor AKS kan u helpen bij het toepassen van afdwinging en beveiliging op schaal op uw clusters op een gecentraliseerde, consistente manier. Gebruik beleidsregels om de machtigingen te definiëren die zijn verleend aan pods en om naleving van het bedrijfsbeleid te garanderen. |
(Workload) Gebruik Kubernetes Event Driven Autoscaler (KEDA) . | Met KEDA kunnen uw toepassingen worden geschaald op basis van gebeurtenissen, zoals het aantal gebeurtenissen dat wordt verwerkt. U kunt kiezen uit een uitgebreide catalogus met meer dan 50 KEDA-schaalders. |
Prestatie-efficiëntie
Prestatie-efficiëntie gaat over het behouden van de gebruikerservaring, zelfs wanneer er een toename van de belasting is, door de capaciteit te beheren. De strategie omvat het schalen van resources, het identificeren en optimaliseren van potentiële knelpunten en het optimaliseren van piekprestaties.
De ontwerpprincipes voor Prestatie-efficiëntie een ontwerpstrategie op hoog niveau bieden voor het bereiken van deze capaciteitsdoelen ten opzichte van het verwachte gebruik.
Controlelijst voor ontwerp
Start uw ontwerpstrategie met de checklist voor ontwerpbeoordeling voor Performance Efficiency voor het definiëren van een basislijn met behulp van belangrijke prestatie-indicatoren voor AKS.
(Cluster en workload) Capaciteitsplanning uitvoeren. Een gedetailleerde oefening voor capaciteitsplannen uitvoeren en herhalen, waaronder SKU, instellingen voor automatische schaalaanpassing, IP-adressering en failoveroverwegingen.
Nadat u uw capaciteitsplan hebt geformaliseerd, werkt u het plan regelmatig bij door continu het resourcegebruik van het cluster te observeren.
(Cluster) Een schaalstrategie definiëren. Schaalaanpassing configureren om ervoor te zorgen dat resources efficiënt worden aangepast om te voldoen aan de eisen van workloads zonder overgebruik of verspilling. Gebruik AKS-functies zoals automatische schaalaanpassing van clusters en HorizontalPodAutoscaler om dynamisch te voldoen aan uw workloadbehoeften, met minder druk op bewerkingen. Optimaliseer uw workload om efficiënt te werken en te implementeren in een container.
Raadpleeg de handleiding Schalen en partitioneren om inzicht te hebben in de verschillende aspecten van de schaalconfiguratie.
(Cluster en workload) prestatiebeoordeling uitvoeren. Voortdurende belastingstestactiviteiten uitvoeren die de automatische schaalaanpassing van zowel pods als clusters testen. Vergelijk resultaten met de prestatiedoelen en de vastgestelde basislijnen.
(Cluster en workload) Werkbelastingen en stromen onafhankelijk schalen. Scheid werkbelastingen en stromen in verschillende knooppuntgroepen om onafhankelijk schalen mogelijk te maken. Volg de richtlijnen in Optimaliseer workloadontwerp met flows om uw flows te identificeren en te prioriteren.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
(Cluster) Schakel de clusterschaalvergroter in om automatisch het aantal agentknooppunten aan te passen in reactie op de eisen van de werklast. Gebruik de HorizontalPodAutoscaler om het aantal pods in een implementatie aan te passen, afhankelijk van het CPU-gebruik of andere metrische gegevens. |
Met de mogelijkheid om het aantal knooppunten en het aantal pods in uw AKS-cluster automatisch omhoog of omlaag te schalen, kunt u een efficiënt, rendabel cluster uitvoeren. |
(Cluster en workload) Scheid workloads in verschillende knooppuntgroepen en overweeg het schalen van gebruikersknooppuntgroepens. | In tegenstelling tot systeemknooppuntgroepen waarvoor altijd actieve knooppunten zijn vereist, kunt u met gebruikersknooppuntgroepen omhoog of omlaag schalen. |
(Workload) Gebruik AKS geavanceerde planningsfuncties om geavanceerd balanceren van resources te implementeren voor workloads die dit vereisen. | Wanneer u AKS-clusters beheert, moet u vaak teams en workloads isoleren. Met geavanceerde functies van de Kubernetes-planner kunt u bepalen welke pods op bepaalde knooppunten kunnen worden gepland. Hiermee kunt u ook bepalen hoe multipod-toepassingen op de juiste wijze kunnen worden gedistribueerd over het cluster. |
(Workload) Gebruik KEDA om zinvolle regels voor automatische schaling te bouwen op basis van signalen die specifiek zijn voor uw workload. | Niet alle schaalbeslissingen kunnen worden afgeleid van metrische cpu- of geheugengegevens. Overwegingen voor schaalaanpassing zijn vaak afkomstig van complexere of zelfs externe gegevenspunten. Met KEDA kunnen uw toepassingen worden geschaald op basis van gebeurtenissen, zoals het aantal berichten in een wachtrij of de lengte van een onderwerpvertraging. |
Azure-beleid
Azure biedt een uitgebreide set ingebouwde beleidsregels met betrekking tot AKS die van toepassing zijn op de Azure-resource, zoals typisch Azure-beleid en de Azure Policy-invoegtoepassing voor Kubernetes en binnen het cluster. Veel van de Azure-resourcebeleidsregels komen zowel in de Auditing/Weigeren- variant als de Implementeren als niet aanwezig- variant. Naast de ingebouwde Azure Policy-definities kunt u aangepaste beleidsregels maken voor zowel de AKS-resource als voor de Azure Policy-invoegtoepassing voor Kubernetes.
Enkele van de aanbevelingen in dit artikel kunnen worden gecontroleerd via Azure Policy. U kunt bijvoorbeeld het volgende clusterbeleid controleren:
- Clusters hebben gereedheids- of livestatustests geconfigureerd voor uw podspecificatie.
- Microsoft Defender voor cloudbeleid.
- Verificatiemodus en configuratiebeleid, zoals Microsoft Entra-id, RBAC en lokale verificatie uitschakelen.
- Beleid voor netwerktoegang voor API-servers, inclusief privécluster.
- GitOps-configuratiebeleid.
- Beleid voor diagnostische instellingen.
- AKS-versiebeperkingen.
- Opdracht aanroepen voorkomen.
U kunt ook het volgende cluster- en workloadbeleid controleren:
- Kubernetes-clusterpodbeveiligingsinitiatieven voor linux-workloads.
- Neem beleidsregels voor pod- en containerbevoegdheden op, zoals AppArmor, sysctl, beveiligingscapaciteiten, SELinux, seccomp, geprivilegieerde containers en het automatisch koppelen van cluster-API-referenties.
- Koppelbeleid, volumestuurprogramma's en beleid voor het bestandssysteem.
- Pod- en containernetwerkbeleidsregels, zoals hostnetwerk, poort, toegestane externe IP's, HTTPs en interne load balancers.
- Beperkingen voor naamruimteimplementatie.
- Limieten voor CPU- en geheugenresources.
Voor uitgebreide governance, raadpleeg de ingebouwde Azure Policy-definities voor Kubernetes en andere beleidsregels die van invloed kunnen zijn op de beveiliging van de computatielaag.
Aanbevelingen voor Azure Advisor
Azure Advisor is een gepersonaliseerde cloudconsultant waarmee u de aanbevolen procedures kunt volgen om uw Azure-implementaties te optimaliseren. Hier volgen enkele aanbevelingen waarmee u de betrouwbaarheid, beveiliging, kosteneffectiviteit, prestaties en operationele uitmuntendheid van AKS kunt verbeteren.
Verwante inhoud
Bekijk de volgende artikelen als middelen die de aanbevelingen illustreren die in dit artikel worden benadrukt.
- AKS-basislijnarchitectuur
- Geavanceerde AKS-microservicesarchitectuur
- AKS-cluster voor een PCI-DSS-workload
- AKS-basislijn voor clusters met meerdere regio's
- AKS-landingszoneversneller
Bouw expertise op het gebied van implementatie met behulp van de volgende productdocumentatie: