Grundläggande begrepp för Azure Kubernetes Service (AKS)
I den här artikeln beskrivs grundläggande begrepp för Azure Kubernetes Service (AKS), en hanterad Kubernetes-tjänst som du kan använda för att distribuera och använda containerbaserade program i stor skala i Azure.
Vad är Kubernetes?
Kubernetes är en containerorkestreringsplattform med öppen källkod för att automatisera distribution, skalning och hantering av containerbaserade program. Mer information finns i den officiella Kubernetes-dokumentationen.
Vad är AKS?
AKS är en hanterad Kubernetes-tjänst som förenklar distribution, hantering och skalning av containerbaserade program med Kubernetes. Mer information finns i Vad är Azure Kubernetes Service (AKS)?
Klusterkomponenter
Ett AKS-kluster är indelat i två huvudkomponenter:
- Kontrollplan: Kontrollplanet tillhandahåller kubernetes-kärntjänster och orkestrering av programarbetsbelastningar.
- Noder: Noder är de underliggande virtuella datorerna som kör dina program.
Kontrollplan
Det hanterade Kontrollplanet i Azure består av flera komponenter som hjälper dig att hantera klustret:
Komponent | beskrivning |
---|---|
kube-apiserver | API-servern (kube-apiserver) exponerar Kubernetes API för att aktivera begäranden till klustret inifrån och utanför klustret. |
etcd | etcd är ett nyckelvärdesarkiv med hög tillgänglighet som hjälper till att upprätthålla tillståndet för ditt Kubernetes-kluster och din konfiguration. |
kube-scheduler | Schemaläggaren (kube-scheduler) hjälper till att fatta schemaläggningsbeslut, letar efter nya poddar utan tilldelad nod och väljer en nod som de ska köras på. |
kube-controller-manager | Kontrollanthanteraren (kube-controller-manager) kör kontrollantprocesser, till exempel att märka och svara när noderna slutar fungera. |
cloud-controller-manager | Cloud Controller Manager (cloud-controller-manager) bäddar in molnspecifik kontrolllogik för att köra styrenheter som är specifika för molnleverantören. |
Noder
Varje AKS-kluster har minst en nod, vilket är en virtuell Azure-dator (VM) som kör Kubernetes-nodkomponenter. Följande komponenter körs på varje nod:
Komponent | beskrivning |
---|---|
kubelet | Kubelet säkerställer att containrar körs i en podd. |
kube-proxy | Kube-proxy är en nätverksproxy som upprätthåller nätverksregler på noder. |
containerkörning | Containerkörningen hanterar körning och livscykel för containrar. |
Nodkonfiguration
VM-storlek och avbildning
Storleken på den virtuella Azure-datorn för dina noder definierar processorer, minne, storlek och den tillgängliga lagringstypen, till exempel högpresterande SSD eller vanlig hårddisk. Vilken vm-storlek du väljer beror på arbetsbelastningskraven och antalet poddar som du planerar att köra på varje nod. Mer information finns i VM-storlekar som stöds i Azure Kubernetes Service (AKS).
I AKS baseras VM-avbildningen för klustrets noder på Ubuntu Linux, Azure Linux eller Windows Server 2022. När du skapar ett AKS-kluster eller skalar ut antalet noder skapar och konfigurerar Azure-plattformen automatiskt det begärda antalet virtuella datorer. Agentnoder faktureras som vanliga virtuella datorer, så eventuella vm-storleksrabatter, inklusive Azure-reservationer, tillämpas automatiskt.
OS-diskar
Standardstorleken för OS-diskar används endast i nya kluster eller nodpooler när tillfälliga OS-diskar inte stöds och ingen standardstorlek för OS-disken anges. Mer information finns i Standard os-diskstorlek och tillfälliga OS-diskar.
Resursreservationer
AKS använder nodresurser för att hjälpa noderna att fungera som en del av klustret. Den här användningen kan orsaka en avvikelse mellan nodens totala resurser och de allokerbara resurserna i AKS. För att upprätthålla nodprestanda och -funktioner reserverar AKS två typer av resurser, CPU och minne, på varje nod. Mer information finns i Resursreservationer i AKS.
OS
AKS stöder Ubuntu 22.04 och Azure Linux 2.0 som nodoperativsystem för Linux-nodpooler. För Windows-nodpooler stöder AKS Windows Server 2022 som standardoperativsystem. Windows Server 2019 dras tillbaka när Kubernetes version 1.32 når slutet av livslängden och stöds inte i framtida versioner. Om du behöver uppgradera din Windows OS-version läser du Uppgradera från Windows Server 2019 till Windows Server 2022. Mer information om hur du använder Windows Server på AKS finns i Överväganden för Windows-container i Azure Kubernetes Service (AKS).
Containerkörning
En containerkörning är programvara som kör containrar och hanterar containeravbildningar på en nod. Körningen hjälper till att abstrahera sys-anrop eller OS-specifika funktioner för att köra containrar i Linux eller Windows. För Linux-nodpooler containerd
används på Kubernetes version 1.19 och senare. För Windows Server 2019- och 2022-nodpooler containerd
är det allmänt tillgängligt och är det enda körningsalternativet i Kubernetes version 1.23 och senare.
Poddar
En podd är en grupp med en eller flera containrar som delar samma nätverks- och lagringsresurser och en specifikation för hur containrarna ska köras. Poddar har vanligtvis en 1:1-mappning med en container, men du kan köra flera containrar i en podd.
Nodpooler
I AKS grupperas noder med samma konfiguration i nodpooler. Dessa nodpooler innehåller de underliggande VM-skalningsuppsättningarna och virtuella datorer som kör dina program. När du skapar ett AKS-kluster definierar du det inledande antalet noder och deras storlek (SKU), som skapar en systemnodpool. Systemnodpooler har det primära syftet att vara värd för kritiska systempoddar, till exempel CoreDNS och konnectivity
. För att stödja program som har olika beräknings- eller lagringskrav kan du skapa användarnodpooler. Användarnodpooler har det primära syftet att vara värd för dina programpoddar.
Mer information finns i Skapa nodpooler i AKS och Hantera nodpooler i AKS.
Nodresursgrupp
När du skapar ett AKS-kluster i en Azure-resursgrupp skapar AKS-resursprovidern automatiskt en andra resursgrupp som kallas nodresursgruppen. Den här resursgruppen innehåller alla infrastrukturresurser som är associerade med klustret, inklusive virtuella datorer (VM), vm-skalningsuppsättningar och lagring.
Mer information finns i följande resurser:
- Varför skapas två resursgrupper med AKS?
- Kan jag ange mitt eget namn för AKS-nodresursgruppen?
- Kan jag ändra taggar och andra egenskaper för resurserna i AKS-nodresursgruppen?
Namnrymder
Kubernetes-resurser, till exempel poddar och distributioner, grupperas logiskt i namnområden för att dela upp ett AKS-kluster och skapa, visa eller hantera åtkomst till resurser.
Följande namnområden skapas som standard i ett AKS-kluster:
Namnområde | beskrivning |
---|---|
standard | Med standardnamnområdet kan du börja använda klusterresurser utan att skapa ett nytt namnområde. |
kube-node-lease | Kube-node-lease-namnområdet gör det möjligt för noder att kommunicera sin tillgänglighet till kontrollplanet. |
kube-public | Det kube-offentliga namnområdet används vanligtvis inte, men kan användas för att resurser ska kunna visas i hela klustret av alla användare. |
kube-system | Kube-system-namnområdet används av Kubernetes för att hantera klusterresurser, till exempel coredns , konnectivity-agent och metrics-server . |
Klusterlägen
I AKS kan du skapa ett kluster med läget Automatisk (förhandsversion) eller Standard . AKS Automatic ger en mer fullständigt hanterad upplevelse, hantering av klusterkonfiguration, inklusive noder, skalning, säkerhet och andra förkonfigurerade inställningar. AKS Standard ger mer kontroll över klusterkonfigurationen, inklusive möjligheten att hantera nodpooler, skalning och andra inställningar.
Mer information finns i aks automatisk och standard funktion jämförelse.
Prisnivåer
AKS erbjuder tre prisnivåer för klusterhantering: Kostnadsfri, Standard och Premium. Vilken prisnivå du väljer avgör vilka funktioner som är tillgängliga för att hantera klustret.
Mer information finns i Prisnivåer för AKS-klusterhantering.
Kubernetes-versioner som stöds
Mer information finns i Kubernetes-versioner som stöds i AKS.
Nästa steg
Mer information om fler grundläggande begrepp för AKS finns i följande resurser:
Azure Kubernetes Service