|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Erstellen eines Amazon EC2-Clusters
In diesem Abschnitt lernen Sie, wie Sie ein RKE2 oder K3s Kubernetes-Cluster in Amazon EC2 bereitstellen.
Zuerst richten Sie Ihre EC2-Cloud-Anmeldeinformationen in Rancher ein.
Dann erstellen Sie ein EC2-Cluster in Rancher, und beim Konfigurieren des neuen Clusters definieren Sie Maschinenpools dafür. Jeder Maschinenpool hat eine Kubernetes-Rolle von etcd, controlplane oder worker. Rancher installiert Kubernetes auf den neuen Knoten und richtet jeden Knoten mit der Kubernetes-Rolle ein, die durch den Maschinenpool definiert ist.
Voraussetzungen
-
AWS EC2 Zugangs- und Geheimschlüssel, die zur Erstellung der Instanzen verwendet werden. Siehe Amazon-Dokumentation: Erstellen von Zugangs- und Geheimschlüsseln, wie man einen Zugangs- und Geheimschlüssel erstellt.
-
IAM-Richtlinie erstellt, die dem Benutzer des Zugangs- und Geheimschlüssels hinzugefügt werden soll. Siehe Amazon-Dokumentation: Erstellen von IAM-Richtlinien (Konsole), wie man eine IAM-Richtlinie erstellt. Siehe unsere drei Beispiel-JSON-Richtlinien unten:
-
Beispiel IAM-Richtlinie mit PassRole (benötigt, wenn Sie Kubernetes Cloud Provider verwenden oder ein IAM-Profil an eine Instanz übergeben möchten)
-
Beispiel-IAM-Richtlinie zum Zulassen verschlüsselter EBS-Volumes
-
IAM-Richtlinie als Berechtigung hinzugefügt für den Benutzer. Siehe Amazon Dokumentation: Berechtigungen zu einem Benutzer hinzufügen (Konsole), um zu erfahren, wie man sie einem Benutzer zuweist.
-
IPv4-only, IPv6-only oder Dual-Stack-Subnetz und/oder VPC, in denen Knoten bereitgestellt und IPv4- und/oder IPv6-Adressen zugewiesen werden können. Siehe Amazon-Dokumentation: IPv6-Unterstützung für Ihre VPC.
Erstellen eines EC2-Clusters
Die Schritte zur Erstellung eines Clusters unterscheiden sich je nach Ihrer Rancher-Version.
Erstellen Sie Ihre Cloud-Anmeldeinformationen
Wenn Sie bereits über einen Satz von Cloud-Anmeldeinformationen verfügen, überspringen Sie diesen Abschnitt.
-
Klicken Sie auf ☰ > Clusterverwaltung.
-
Klicken Sie auf Cloud-Anmeldeinformationen.
-
Klicken Sie auf Erstellen.
-
Klicken Sie auf Amazon.
-
Geben Sie einen Namen für die Cloud-Anmeldeinformationen ein.
-
Wählen Sie im Feld Standardregion die AWS-Region aus, in der sich Ihre Clusterknoten befinden werden.
-
Geben Sie Ihren AWS EC2 Zugangsschlüssel und Geheimschlüssel ein.
-
Klicken Sie auf Erstellen.
Ergebnis: Sie haben die Cloud-Anmeldeinformationen erstellt, die zur Bereitstellung von Knoten in Ihrem Cluster verwendet werden.
Erstellen Sie Ihren Cluster
-
Klicken Sie auf ☰ > Clusterverwaltung.
-
Klicken Sie auf der Cluster-Seite auf Erstellen.
-
Schalten Sie den Schalter auf RKE2/K3s um.
-
Klicken Sie auf Amazon EC2.
-
Wählen Sie eine Cloud-Anmeldeinformation aus, falls mehr als eine vorhanden ist. Andernfalls ist sie vorausgewählt.
-
Geben Sie einen Cluster-Namen ein.
-
Erstellen Sie einen Maschinenpool für jede Kubernetes-Rolle. Beziehen Sie sich auf die Best Practices für Empfehlungen zu Rollenzuweisungen und -anzahlen.
-
Definieren Sie für jeden Maschinenpool die Maschinenkonfiguration. Beziehen Sie sich auf die Referenz zur EC2-Maschinenkonfiguration für Informationen zu Konfigurationsoptionen.
-
-
Verwenden Sie die Cluster-Konfiguration, um die Version von Kubernetes auszuwählen, die installiert werden soll, welchen Netzwerkprovider Sie verwenden möchten und ob Sie die Projekt-Netzwerkisolierung aktivieren möchten. Für Hilfe bei der Konfiguration des Clusters beziehen Sie sich auf die RKE2- und K3s-Referenzen zur Clusterkonfiguration.
-
Verwenden Sie Mitgliederrollen, um die Benutzerautorisierung für den Cluster zu konfigurieren. Klicken Sie auf Mitglied hinzufügen, um Benutzer hinzuzufügen, die auf den Cluster zugreifen können. Verwenden Sie das Rollen-Dropdown, um Berechtigungen für jeden Benutzer festzulegen.
-
Klicken Sie auf Erstellen.
Ergebnis:
Ihr Cluster wurde erstellt und hat den Status Provisioning erhalten. Rancher richtet Ihren Cluster ein.
Sie können auf Ihren Cluster zugreifen, nachdem sein Status auf Aktiv aktualisiert wurde.
Aktive Cluster werden zwei Projekte zugewiesen:
-
Default, das dendefaultNamespace enthält -
System, das die Namespacescattle-system,traefik,kube-publicundkube-systementhält
Optionale nächste Schritte
Nachdem Sie Ihren Cluster erstellt haben, können Sie über die Rancher-Benutzeroberfläche darauf zugreifen. Als bewährte Praxis empfehlen wir, diese alternativen Zugangswege zu Ihrem Cluster einzurichten:
-
Zugriff auf Ihren Cluster mit der kubectl CLI: Befolgen Sie die Schritte, um mit kubectl von Ihrem Arbeitsplatz aus auf Cluster zuzugreifen. In diesem Fall werden Sie über den Authentifizierungsproxy des Rancher-Servers authentifiziert, danach verbindet Rancher Sie mit dem Downstream-Cluster. Diese Methode ermöglicht es Ihnen, den Cluster ohne die Rancher-Benutzeroberfläche zu verwalten.
-
Zugriff auf Ihren Cluster mit der kubectl CLI, unter Verwendung des autorisierten Cluster-Endpunkts: Befolgen Sie die Schritte, um direkt mit kubectl auf Ihren Cluster zuzugreifen, ohne sich über Rancher zu authentifizieren. Wir empfehlen, diese alternative Methode zum Zugriff auf Ihren Cluster einzurichten, damit Sie, falls Sie sich nicht mit Rancher verbinden können, dennoch auf den Cluster zugreifen können.
IAM-Richtlinien
Beispiel IAM-Richtlinie
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:Describe*",
"ec2:ImportKeyPair",
"ec2:CreateKeyPair",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:ModifyInstanceMetadataOptions"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ec2:RunInstances"
],
"Resource": [
"arn:aws:ec2:REGION::image/ami-*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:placement-group/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:subnet/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:key-pair/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:network-interface/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:security-group/*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"ec2:RebootInstances",
"ec2:TerminateInstances",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*"
}
]
}
Beispiel IAM-Richtlinie mit PassRole
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:Describe*",
"ec2:ImportKeyPair",
"ec2:CreateKeyPair",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:ModifyInstanceMetadataOptions"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"iam:PassRole",
"ec2:RunInstances"
],
"Resource": [
"arn:aws:ec2:REGION::image/ami-*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:placement-group/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:subnet/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:key-pair/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:network-interface/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:security-group/*",
"arn:aws:iam::AWS_ACCOUNT_ID:role/YOUR_ROLE_NAME"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"ec2:RebootInstances",
"ec2:TerminateInstances",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*"
}
]
}
Beispiel-IAM-Richtlinie zum Zulassen verschlüsselter EBS-Volumes
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:GenerateDataKeyWithoutPlaintext",
"kms:Encrypt",
"kms:DescribeKey",
"kms:CreateGrant",
"ec2:DetachVolume",
"ec2:AttachVolume",
"ec2:DeleteSnapshot",
"ec2:DeleteTags",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:CreateSnapshot"
],
"Resource": [
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:volume/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:instance/*",
"arn:aws:ec2:REGION:AWS_ACCOUNT_ID:snapshot/*",
"arn:aws:kms:REGION:AWS_ACCOUNT_ID:key/KMS_KEY_ID"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeTags",
"ec2:DescribeVolumes",
"ec2:DescribeSnapshots"
],
"Resource": "*"
}
]
}