Der Amazon Elastic Kubernetes Service, kurz EKS, ist einer von zwei verwalteten Container-Cluster-Managern auf AWS. In diesem dreiteiligen Workshop bringen wir eine Container-Anwendung zum Laufen, hierfür beginnen wir mit den Vorbereitungen zum Betrieb eines EKS-Clusters auf AWS.
Der Name der IAM-Rolle für Kubernetes sollte eindeutig sein.
(Bild: Drilling / AWS)
Wie von Amazon empfohlen, betreiben wir die EKS-Worker-Nodes in einem rein privaten Subnetz und machen nur den oder die Load Balancer öffentlich.
(Bild: Amazon Web Services)
Im Unterschied zu Amazon ECS stellt EKS einen vollständig verwalteten Kubernetes-Service in der Public Cloud dar. Dieser ist umfassend mit anderen AWS-Services integriert, z. B. Amazon CloudWatch, Auto Scaling Groups, AWS Identity and Access Management (IAM) und Amazon Virtual Private Cloud (VPC).
Vor dem Start mit dem Elastic Kubernetes Service bzw. konkret dem Erstellen eines EKS-Clusters muss der Nutzer eine IAM-Rolle anlegen, die Kubernetes zum Erstellen von AWS-Ressourcen übernehmen kann, etwa wenn später ein Load Balancer im Cluster erstellt werden soll.
Ferner muss der Nutzer ein VPC und eine Sicherheitsgruppe für den Kubernetes-Cluster erstellen, selbst wenn VPCs und Sicherheitsgruppen prinzipiell für mehrere EKS-Cluster verwendet werden können. AWS empfiehlt, eine separate VPC für jeden EKS-Cluster zu verwenden, um eine bessere Netzwerkisolation zu erhalten. Dabei ist es aus Sicherheitsgründen vorzuziehen, die EKS-Worker-Nodes in einem rein privaten Subnetz zu betreiben und nur den oder die Load Balancer öffentlich zu machen.
IAM-Rolle für EKS
Als Anwendungsfall für die IAM-Rolle wählen wir „EKS – Allows EKS to manager clusters on your behalf“.
(Bild: Drilling / AWS)
Zum Erstellen der IAM-Rolle klickt man in der IAM Console unter „Zugriffsverwaltung / Rollen" auf „Rolle erstellen“, wählt im Abschnitt „Oder wählen Sie einen Service aus, um seine Anwendungsfälle anzusehen“ den Eintrag „EKS“ und dann bei „Anwendungsfall“ den Eintrag „EKS – Allows EKS to manager clusters on your behalf".
Der Name der IAM-Rolle für Kubernetes sollte eindeutig sein.
(Bild: Drilling / AWS)
Da es sich hier um einen vorkonfigurierten „Anwendungsfall“ handelt, sind auch die passenden Berechtigungen „AmazonEKSClusterPolicy“ und „AmazonEKSServicePolicy“ bereits anhängt. Tags sind zunächst nicht erforderlich und der „Rollenname“ sollte aussagekräftig sein, z. B. „EKSServiceRole“.
VPC erstellen
Für das Erstellen des Cluster-VPCs stellt AWS dankenswerterweise eine passende CloudFormation-Vorlage auf Amazon S3 zur Verfügung. Diese geht aus Sicherheitsgründen davon aus, dass die Worker-Knoten in private Subnetzen stehen und ausschließlich über ein NAT-Gateway mit dem Internet kommunizieren, etwa zum Bezug von Updates. Ein Wartungs-Zugriff auf Kubernets-Nodes kann dann über Bastion Hosts erfolgen.
Der Zugriff auf die Container-Anwendung erfolgt dann über einen Loadbalancer in einem öffentlichen Subnetz. Der Nutzer muss sich also in der Console nur eine AWS-Region aussuchen, die EKS unterstützt, und dann in der Cloud-Formation-Console beim Erstellen eines Stacks auf das vorhandene Template in Amazon S3 verweisen. In der folgenden Bildergalerie erläutern wir das Vorgehen Schritt für Schritt.
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.