Amazon EKS – Funktionen

Übersicht

Amazon Elastic Kubernetes Service (Amazon EKS) ist ein verwalteter Kubernetes-Service, der es Ihnen erleichtert, Kubernetes in AWS und On-Premises auszuführen. Kubernetes ist ein Open-Source-System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Anwendungen in Containern. Amazon EKS ist als kompatibel zu Kubernetes zertifiziert. Daher können vorhandene Anwendungen, die auf einer Upstream-Version von Kubernetes ausgeführt werden, auch mit Amazon EKS ausgeführt werden.

Amazon EKS verwaltet automatisch die Verfügbarkeit und Skalierbarkeit der Knoten auf der Kubernetes-Steuerebene, die für das Planen von Containern, die Verwaltung der Verfügbarkeit von Anwendungen, das Speichern von Cluster-Daten und andere wichtige Aufgaben verantwortlich sind.

Mit Amazon EKS können Sie Ihre Kubernetes-Anwendungen sowohl in Amazon Elastic Compute Cloud (Amazon EC2) als auch in AWS Fargate ausführen. Mit Amazon EKS können Sie die gesamte Leistung, Skalierbarkeit, Zuverlässigkeit und Verfügbarkeit der AWS-Infrastruktur sowie die Integration mit AWS-Netzwerk- und Sicherheitsservices wie Application Load Balancer (ALBs) für die Lastverteilung, AWS-Identity-and-Access-Management (IAM)-Integration mit rollenbasierter Zugriffskontrolle (RBAC) und AWS-Virtual-Private-Cloud (VPC)-Unterstützung für Pod-Netzwerke nutzen.

Foto von Computerdaten

Verwaltete Kubernetes-Cluster

Amazon EKS bietet eine skalierbare und hochverfügbare Kubernetes-Steuerebene, die in mehreren AWS Availability Zones (AZs) ausgeführt wird. Der Amazon-EKS-Service verwaltet automatisch die Verfügbarkeit und Skalierbarkeit der Kubernetes-API-Server und der etcd-Persistenzebene. Amazon EKS führt die Kubernetes-Steuerebene auf drei AZs aus, um Hochverfügbarkeit zu gewährleisten. Die Lösung erkennt beschädigte Knoten auf der Steuerebene und ersetzt diese automatisch.

AWS Controllers for Kubernetes (ACK) gibt Ihnen direkte Managementkontrolle über AWS-Services aus Ihrer Kubernetes-Umgebung. ACK macht die Entwicklung skalierbarer und hochgradig verfügbarer Kubernetes-Anwendungen mit AWS-Services zum Kinderspiel.

EKS bietet eine integrierte Konsole für Kubernetes-Cluster. Cluster-Operatoren und Anwendungsentwickler können EKS als zentralen Ort für die Organisation, Visualisierung und Problembehebung Ihrer Kubernetes-Anwendungen verwenden, die auf Amazon EKS ausgeführt werden. Die EKS-Konsole wird von AWS gehostet und ist automatisch für alle EKS-Cluster verfügbar.

EKS-Add-Ons sind allgemeine Betriebssoftware, die die Betriebsfunktion von Kubernetes erweitern. Sie können EKS für die Installation und die Aktualisierung der Add-On-Software verwenden. Wenn Sie einen Amazon-EKS-Cluster starten, können Sie die Erweiterungen auswählen, die Sie im Cluster ausführen möchten. Darunter Kubernetes-Tools für Beobachtung, Networking, Auto Scaling und AWS-Service-Integrationen.

Amazon EKS bietet die Möglichkeit, Knoten für Ihren Cluster mit einem einzigen Befehl zu erstellen, zu aktualisieren, zu skalieren und zu beenden. Diese Knoten können auch Amazon-EC2-Spot-Instances nutzen, um die Kosten zu reduzieren. Verwaltete Knotengruppen führen Amazon-EC2-Instances mit den neuesten EKS-optimierten Amazon Machine Images (AMIs) in Ihrem AWS-Konto aus, während die Knoten bei Aktualisierungen und Beendigungen ordnungsgemäß entleert werden, damit Ihre Anwendungen verfügbar bleiben.

Hybride Bereitstellungen

Sie können EKS in AWS Outposts verwenden, um containerisierte Anwendungen auszuführen, die besonders geringe Latenzen für On-Premises-Systeme erfordern. AWS Outposts ist ein vollständig verwalteter Service, der die AWS-Infrastruktur, AWS-Services, APIs und Tools an praktisch jeder verbundenen Seite bereitstellt. Mit EKS on Outposts können Sie Container On-Premises genauso einfach verwalten wie Ihre Container in der Cloud.

Sie können Knoten zu EKS hinzufügen, die in AWS Local Zones oder in AWS Wavelength ausgeführt werden. Dadurch erhalten Sie eine größere Auswahl für eine optimierte AWS-verwaltete Infrastruktur an der Edge.

Amazon EKS Distro bietet die gleiche Open-Source-Kubernetes-Software wie Amazon EKS in AWS für die Nutzung in Ihrer eigenen On-Premises-Infrastruktur. Verwalten Sie EKS-Distro-Cluster mit Ihren eigenen Tools oder mit Amazon EKS Anywhere.

Amazon EKS Anywhere ermöglicht Ihnen die einfache Erstellung und den On-Premises-Betrieb von Kubernetes-Clustern (entwickelt mit der Software in Amazon EKS Distro). Dies ist auch in Ihren eigenen virtuellen Maschinen (VMs) und Bare-Metal-Servern möglich. Mit EKS Anywhere können Sie auf die Entwicklung und den Support eigener Tools für die Verwaltung von Kubernetes-Clustern verzichten. EKS Anywhere bietet Automatisierungswerkzeuge, die die Clustererstellung, -verwaltung und den Betrieb auf Infrastrukturen wie Bare Metal, VMware vSphere und virtuellen Cloud-Maschinen vereinfachen. Dazu gehören auch virtuelle Cloud-Maschinen mit standardmäßigen Protokollierungs-, Überwachungs-, Netzwerk- und Speicherkonfigurationen. EKS Anywhere bietet die zusätzlichen Tools und Komponenten, die Sie zum Ausführen von Kubernetes in der Produktion benötigen, etwa Clusterinstallation und Lebenszyklusverwaltung, Beobachtbarkeit, Clustersicherung und Richtlinienverwaltung.

Verwenden von eksctl für das Starten von Knoten und die Verwaltung einer Zeile

Verwenden Sie das eksctl-Befehlszeilentool, um in wenigen Minuten mit Amazon EKS einsatzbereit zu sein. Führen Sie einfach den Befehl „eksctl-Cluster erstellen“ aus, um Ihren EKS-Cluster zu erstellen. Sie können eksctl verwenden, um die Clusterverwaltung und den Betrieb zu vereinfachen, einschließlich der Verwaltung von Knoten und Add-Ons.

Amazon EKS unterstützt Windows-Worker-Knoten und die Windows-Container-Planung. EKS unterstützt die Ausführung von Windows Worker-Knoten parallel zu Linux-Worker-Knoten, was Ihnen die Nutzung desselben Clusters zur Verwaltung von Anwendungen auf beiden Betriebssystemen ermöglicht.

AWS-Graviton2-Prozessoren unterstützen ARM-basierte EC2-Instances, was zu einer starken Verbesserung der Leistung und der Funktionen sowie zu deutlichen Kosteneinsparungen führt. Die Verbesserung der Kosteneffizienz von Anwendungen ist ein Hauptziel beim Betrieb von Containern. Kombinieren Sie diese Aspekte, um ein hervorragendes Preis-Leistungs-Verhältnis zu erzielen. Beispielsweise zeigen Workload-Tests, dass Instance-Typen basierend auf Graviton2-Prozessoren ein bis zu 40 % besseres Preis-Leistungs-Verhältnis erzielen als ähnliche M5-, C5- und R5-Produktfamilien, die auf x86-Prozessoren basieren. Amazon EKS auf AWS Graviton2 sind grundsätzlich dort verfügbar, wo beide Services regional verfügbar sind.

Netzwerk und Sicherheit

Mit Amazon EKS können Sie dank erweiterter Funktionen und Integrationen in die AWS-Services und Lösungen der Technologiepartner ganz einfach für die Sicherheit Ihrer Kubernetes-Cluster sorgen. Zum Beispiel bietet IAM eine feinkörnige Zugangskontrolle und Amazon VPC isoliert Ihre Kubernetes-Cluster von anderen Kunden.

Amazon Elastic Kubernetes Service (EKS) unterstützt IPv6 und ermöglicht es Kunden, containerisierte Anwendungen auf Kubernetes weit über die Grenzen des privaten IPv4-Adressraums hinaus zu skalieren. Mit der EKS-Unterstützung für IPv6 wird den Pods nur eine global routbare IPv6-Adresse zugewiesen. Sie können Anwendungen in Ihrem Cluster problemlos skalieren, ohne den begrenzten privaten IPv4-Adressraum zu verbrauchen. Diese global routbare IPv6-Adresse kann zur direkten Kommunikation mit jedem IPv6-Endpunkt in Ihrer Amazon VPC, Ihrem lokalen Netzwerk oder dem öffentlichen Internet verwendet werden. EKS konfiguriert das Netzwerk außerdem so, dass Pods weiterhin mit IPv4-basierten Endpunkten außerhalb des Clusters kommunizieren können. So können Sie die Vorteile von IPv6 und Kubernetes nutzen, ohne dass alle abhängigen Dienste in Ihrem Unternehmen auf IPv6 migriert werden müssen.

EKS Pod Identity vereinfacht die Arbeit, die Kunden ausführen müssen, um Anwendungen auf EKS-Clustern für den Zugriff auf AWS-Services einzurichten. EKS-Clusteradministratoren erhalten einen vereinfachten Arbeitsablauf zum Abrufen der IAM-Anmeldeinformationen, die für die Authentifizierung von Kubernetes-Anwendungen für den Zugriff auf AWS-Ressourcen wie S3-Buckets, DynamoDB-Tabellen und mehr erforderlich sind. EKS Pod Identity erleichtert die Verwendung von IAM-Rollen in mehreren Clustern und vereinfacht die IAM-Richtlinienverwaltung, indem es die Wiederverwendung von Richtlinien zwischen IAM-Rollen unterstützt.

AWS Cloud Map ist ein Service für die Erkennung von Cloud-Ressourcen. Mit Cloud Map können Sie benutzerdefinierte Namen definieren und aktualisierte Speicherorte von sich dynamisch ändernden Anwendungsressourcen verwalten. Dadurch erhöht sich die Verfügbarkeit Ihrer Anwendung, denn Ihr Web-Service erkennt jederzeit die aktuellsten Speicherorte seiner Ressourcen. Cloud Map stellt external-dns, einen Open-Source-Kubernetes-Konnektor bereit, der beim Start von Kubernetes-Services automatisch interne Servicestandorte an die Cloud Map Service Registry weiterleitet und bei Beendigung entfernt. Alle auf Kubernetes basierenden Services werden über Cloud Map erkennbar, welches eine einheitliche Service-Registry für alle Container-Workloads auf bereitstellt.

Das Service-Netz standardisiert, wie jeder Microservice in Ihrer Anwendung kommuniziert, und erleichtert so das Erstellen und Ausführen komplexer Microservices-Anwendungen. AWS App Mesh konfiguriert Ihre Anwendung für durchgängige Transparenz und hohe Verfügbarkeit. Jetzt können Sie mit dem AWS-App-Mesh-Controller für Kubernetes neue Services erstellen, die mit dem Mesh verbunden sind, die Verkehrs-Weiterleitung definieren und Sicherheitsfunktionen wie Verschlüsselung konfigurieren. Darüber hinaus können Sie mit App Mesh Ihre Kubernetes-Pods zur Service-Erkennung automatisch in AWS Cloud Map registrieren lassen. App Mesh exportiert Metriken und Protokolle und Verfolgungen zu den Endpunkten, die in der bereitgestellten Envoy-Bootstrap-Konfiguration angegeben wurde. App Mesh stellt Ihnen eine API zum Konfigurieren von Datenverkehrsrouten, Schutzschaltern, erneuten Versuchen und weiteren Steuerelementen zwischen Netz-fähigen Microservices bereit. App Mesh Mutual TLS unterstützt die Verschlüsselung aller Anfragen zwischen Services, selbst wenn sich diese in Ihren privaten Netzwerken befinden. Darüber hinaus können Sie Authentifizierungssteuerungen hinzufügen, um die Kommunikation nur zwischen Services zu ermöglichen, die Sie zulassen.

Ihre EKS-Cluster werden in einer Amazon VPC ausgeführt. So können Sie Ihre eigenen VPC-Sicherheitsgruppen und Netzwerk-Zugriffssteuerungslisten (ACLs) verwenden. Es werden keine Computing-Ressourcen mit anderen Kunden geteilt, was Ihnen ein hohes Maß an Isolation bietet, um sichere und zuverlässige Anwendungen zu erstellen. EKS verwendet die Amazon-VPC-Container-Netzwerkschnittstelle (CNI), sodass Kubernetes-Pods IP-Adressen von der VPC empfangen können. Amazon EKS verwendet die Netzwerkrichtlinien-Engine von Project Calico, um differenzierte Netzwerkrichtlinien für Ihre Kubernetes-Workloads bereitzustellen. So können Sie über die Kubernetes-Netzwerkrichtlinien-API den Zugriff pro Service kontrollieren.

Amazon EKS integriert Kubernetes RBAC (das native rollenbasierte Zugriffskontrollsystem für Kubernetes) in AWS IAM. Sie können jeder IAM-Entität direkt RBAC-Rollen zuweisen, sodass Sie die Zugriffsberechtigungen für Ihre Kubernetes-Knoten auf Steuerebene genau steuern können.

Amazon EKS erlaubt es Ihnen, Ihre Kubernetes-Servicekonten IAM-Berechtigungen zuzuweisen. Die IAM-Rolle kann der Steuerung des Zugriff auf andere containerisierte Services, AWS-Ressourcen außerhalb des Clusters (wie etwa Datenbanken und Secrets) oder Services Dritter und Anwendungen, die außerhalb von AWS ausgeführt werden, dienen. Dies ermöglicht Ihnen eine feinkörnige Zugriffssteuerung auf Pod-Ebene, wenn Cluster mit mehreren gemeinsam lokalisierten Services ausgeführt werden, und erleichtert die Optimierung der Kosten und Verfügbarkeit für den Cluster.

Amazon EKS ist durch mehrere Compliance-Programme für regulierte und sensible Anwendungen zertifiziert. Amazon EKS ist konform mit SOC, PCI, ISO, FedRAMP-Moderate, IRAP, C5, K-ISMS, ENS High, OSPAR, HITRUST CSF und ist ein HIPAA-fähiger Service.

Amazon EKS ist mit der Verifizierung von Container-Image-Signaturen kompatibel, um die Bereitstellung von Container-Workloads mit genehmigten Images und Artefakten zu ermöglichen. Sie können Images (oder jedes andere OCI-Artefakt wie Software Bill of Materials) verifizieren, die von AWS Signer, einer vollständig verwalteten Signaturlösung, signiert wurden, bevor Sie Images in Ihren Amazon-EKS-Clustern bereitstellen. AWS unterstützt Open-Source-basierte Lösungen zum Signieren und Verifizieren von Bildern, sodass Sie Artefakte, die in Ihrer Registrierung gespeichert sind, einfach signieren und mit Open-Source-Policy-as-Code- oder Zugangscontrollern verifizieren können.

Lastenverteilung

Amazon EKS unterstützt die Nutzung von Elastic Load Balancing, einschließlich Application Load Balancer (ALB), Network Load Balancer (NLB) und Classic Load Balancer.

Sie können mit Ihrem Amazon-EKS-Cluster eine standardmäßige Kubernetes-Cluster-Lastenverteilung oder einen beliebigen von Kubernetes unterstützten Ingress-Controller ausführen.

Serverlose Datenverarbeitung

EKS unterstützt AWS Fargate beim Ausführen Ihrer Kubernetes-Anwendungen mithilfe von serverlosem Computing. Fargate macht die Bereitstellung und Verwaltung von Servern überflüssig, es ermöglicht es Ihnen, Ressourcen pro Anwendung festzulegen und zu bezahlen, und es verbessert die Sicherheit durch eingebaute Anwendungsisolation.

Kostenüberwachung

Amazon EKS vereinfacht den Prozess des Verständnisses der Kosten, die mit Ihrer Kubernetes-Nutzung verbunden sind, sowohl auf Cluster-Ebene als auch auf Ebene der einzelnen Anwendungen.

Amazon EKS fügt automatisch ein AWS-Kostenzuweisungs-Tag zu jeder EC2-Instance hinzu, die einem Cluster beitritt. Dadurch müssen Sie keine benutzerdefinierten Tagging-Richtlinien in Ihrem Unternehmen durchsetzen, um Einblicke in die Kosten auf Clusterebene zu erhalten. Nachdem Sie in der AWS-Fakturierungskonsole das Kostenzuweisungs-Tag des EKS-Clusternamens aktiviert haben, können Sie mit den AWS-Kosten- und Nutzungsberichte Ihre EC2-Kosten im Zusammenhang mit EKS-Clustern verfolgen.

Amazon EKS unterstützt Kubecost, mit dem Sie die Kosten aufgeschlüsselt nach Kubernetes-Ressourcen wie Pods, Nodes, Namespaces und Labels überwachen können. Kubernetes-Plattformadministratoren und Finanzverantwortliche können mit Kubecost eine Aufschlüsselung der mit Amazon EKS verbundenen Kosten visualisieren, Kosten zuordnen und an Organisationseinheiten wie Anwendungsteams weiterverrechnen. Sie können Ihren internen Teams und Geschäftseinheiten transparente und genaue Kostendaten auf der Grundlage ihrer tatsächlichen AWS-Rechnung zur Verfügung stellen und erhalten individuelle Empfehlungen zur Kostenoptimierung auf der Grundlage ihrer Infrastrukturumgebung und der Nutzungsmuster innerhalb ihrer Cluster.

Protokollierung

Amazon EKS ist in AWS CloudTrail integriert, um Einblick in die EKS-Verwaltungsvorgänge zu bieten, einschließlich des Prüfungsverlaufs. Sie können CloudTrail verwenden, um API-Aufrufe der Amazon EKS-API anzuzeigen. Amazon EKS liefert auch Protokolle der Kubernetes-Steuerebene an Amazon CloudWatch für Analyse, Debugging und Prüfung.

Als konform zertifiziert

Amazon EKS führt eine Upstream-Version von Kubernetes aus und ist als Kubernetes-konform zertifiziert, sodass Sie alle vorhandenen Plug-ins und Tools aus der Kubernetes-Community nutzen können. Auf Amazon EKS ausgeführte Anwendungen sind vollständig mit Anwendungen kompatibel, die in einer Standard-Kubernetes-Umgebung (lokal oder in öffentlichen Clouds) betrieben werden. So können Sie Ihre Standard-Kubernetes-Anwendung einfach auf Amazon EKS migrieren, ohne für Ihren Code einen Faktorwechsel ausführen zu müssen.

Aktualisierungen verwalteter Cluster

Amazon EKS vereinfacht die Aktualisierung der aktiven Cluster auf die neueste Kubernetes-Version, ohne dass der Aktualisierungsprozess verwaltet werden muss. Kubernetes-Versionsaktualisierungen erfolgen vor Ort, damit entfällt die Notwendigkeit, neue Cluster zu erstellen oder Anwendungen auf ein neues Cluster zu migrieren.

Da neue Kubernetes-Versionen veröffentlicht und für die Verwendung mit Amazon EKS validiert werden, werden im Rahmen des Aktualisierungsprozesses jederzeit drei stabile Kubernetes-Versionen unterstützt. Über das SDK, die CLI oder die AWS-Konsole können Sie die Installation einer neuen Version initiieren und den Aktualisierungsstatus während des Flugs überprüfen.

Fortschrittlicher Workload-Support

Amazon EKS stellt ein optimiertes Amazon Machine Image (AMI) mit konfigurierten NVIDIA-Treibern für GPU-gestützte P2- und P3-Amazon-EC2-Instances bereit. Auf diese Weise können Sie mit Amazon EKS problemlos rechnergestützte Workloads ausführen, darunter Machine Learning (ML), Kubeflow, DL-Container (Deep Learning), HPC (High Performance Computing), Finanzanalysen und Video-Transcoding.

Open-Source-Kompatibilität

Amazon EKS ist vollständig kompatibel mit den Kubernetes-Community-Tools und unterstützt die gängigen Kubernetes-Add-ons. Dazu gehören CoreDNS zum Erstellen eines DNS-Dienstes für Ihren Cluster sowie die webbasierte Benutzeroberfläche von Kubernetes Dashboard und das Befehlszeilentool kubectl für den Zugriff auf und die Verwaltung Ihres Clusters in Amazon EKS.

Weitere Informationen finden Sie auf der GitHub-Seite der Kubernetes-Community-Tools.

EKS Connector

Mit Amazon EKS können Sie jetzt jeden konformen Kubernetes-Cluster mit AWS verbinden und ihn in der Amazon-EKS-Konsole visualisieren. Sie können jeden konformen Kubernetes-Cluster verbinden, einschließlich Amazon-EKS-Anywhere-Cluster, die lokal ausgeführt werden, selbstverwaltete Cluster in Amazon Elastic Compute Cloud (Amazon EC2) und andere Kubernetes-Cluster, die außerhalb von AWS ausgeführt werden. Unabhängig davon, wo Ihr Cluster ausgeführt wird, können Sie die Amazon-EKS-Konsole verwenden, um alle verbundenen Cluster und die darin ausgeführten Kubernetes-Ressourcen anzuzeigen.