Välj en Kubernetes vid beräkningsalternativet edge
I det här dokumentet beskrivs kompromisserna för olika alternativ som är tillgängliga för att utöka beräkningen på gränsen. Följande överväganden för varje Kubernetes-alternativ beskrivs:
Driftskostnader. Det förväntade arbete som krävs för att underhålla och driva Kubernetes-kluster.
Enkel konfiguration. Svårighetsnivån för att konfigurera och distribuera ett Kubernetes-kluster.
Flexibilitet. Ett mått på hur anpassningsbart Kubernetes-alternativet är att integrera en anpassad konfiguration med befintlig infrastruktur vid gränsen.
Blandad nod. Möjlighet att köra ett Kubernetes-kluster med både Linux- och Windows-noder.
Antaganden
Du är en klusteroperator som vill förstå olika alternativ för att köra Kubernetes vid gränsen och hantera kluster i Azure.
Du har god förståelse för befintlig infrastruktur och andra infrastrukturkrav, inklusive krav på lagring och nätverk.
När du har läst det här dokumentet kan du identifiera vilket alternativ som passar bäst för ditt scenario och den miljö som krävs.
Kubernetes-val snabbt
Driftskostnader | Enkel konfiguration | Flexibilitet | Blandad nod | Sammanfattning | |
---|---|---|---|---|---|
Kubernetes utan operativsystem | Hög** | Svår** | Hög** | Ja | En konfiguration på marken för alla tillgängliga infrastrukturer på plats med alternativet att använda Azure Arc för att lägga till Azure-funktioner. |
K8s på Azure Stack Edge Pro | Låg | Enkelt | Låg | Endast Linux | Kubernetes distribueras på Azure Stack Edge-installationen som distribueras på plats. |
AKS-hybrid | Låg | Enkelt | Medium | Ja | AKS distribueras på Azure Stack HCI eller Windows Server 2019. |
*Andra hanterade gränsplattformar (OpenShift, Tanzu och så vidare) finns inte i omfånget för det här dokumentet.
**Dessa värden baseras på användning av kubeadm för enkelhetens skull. Olika alternativ för att köra Kubernetes utan operativsystem vid gränsen skulle ändra klassificeringen i dessa kategorier.
Kubernetes utan operativsystem
Grundkonfiguration av Kubernetes med verktyg som kubeadm på alla underliggande infrastrukturer.
De största begränsningarna för Kubernetes utan operativsystem handlar om organisationens specifika behov och krav. Möjligheten att använda distribution, nätverksgränssnitt och plugin-program innebär högre komplexitet och driftskostnader. Men det här är det mest flexibla alternativet för att anpassa klustret.
Scenario
Ofta har gränsplatser specifika krav för att köra Kubernetes-kluster som inte uppfylls med de andra Azure-lösningarna som beskrivs i det här dokumentet. Det innebär att det här alternativet vanligtvis är bäst för dem som inte kan använda hanterade tjänster på grund av befintlig infrastruktur som inte stöds, eller de som försöker ha maximal kontroll över sina kluster.
Det här alternativet kan vara särskilt svårt för dem som är nya i Kubernetes. Detta är inte ovanligt för organisationer som vill köra gränskluster. Alternativ som MicroK8s eller k3s syftar till att platta ut inlärningskurvan .
Det är viktigt att förstå eventuell underliggande infrastruktur och eventuell integrering som förväntas ske i förväg. Detta hjälper till att begränsa genomförbara alternativ och identifiera eventuella luckor med verktyg med öppen källkod och/eller plugin-program.
Att aktivera kluster med Azure Arc är ett enkelt sätt att hantera klustret från Azure tillsammans med andra resurser. Detta ger även andra Azure-funktioner till klustret, inklusive Azure Policy, Azure Monitor, Microsoft Defender för molnet och andra tjänster.
Eftersom klusterkonfigurationen inte är trivial är det särskilt viktigt att tänka på CI/CD. Att spåra och agera på tidigare ändringar av olika plugin-program, och se till att dessa ändringar inte påverkar hälsotillståndet för klustret, blir ett direkt ansvar. Det är viktigt att du har en stark CI/CD-lösning, stark testning och övervakning på plats.
Verktygsalternativ
Bootstrap för kluster:
kubeadm: Kubernetes-verktyg för att skapa kubernetes-kluster med grunden. Bra för standardberäkningsresurser (Linux/Windows).
MicroK8s: Förenklad administration och konfiguration ("LowOps"), överensstämmande Kubernetes av Canonical.
k3s: Certifierad Kubernetes-distribution som skapats för Sakernas Internet (IoT) och gränsberäkning.
Lagring:
- Utforska tillgängliga CSI-drivrutiner: Många alternativ är tillgängliga för att passa dina krav från moln till lokala filresurser.
Nätverk:
- En fullständig lista över tillgängliga tillägg finns här: Nätverkstillägg. Några populära alternativ är Flannel, ett enkelt överläggsnätverk, och Calico, som tillhandahåller en fullständig nätverksstack.
Att tänka på
Driftskostnader:
- Utan det stöd som medföljer hanterade tjänster är det upp till organisationen att underhålla och driva klustret som helhet (lagring, nätverk, uppgraderingar, observerbarhet, programhantering). Driftkostnaden anses vara hög.
Enkel konfiguration:
- Att utvärdera de många alternativen med öppen källkod i varje konfigurationssteg, oavsett om dess nätverk, lagring eller övervakningsalternativ är oundvikliga och kan bli komplexa. Kräver mer övervägande för att konfigurera en CI/CD för klusterkonfiguration. På grund av dessa problem anses den enkla konfigurationen vara svår.
Flexibilitet:
- Med möjligheten att använda alla verktyg eller plugin-program med öppen källkod utan några providerbegränsningar är Kubernetes utan operativsystem mycket flexibelt.
Kubernetes på Azure Stack Edge
Kubernetes-kluster (en virtuell huvuddator och en arbets-VM) har konfigurerats och distribuerats åt dig på din Azure Stack Edge Pro-enhet.
Azure Stack Edge Pro-enheter levererar Azure-funktioner som beräkning, lagring, nätverk och maskinvaruaccelererad maskininlärning (ML) till valfri gränsplats. Kubernetes-kluster kan skapas när beräkningsrollen är aktiverad på någon av Pro-GPU-, Pro-R- och Mini-R-enheterna. Du kan hantera uppgraderingar av Kubernetes-klustret med hjälp av standarduppdateringar som är tillgängliga för enheten.
Scenario
Perfekt för dem som har befintliga (Linux) IoT-arbetsbelastningar eller uppgraderar sin beräkning för ML vid gränsen. Det här är ett bra alternativ när det inte är nödvändigt att ha mer detaljerad kontroll över klustren.
Administratörsbehörigheter beviljas inte som standard. Även om du kan arbeta med produktgruppen för att göra vissa undantag gör det det svårt att ha bättre kontroll över klustret.
Det finns en extra kostnad om det inte redan finns en Azure Stack Edge-enhet. Utforska Azure Stack Edge-enheter och se om det passar dina beräkningskrav.
Calico, MetalLB och CoreDNS installeras för Kubernetes-nätverk på enheten.
Endast Linux-arbetsbelastningar stöds just nu.
Utöver Kubernetes levereras Azure Stack Edge även med IoT-körningen, vilket innebär att arbetsbelastningar också kan distribueras till dina Azure Stack Edge-kluster via IoT Edge.
Stöd för två nodkluster är för närvarande inte tillgängligt. Detta innebär i praktiken att det här alternativet inte är en lösning med hög tillgänglighet (HA).
Att tänka på
Driftskostnader:
- Med det stöd som medföljer enheten är driftskostnaderna minimala och begränsas till arbetsbelastningshantering.
Enkel konfiguration:
- Förkonfigurerad och väldokumenterad Kubernetes-klusterdistribution förenklar den konfiguration som krävs jämfört med kubernetes utan operativsystem.
Flexibilitet:
- Konfigurationen har redan angetts och administratörsbehörigheter beviljas inte som standard. Produktgruppsengagemang kan krävas utöver grundläggande konfiguration och den underliggande infrastrukturen måste vara en Azure Stack Edge Pro-enhet, vilket gör detta till ett mindre flexibelt alternativ.
AKS-hybrid
AKS-hybrid är en uppsättning fördefinierade inställningar och konfigurationer som används för att distribuera ett eller flera Kubernetes-kluster (med Windows Admin Center eller PowerShell-moduler) i ett kluster med flera noder som kör antingen Windows Server eller Azure Stack HCI 20H2 eller senare.
Scenario
Perfekt för dem som vill ha ett förenklat och effektiviserat sätt att få ett Microsoft-kluster som stöds på kompatibla enheter (Azure Stack HCI eller Windows Server). Drift- och konfigurationskomplexitet minskas på bekostnad av flexibiliteten jämfört med alternativet Kubernetes utan operativsystem.
Att tänka på
Driftskostnader:
- Microsoft-kluster som stöds minimerar driftskostnaderna.
Enkel konfiguration:
- Förkonfigurerad och väldokumenterad Kubernetes-klusterdistribution förenklar den konfiguration som krävs jämfört med kubernetes utan operativsystem.
Flexibilitet:
- Själva klusterkonfigurationen har angetts, men administratörsbehörigheter beviljas. Den underliggande infrastrukturen måste antingen vara Azure Stack HCI eller Windows Server. 2019. Det här alternativet är mer flexibelt än Kubernetes på Azure Stack Edge och mindre flexibelt än kubernetes utan operativsystem.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Prabhjot Kaur | Huvudarkitekt för molnlösning
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
Mer information finns i följande artiklar:
Distribuera ett tillståndslöst Kubernetes-program via kubectl på din Azure Stack Edge Pro GPU-enhet
Använda Kubernetes-instrumentpanelen för att övervaka din Azure Stack Edge Pro GPU-enhet