Overzicht van Kubernetes en AKS

Voltooid

Terwijl u de principes van containerisatie verkent om de flexibiliteit en dichtheid van workloads in de rekenomgeving van Contoso te vergroten, realiseert u zich dat u zich moet richten op containerindeling in plaats van op de implementatie van afzonderlijke containers. Hoewel deze laatste eenvoud biedt, ontbreekt het aan schaalbaarheid en tolerantie. In uw onderzoek naar containerindeling hebt u Kubernetes en AKS snel geïdentificeerd als de meest geschikte kandidaten voor uw geplande implementatie.

Wat is Kubernetes?

Kubernetes is een uitbreidbaar opensource-platform op basis van Linux voor het indelen van gecontaineriseerde workloads. Om tolerantie te garanderen, bestaat een typische Kubernetes-implementatie uit meerdere geclusterde servers, die knooppunten worden genoemd. Sommige vormen een besturingsvlak dat verantwoordelijk is voor het beheren van de resterende knooppunten waarop u uw workloads implementeert. Voor Kubernetes bestaan deze workloads uit exemplaren van containertoepassingen die pods worden genoemd.

Notitie

Een van de belangrijkste onderdelen van het besturingsvlak is API Server, die de interface biedt voor het configureren en beheren van Kubernetes-clusters.

Notitie

Een pod komt ongeveer overeen met een container, hoewel deze meerdere, nauw gekoppelde containers kan bevatten die op hetzelfde clusterknooppunt worden uitgevoerd.

Pods zijn doorgaans staatloos en bieden geen inherente tolerantiefuncties. Als u hoge beschikbaarheid en redundantie wilt implementeren, kunt u deze inrichten met behulp van implementaties. Meestal bestaat een implementatie uit meerdere replica's van pods die dezelfde configuratie delen en containers uitvoeren op basis van dezelfde installatiekopieën. Kubernetes beheert automatisch de levenscyclus van pods binnen een implementatie, waarbij eventuele mislukte pods op een optimale manier opnieuw worden gemaakt op de beschikbare clusterknooppunten.

Implementaties stroomlijnen ook updates voor installatiekopieën van containers die worden uitgevoerd binnen pods zonder dat dit van invloed is op de beschikbaarheid van de containerworkload. Door onderbrekingsbudgetten te definiëren, bepaalt u het aantal podreplica's dat online moet blijven gedurende het updateproces.

Voor directe connectiviteit met pods kunt u een ander Kubernetes-resourcetype implementeren dat bekend staat als een service. Met een service kunt u bijvoorbeeld externe, taakverdelingsconnectiviteit van internet instellen op een webservice die wordt gehost op een groep pods als onderdeel van dezelfde implementatie.

Kubernetes biedt de mogelijkheid om pods, services, implementaties en vele andere clusteronderdelen te isoleren in naamruimten. Naamruimten vormen logische grenzen, waarmee u de toegang kunt beperken tot het maken, weergeven of gebruiken van clusterbronnen.

Wat zijn de belangrijkste voordelen van Kubernetes?

Kubernetes biedt een consistent beheermodel voor een omgeving met meerdere containers die gebruikmaakt van gedeelde reken-, netwerk- en opslagresources. Het biedt een declaratief implementatie- en beheermodel, waarin u de gewenste configuratie beschrijft en de implementatie ervan op het Kubernetes-besturingsvlak laat staan.

Notitie

Met het declaratieve beheermodel gebruikt u manifestbestanden met YAML-indeling om Kubernetes-onderdelen, zoals pods, services en implementaties, in te richten, te wijzigen en te verwijderen. U kunt ook verpakte verzamelingen YAML-bestanden gebruiken, ook wel Helm-grafieken genoemd. Helm is een pakketbeheerder voor Kubernetes en vereenvoudigt de implementatie van complexere workloads in Kubernetes-clusters.

Kubernetes biedt ook voordelen zoals:

  • Zelfherstel van pods
  • Automatisch schalen van pods
  • Automatisch schalen van autoclusterknooppunten in gevirtualiseerde scenario's
  • Geautomatiseerde rolling update en terugdraaien van podimplementaties
  • Automatische detectie van nieuwe podimplementaties
  • Taakverdeling tussen pods waarop dezelfde workloads worden uitgevoerd

Met Kubernetes kunt u een groep fysieke of virtuele servers behandelen als een geïntegreerde rekenresource, waarbij u de servers tegelijkertijd optimaliseert met behulp van de flexibiliteit en dichtheid van containerworkloads. Hoewel Kubernetes containerbeheer vereenvoudigt, omvat het beheer veel configuratie-, beheer- en onderhoudstaken:

  • Aspecten zoals implementatie, aanpassing van de schaal, taakverdeling, logboeken en controle zijn allemaal optioneel. Het is aan u om de optimale configuratie te identificeren en te implementeren die aan uw specifieke behoeften voldoet.
  • Kubernetes biedt geen middleware, frameworks voor gegevensverwerking of databases. U hebt echter de mogelijkheid om een van de overeenkomstige functies te implementeren met behulp van containers.
  • U bent zelf verantwoordelijk voor het onderhouden van uw Kubernetes-omgeving. U moet bijvoorbeeld upgrades van het besturingssystemen en Kubernetes beheren. U beheert ook de hardwareresources die ter beschikking staan van clusterknooppunten, zoals netwerk, geheugen en opslag.

Notitie

Beheerde Kubernetes-aanbiedingen, zoals AKS, minimaliseren of zelfs elimineren van enkele van deze uitdagingen.

Kenniscontrole

1.

Tijdens het evalueren van de geschiktheid voor het gebruik van Kubernetes voor in containers geplaatste workloads die u wilt implementeren in de Azure Stack HCI-omgeving van Contoso, besefte u dat u gebruikers die hetzelfde Kubernetes-cluster gebruiken, moeten beperken tot het maken, weergeven of gebruiken van gecontaineriseerde resources. Welke Kubernetes-functie moet u gebruiken om gebruikers te beperken?