Konfiguration und Ausführung von Amazon EKS Anywhere auf Snowball Edge-Geräten - AWS Snowball Edge Leitfaden für Entwickler

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration und Ausführung von Amazon EKS Anywhere auf Snowball Edge-Geräten

Gehen Sie wie folgt vor, um Amazon EKS Anywhere auf Ihren Snowball Edge-Geräten zu konfigurieren und zu starten. Um Amazon EKS Anywhere dann für den Betrieb auf getrennten Geräten zu konfigurieren, führen Sie zusätzliche Schritte durch, bevor Sie diese Geräte vom externen Netzwerk trennen. Weitere Informationen finden Sie unter Konfiguration von Amazon EKS Anywhere on AWS Snow für einen unterbrochenen Betrieb.

Ersteinrichtung für Amazon EKS Anywhere auf Geräten der Snow Family

Führen Sie die Ersteinrichtung auf jedem Snowball Edge-Gerät durch, indem Sie das Gerät mit Ihrem lokalen Netzwerk verbinden, den Snowball Edge-Client herunterladen, Anmeldeinformationen abrufen und das Gerät entsperren.

Führen Sie die Ersteinrichtung durch
  1. Laden Sie den Snowball Edge-Client herunter und installieren Sie ihn. Weitere Informationen finden Sie unter Den Snowball Edge-Client herunterladen und installieren.

  2. Connect das Gerät mit Ihrem lokalen Netzwerk. Weitere Informationen finden Sie unter Ein Snow Family-Gerät mit Ihrem lokalen Netzwerk verbinden.

  3. Holen Sie sich Anmeldeinformationen, um Ihr Gerät zu entsperren. Weitere Informationen finden Sie unter Zugangsdaten für den Zugriff auf ein Snow Family-Gerät abrufen.

  4. Entsperren Sie das Gerät. Weitere Informationen finden Sie unter Entsperren des Snow Family-Geräts. Sie können auch ein Skripttool verwenden, anstatt Geräte manuell zu entsperren. Siehe Geräte entsperren.

Automatisches Konfigurieren und Ausführen von Amazon EKS Anywhere auf Snowball Edge-Geräten

Sie können Beispielskript-Tools verwenden, um die Umgebung einzurichten und eine Amazon EKS Anywhere-Admin-Instance auszuführen, oder Sie können dies manuell tun. Informationen zur Verwendung der Skripttools finden Sie unter Geräte entsperren und Umgebung für Amazon EKS Anywhere einrichten. Wenn Sie nach der Einrichtung der Umgebung und der Ausführung der Amazon EKS Anywhere-Admin-Instanz Amazon EKS Anywhere so konfigurieren müssen, dass es auf dem Snowball Edge-Gerät funktioniert, wenn keine Verbindung zum Netzwerk besteht, finden Sie weitere Informationen unter. Konfiguration von Amazon EKS Anywhere on AWS Snow für einen unterbrochenen Betrieb Andernfalls lesen Sie unter Cluster auf Snowball Edge-Geräten erstellen und verwalten weiter.

Informationen zum manuellen Einrichten der Umgebung und zum Ausführen einer Amazon EKS Anywhere-Admin-Instanz finden Sie unterManuelles Konfigurieren und Ausführen von Amazon EKS Anywhere auf Snowball Edge-Geräten.

Manuelles Konfigurieren und Ausführen von Amazon EKS Anywhere auf Snowball Edge-Geräten

Bevor Sie Amazon EKS Anywhere auf einem Snowball Edge-Gerät konfigurieren, richten Sie ein Profil für den Snowball Edge-Client ein. Weitere Informationen finden Sie unter Konfiguration und Verwendung des Snowball Edge-Clients.

Einen IAM lokalen Amazon EKS Anywhere-Benutzer erstellen

Um optimale Sicherheitspraktiken zu gewährleisten, erstellen Sie einen lokalen IAM Benutzer für Amazon EKS Anywhere auf dem Snowball Edge-Gerät. Sie können dies manuell tun, indem Sie die folgenden Verfahren anwenden.

Anmerkung

Tun Sie dies für jedes Snowball Edge-Gerät, das Sie verwenden.

Erstellen Sie einen lokalen Benutzer auf dem Snow Family-Gerät

Verwenden Sie den create-user Befehl, um den Amazon EKS IAM Anywhere-Benutzer zu erstellen.

aws iam create-user --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name { "User": { "Path": "/", "UserName": "eks-a-user", "UserId": "AIDACKCEVSQ6C2EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/eks-a-user", "CreateDate": "2022-04-06T00:13:35.665000+00:00" } }

Erstellen Sie eine Richtlinie für den lokalen Benutzer auf dem Snow Family-Gerät

Erstellen Sie ein Richtliniendokument, verwenden Sie es, um eine IAM Richtlinie zu erstellen, und hängen Sie diese Richtlinie an den lokalen Amazon EKS Anywhere-Benutzer an.

Um ein Richtliniendokument zu erstellen und es an den lokalen Benutzer von Amazon EKS Anywhere anzuhängen
  1. Erstellen Sie ein Richtliniendokument und speichern Sie es auf Ihrem Computer. Kopieren Sie die unten stehende Richtlinie in das Dokument.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "snowballdevice:DescribeDevice", "snowballdevice:CreateDirectNetworkInterface", "snowballdevice:DeleteDirectNetworkInterface", "snowballdevice:DescribeDirectNetworkInterfaces", "snowballdevice:DescribeDeviceSoftware" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:DescribeInstances", "ec2:TerminateInstances", "ec2:ImportKeyPair", "ec2:DescribeKeyPairs", "ec2:DescribeInstanceTypes", "ec2:DescribeImages", "ec2:DeleteTags" ], "Resource": ["*"] } ] }
  2. Verwenden Sie den create-policy Befehl, um eine IAM Richtlinie auf der Grundlage des Richtliniendokuments zu erstellen. Der Wert des --policy-document Parameters sollte den absoluten Pfad zur Richtliniendatei verwenden. Beispiel: file:///home/user/policy-name.json

    aws iam create-policy --policy-name policy-name --policy-document file:///home/user/policy-name.json --endpoint http://snowball-ip:6078 --profile profile-name { "Policy": { "PolicyName": "policy-name", "PolicyId": "ANPACEMGEZDGNBVGY3TQOJQGEZAAAABP76TE5MKAAAABCCOTR2IJ43NBTJRZBU", "Arn": "arn:aws:iam::123456789012:policy/policy-name", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "IsAttachable": true, "CreateDate": "2022-04-06T04:46:56.907000+00:00", "UpdateDate": "2022-04-06T04:46:56.907000+00:00" } }
  3. Verwenden Sie den attach-user-policy Befehl, um die IAM Richtlinie an den lokalen Benutzer von Amazon EKS Anywhere anzuhängen.

    aws iam attach-user-policy --policy-arn policy-arn --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name

Erstellen Sie einen Zugriffsschlüssel und eine Anmeldeinformationsdatei auf dem Snow Family-Gerät

Erstellen Sie einen Zugriffsschlüssel für den IAM lokalen Amazon EKS Anywhere-Benutzer. Erstellen Sie anschließend eine Anmeldeinformationsdatei und fügen Sie darin die Werte des AccessKeyId lokalen Benutzers ein. SecretAccessKey Die Anmeldeinformationsdatei wird später von der Amazon EKS Anywhere-Admin-Instanz verwendet.

  1. Verwenden Sie den create-access-key Befehl, um einen Zugriffsschlüssel für den lokalen Amazon EKS Anywhere-Benutzer zu erstellen.

    aws iam create-access-key --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name { "AccessKey": { "UserName": "eks-a-user", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "Status": "Active", "SecretAccessKey": "RTT/wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "CreateDate": "2022-04-06T04:23:46.139000+00:00" } }
  2. Erstellen Sie eine Anmeldeinformationsdatei. Speichern Sie darin die SecretAccessKey Werte AccessKeyId und im folgenden Format.

    [snowball-ip] aws_access_key_id = ABCDEFGHIJKLMNOPQR2T aws_secret_access_key = AfSD7sYz/TBZtzkReBl6PuuISzJ2WtNkeePw+nNzJ region = snow
    Anmerkung

    Wenn Sie mit mehreren Snowball Edge-Geräten arbeiten, spielt die Reihenfolge der Anmeldeinformationen in der Datei keine Rolle, aber die Anmeldeinformationen für alle Geräte müssen sich in einer Datei befinden.

Erstellen Sie eine Zertifikatsdatei für die Admin-Instanz auf dem Snow Family-Gerät

Die Amazon EKS Anywhere-Admin-Instance benötigt die Zertifikate der Snowball Edge-Geräte, um auf ihnen ausgeführt werden zu können. Erstellen Sie eine Zertifikatsdatei, die das Zertifikat für den Zugriff auf Snowball Edge-Geräte zur späteren Verwendung durch die Amazon EKS Anywhere-Admin-Instanz enthält.

Um eine Zertifikatsdatei zu erstellen
  1. Verwenden Sie den list-certificates Befehl, um Zertifikate für jedes Snowball Edge-Gerät abzurufen, das Sie verwenden möchten.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge list-certificates --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code { "Certificates" : [ { "CertificateArn" : "arn:aws:snowball-device:::certificate/xxx", "SubjectAlternativeNames" : [ "ID:JID-xxx" ] } ] }
  2. Verwenden Sie den Wert von CertificateArn als Wert für den --certificate-arn Parameter des get-certificate Befehls.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge get-certificate --certificate-arn ARN --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  3. Erstellen Sie eine Gerätezertifikatsdatei. Fügen Sie die Ausgabe von get-certificate in die Zertifikatsdatei ein. Im Folgenden finden Sie ein Beispiel für das Speichern der Ausgabe.

    Anmerkung

    Wenn Sie mit mehreren Snowball Edge-Geräten arbeiten, spielt die Reihenfolge der Anmeldeinformationen in der Datei keine Rolle, aber die Anmeldeinformationen für alle Geräte müssen sich in einer Datei befinden.

    -----BEGIN CERTIFICATE----- ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ ... -----END CERTIFICATE-----
  4. Wiederholen Sie Einen IAM lokalen Amazon EKS Anywhere-Benutzer erstellen den Vorgang, um auf allen Snowball Edge-Geräten einen IAM lokalen Benutzer für Amazon EKS Anywhere zu erstellen.

(Optional) Erstellen und importieren Sie einen Secure Shell-Schlüssel auf einem Snow Family-Gerät

Verwenden Sie dieses optionale Verfahren, um einen Secure Shell (SSH) -Schlüssel für den Zugriff auf alle Amazon EKS Anywhere-Node-Instances zu erstellen und den öffentlichen Schlüssel auf alle Snowball Edge-Geräte zu importieren. Bewahren Sie diese Schlüsseldatei auf und sichern Sie sie.

Wenn Sie dieses Verfahren überspringen, erstellt und importiert Amazon EKS Anywhere bei Bedarf automatisch einen SSH Schlüssel. Dieser Schlüssel wird auf der Admin-Instanz in gespeichert${PWD}/${CLUSTER_NAME}/eks-a-id_rsa.

Erstellen Sie einen SSH Schlüssel und importieren Sie ihn in die Amazon EKS Anywhere-Instance
  1. Verwenden Sie den ssh-keygen Befehl, um einen SSH Schlüssel zu generieren.

    ssh-keygen -t rsa -C "key-name" -f path-to-key-file
  2. Verwenden Sie den import-key-pair Befehl, um den Schlüssel von Ihrem Computer auf das Snowball Edge-Gerät zu importieren.

    Anmerkung

    Der Wert des key-name Parameters muss identisch sein, wenn Sie den Schlüssel auf alle Geräte importieren.

    aws ec2 import-key-pair --key-name key-name --public-key-material fileb:///path/to/key-file --endpoint http://snowball-ip:8008 --profile profile-name { "KeyFingerprint": "5b:0c:fd:e1:a0:69:05:4c:aa:43:f3:3b:3e:04:7f:51", "KeyName": "default", "KeyPairId": "s.key-85edb5d820c92a6f8" }

Führen Sie eine Amazon EKS Anywhere-Admin-Instanz auf einem Snow Family-Gerät aus und übertragen Sie Anmelde- und Zertifikatsdateien darauf

Führen Sie eine Amazon EKS Anywhere-Admin-Instanz auf einem Snow Family-Gerät aus

Gehen Sie wie folgt vor, um eine Amazon EKS Anywhere-Admin-Instance manuell auszuführen, eine virtuelle Netzwerkschnittstelle (VNI) für die Admin-Instance zu konfigurieren, den Status der Instance zu überprüfen, einen SSH Schlüssel zu erstellen und damit eine Verbindung zur Admin-Instance herzustellen. Sie können ein Beispielskripttool verwenden, um die Erstellung einer Amazon EKS Anywhere-Admin-Instance und die Übertragung von Anmelde- und Zertifikatsdateien auf diese Instance zu automatisieren. Siehe Amazon EKS Anywhere-Admin-Instanz erstellen. Nachdem das Skripttool abgeschlossen ist, können Sie per SSH auf die Instance zugreifen und Cluster erstellen, indem Sie auf Cluster auf Snowball Edge-Geräten erstellen und verwalten verweisen. Wenn Sie die Amazon EKS Anywhere-Instance manuell einrichten möchten, gehen Sie wie folgt vor.

Anmerkung

Wenn Sie mehr als ein Snowball Edge-Gerät zur Bereitstellung des Clusters verwenden, können Sie eine Amazon EKS Anywhere-Admin-Instance auf jedem der Snowball Edge-Geräte starten.

So führen Sie eine Amazon EKS Anywhere-Admin-Instance aus
  1. Verwenden Sie den create-key-pair Befehl, um einen SSH Schlüssel für die Amazon EKS Anywhere-Admin-Instanz zu erstellen. Der Befehl speichert den Schlüssel unter$PWD/key-file-name.

    aws ec2 create-key-pair --key-name key-name --query 'KeyMaterial' --output text --endpoint http://snowball ip:8008 --profile profile-name > key-file-name
  2. Verwenden Sie den describe-images Befehl, um den Bildnamen zu finden, eks-anywhere-admin der mit F beginnt.

    aws ec2 describe-images --endpoint http://snowball-ip:8008 --profile profile-name
  3. Verwenden Sie den run-instance Befehl, um eine eks-a admin-Instance mit dem Amazon EKS Anywhere-Admin-Image zu starten.

    aws ec2 run-instances --image-id eks-a-admin-image-id --key-name key-name --instance-type sbe-c.xlarge --endpoint http://snowball-ip:8008 --profile profile-name
  4. Verwenden Sie den describe-instances Befehl, um den Status der Amazon EKS Anywhere-Instance zu überprüfen. Warten Sie, bis der Befehl anzeigt, dass der Status der Instance ist, running bevor Sie fortfahren.

    aws ec2 describe-instances --instance-id instance-id --endpoint http://snowball-ip:8008 --profile profile-name
  5. Notieren Sie sich in der Ausgabe des describe-device Befehls den Wert von PhysicalNetworkInterfaceId für die physische Netzwerkschnittstelle, die mit Ihrem Netzwerk verbunden ist. Sie werden dies verwenden, um eine zu erstellenVNI.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge describe-device --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  6. Erstellen Sie eine Admin-Instanz VNI für Amazon EKS Anywhere. Verwenden Sie den Wert von PhysicalNetworkInterfaceId als Wert des physical-network-interface-id Parameters.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --physical-network-interface-id PNI --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  7. Verwenden Sie den Wert von IpAddress als Wert des public-ip Parameters des associate-address Befehls, um die öffentliche Adresse der Amazon EKS Anywhere-Admin-Instance zuzuordnen.

    aws ec2 associate-address --instance-id instance-id --public-ip VNI-IP --endpoint http://snowball-ip:8008 --profile profile-name
  8. Connect zur Amazon EKS Anywhere-Admin-Instanz her, indem SieSSH.

    ssh -i path-to-key ec2-user@VNI-IP

Übertragen Sie Zertifikat- und Anmeldeinformationsdateien auf die Admin-Instanz auf dem Snow Family-Gerät

Nachdem die Amazon EKS Anywhere-Admin-Instanz ausgeführt wurde, übertragen Sie die Anmeldeinformationen und Zertifikate Ihrer Snowball Edge-Geräte auf die Admin-Instance. Führen Sie den folgenden Befehl in demselben Verzeichnis aus, in dem Sie die Anmelde- und Zertifikatsdateien gespeichert haben. Erstellen Sie einen Zugriffsschlüssel und eine Anmeldeinformationsdatei auf dem Snow Family-Gerät Erstellen Sie eine Zertifikatsdatei für die Admin-Instanz auf dem Snow Family-Gerät

scp -i path-to-key path-to-credentials-file path-to-certificates-file ec2-user@eks-admin-instance-ip:~

Überprüfen Sie den Inhalt der Dateien auf der Amazon EKS Anywhere-Admin-Instance. Im Folgenden finden Sie Beispiele für die Anmelde- und Zertifikatsdateien.

[192.168.1.1] aws_access_key_id = EMGEZDGNBVGY3TQOJQGEZB5ULEAAIWHWUJDXEXAMPLE aws_secret_access_key = AUHpqjO0GZQHEYXDbN0neLNlfR0gEXAMPLE region = snow [192.168.1.2] aws_access_key_id = EMGEZDGNBVGY3TQOJQGEZG5O7F3FJUCMYRMI4KPIEXAMPLE aws_secret_access_key = kY4Cl8+RJAwq/bu28Y8fUJepwqhDEXAMPLE region = snow
-----BEGIN CERTIFICATE----- ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- KJ0FPl2PAYPEjxr81/PoCXfZeARBzN9WLUH5yz1ta+sYUJouzhzWuLJYA1xqcCPY mhVlkRsN4hVdlBNRnCCpRF766yjdJeibKVzXQxoXoZBjrOkuGwqRy3d3ndjK77h4 OR5Fv9mjGf7CjcaSjk/4iwmZvRSaQacb0YG5GVeb4mfUAuVtuFoMeYfnAgMBAAGj azBpMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFL/bRcnBRuSM5+FcYFa8HfIBomdF ... -----END CERTIFICATE-----