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.
Installation des ECS Amazon-Container-Agenten
Wenn Sie eine EC2 Amazon-Instance bei Ihrem ECS Amazon-Cluster registrieren möchten und diese Instance kein auf Amazon AMI basierendes System verwendetAMI, ECS können Sie den ECS Amazon-Container-Agenten mithilfe des folgenden Verfahrens manuell installieren. Dazu können Sie den Agenten entweder von einem der regionalen Amazon S3-Buckets oder von Amazon Elastic Container Registry Public herunterladen. Wenn Sie aus einem der regionalen Amazon S3 S3-Buckets herunterladen, können Sie optional die Gültigkeit der Container-Agent-Datei anhand der PGP Signatur überprüfen.
Anmerkung
Die systemd
Einheiten für Amazon- ECS und Docker-Dienste verfügen über eine Anweisung, auf deren Abschluss gewartet werden musscloud-init
, bevor beide Dienste gestartet werden. Der cloud-init
Vorgang gilt erst als abgeschlossen, wenn Ihre EC2 Amazon-Benutzerdaten vollständig ausgeführt wurden. Daher kann das Starten von Amazon ECS oder Docker über EC2 Amazon-Benutzerdaten zu einem Deadlock führen. Um den Container-Agenten mit EC2 Amazon-Benutzerdaten zu starten, können Sie verwendensystemctl enable --now --no-block ecs.service
.
Installation des ECS Amazon-Container-Agenten auf einem Nicht-Amazon Linux EC2Instanz
Um den ECS Amazon-Container-Agenten auf einer EC2 Amazon-Instance zu installieren, können Sie den Agenten aus einem der regionalen Amazon S3-Buckets herunterladen und installieren.
Anmerkung
Wenn Sie ein Linux verwenden, das nicht von Amazon stammtAMI, benötigt Ihre EC2 Amazon-Instance cgroupfs
Unterstützung für den cgroup
Treiber, damit der ECS Amazon-Agent Ressourcenlimits auf Aufgabenebene einhalten kann. Weitere Informationen finden Sie unter ECSAmazon-Agent unter GitHub
Die neuesten ECS Amazon-Container-Agent-Dateien, sortiert nach Regionen, für jede Systemarchitektur sind unten als Referenz aufgeführt.
Region | Name der Region | Amazon ECS Init-Deb-Dateien | Amazon ECS Init-RPM-Dateien |
---|---|---|---|
us-east-2 | USA Ost (Ohio) | ||
us-east-1 | USA Ost (Nord-Virginia) | ||
us-west-1 | USA West (Nordkalifornien) | ||
us-west-2 | USA West (Oregon) | ||
ap-east-1 | Asien-Pazifik (Hongkong) | ||
ap-northeast-1 | Asien-Pazifik (Tokio) | ||
ap-northeast-2 | Asien-Pazifik (Seoul) | ||
ap-south-1 | Asien-Pazifik (Mumbai) | ||
ap-southeast-1 | Asien-Pazifik (Singapur) | ||
ap-southeast-2 | Asien-Pazifik (Sydney) | ||
ca-central-1 | Kanada (Zentral) | ||
eu-central-1 | Europa (Frankfurt) | ||
eu-west-1 | Europa (Irland) | ||
eu-west-2 | Europa (London) | ||
eu-west-3 | Europa (Paris) | ||
sa-east-1 | Südamerika (São Paulo) | ||
us-gov-east-1 | AWS GovCloud (US-Ost) | ||
us-gov-west-1 | AWS GovCloud (US-West) |
Um den ECS Amazon-Container-Agenten auf einer EC2 Amazon-Instance zu installieren, verwenden Sie einAmazon Linux AMI
-
Starten Sie eine EC2 Amazon-Instance mit einer IAM Rolle, die den Zugriff auf Amazon ermöglichtECS. Weitere Informationen finden Sie unter ECSIAMAmazon-Container-Instance-Rolle.
-
Verbinden Sie sich mit der Instance.
-
Installieren Sie die neueste Docker-Version auf Ihrer Instance.
-
Prüfen Sie Ihre Docker-Version, um sicherzustellen, dass Ihr System den Anforderungen der Mindestversion entspricht.
Anmerkung
Die Mindestversion von Docker für zuverlässige Metriken ist die Docker-Version
v20.10.13
und neuer, die in Amazon ECS -optimized AMI20220607
and new enthalten ist.Versionen von Amazon ECS Agent
1.20.0
und neuer unterstützen nicht mehr länger Docker-Versionen, die älter sind als.1.9.0
docker --version
-
Laden Sie die entsprechende ECS Amazon-Agent-Datei für Ihr Betriebssystem und Ihre Systemarchitektur herunter und installieren Sie sie.
Für
deb
-Architekturen:ubuntu:~$
curl -O https://s3.
us-west-2
.amazonaws.com/amazon-ecs-agent-us-west-2
/amazon-ecs-init-latest.amd64.deb
ubuntu:~$
sudo dpkg -i amazon-ecs-init-latest.
amd64.deb
Für
rpm
-Architekturen:fedora:~$
curl -O https://s3.
us-west-2
.amazonaws.com/amazon-ecs-agent-us-west-2
/amazon-ecs-init-latest.x86_64.rpm
fedora:~$
sudo yum localinstall -y amazon-ecs-init-latest.
x86_64.rpm
-
Bearbeiten Sie die
/lib/systemd/system/ecs.service
Datei und fügen Sie am Ende des[Unit]
Abschnitts die folgende Zeile hinzu.After=cloud-final.service
-
(Optional) Um die Instance bei einem anderen Cluster als dem
default
-Cluster anzumelden, bearbeiten Sie die/etc/ecs/ecs.config
-Datei und fügen Sie den folgenden Inhalt hinzu. Das folgende Beispiel gibt denMyCluster
-Cluster an.ECS_CLUSTER=
MyCluster
Weitere Informationen zu diesen und anderen Agenten-Laufzeitoptionen erhalten Sie unterKonfiguration des ECS Amazon-Container-Agenten.
Anmerkung
Sie können Ihre Agentenumgebungsvariablen optional in Amazon S3 speichern (die beim Start mithilfe von EC2 Amazon-Benutzerdaten auf Ihre Container-Instances heruntergeladen werden können). Dies empfiehlt sich für sensible Daten, wie beispielsweise Authentifizierungs-Anmeldeinformationen für private Repositorys. Weitere Informationen erhalten Sie unter Speichern der ECS Amazon-Container-Instance-Konfiguration in Amazon S3 und Verwenden von Bildern, die keine AWS Container sind, in Amazon ECS.
-
Starten Sie den Service
ecs
.ubuntu:~$
sudo systemctl start ecs
Den ECS Amazon-Agenten im Host-Netzwerkmodus ausführen
Wenn der ECS Amazon-Container-Agent ausgeführt ecs-init
wird, wird der Container-Agent-Container im host
Netzwerkmodus erstellt. Dies ist der einzige unterstützte Netzwerkmodus für den Container-Agent-Container.
Auf diese Weise können Sie den Zugriff auf den EC2Amazon-Instance-Metadatendienst-Endpunkt (http://169.254.169.254
) für die vom Container-Agenten gestarteten Container blockieren. Dadurch wird sichergestellt, dass Container nicht auf IAM Rollenanmeldedaten aus dem Container-Instance-Profil zugreifen können, und es wird durchgesetzt, dass Aufgaben nur die Zugangsdaten der IAM Aufgabenrolle verwenden. Weitere Informationen finden Sie unter ECSIAMAmazon-Aufgabenrolle.
Dies sorgt auch dafür, dass der Container-Agent nicht um Verbindungen und Netzwerkdatenverkehr auf der docker0
-Brücke konkurrieren muss.