Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Agen kontainer Amazon ECS Linux
ECSAgen Amazon adalah proses yang berjalan pada setiap instance container yang terdaftar di klaster Anda. Ini memfasilitasi komunikasi antara instans kontainer Anda dan AmazonECS.
Setiap versi agen ECS penampung Amazon mendukung set fitur yang berbeda dan menyediakan perbaikan bug dari versi sebelumnya. Jika memungkinkan, kami selalu merekomendasikan menggunakan versi terbaru dari agen ECS kontainer Amazon. Untuk memperbarui agen kontainer ke versi terbaru, lihat Memperbarui agen ECS penampung Amazon.
penting
Versi Docker minimum untuk metrik yang andal adalah versi Docker v20.10.13
dan yang lebih baru, yang disertakan dalam Amazon ECS -optimized dan yang lebih baru. AMI 20220607
Versi ECS agen Amazon 1.20.0
dan yang lebih baru telah menghentikan dukungan untuk versi Docker yang lebih lama dari. 1.9.0
Siklus hidup
Saat agen ECS penampung Amazon mendaftarkan EC2 instans Amazon ke klaster Anda, EC2 instans Amazon melaporkan statusnya sebagai ACTIVE
dan status koneksi agennya sebagaiTRUE
. Instance container ini dapat menerima permintaan tugas run.
Jika Anda menghentikan (tidak menghentikan) instance kontainer, statusnya tetap adaACTIVE
, tetapi status koneksi agen bertransisi ke FALSE
dalam beberapa menit. Tugas yang berjalan pada instans kontainer berhenti. Jika Anda memulai instance penampung lagi, agen penampung akan terhubung kembali dengan ECS layanan Amazon, dan Anda dapat menjalankan tugas pada instance lagi.
penting
Jika Anda menghentikan dan memulai instance container, atau me-reboot instance tersebut, beberapa versi lama dari agen ECS penampung Amazon akan mendaftarkan instance tersebut lagi tanpa membatalkan pendaftaran ID instance container asli. Dalam hal ini, Amazon ECS mencantumkan lebih banyak instance container di cluster Anda daripada yang sebenarnya Anda miliki. (Jika Anda memiliki instance penampung duplikat IDs untuk ID EC2 instans Amazon yang sama, Anda dapat dengan aman membatalkan pendaftaran duplikat yang terdaftar sebagai ACTIVE
dengan status koneksi agen.) FALSE
Masalah ini telah diperbaiki dalam versi agen ECS penampung Amazon saat ini. Untuk informasi selengkapnya tentang memperbarui versi CNI Anda, lihat Memperbarui agen ECS penampung Amazon.
Jika Anda mengubah status instans kontainer ke DRAINING
, maka tugas baru tidak ditempatkan pada instans kontainer. Tugas layanan yang berjalan pada instans kontainer akan dihapus jika memungkinkan, agar Anda dapat melakukan pembaruan sistem. Untuk informasi selengkapnya, lihat Menguras instance ECS kontainer Amazon.
Jika Anda membatalkan pendaftaran atau mengakhiri instans kontainer, maka status instans kontainer seketika berubah menjadi INACTIVE
, dan instans kontainer tidak lagi dilaporkan ketika Anda mencantumkan instans kontainer Anda. Namun, Anda tetap dapat menjelaskan instans kontainer selama satu jam setelah penghentian. Setelah satu jam, deskripsi instans tidak lagi tersedia.
penting
Anda dapat menguras instance secara manual, atau membuat hook siklus hidup grup Auto Scaling untuk menyetel status instance. DRAINING
Lihat kait siklus hidup EC2Auto Scaling Amazon untuk informasi selengkapnya tentang kait siklus hidup Auto Scaling.
Amazon ECS -dioptimalkan AMI
Varian Linux dari Amazon yang ECS dioptimalkan AMI menggunakan Amazon Linux 2 AMI sebagai basis mereka. AMINama sumber Amazon Linux 2 untuk setiap varian dapat diambil dengan menanyakan Systems Manager Parameter Store. API Untuk informasi selengkapnya, lihat Mengambil metadata Linux yang ECS dioptimalkan Amazon AMI. Saat Anda meluncurkan instans kontainer kami dari Amazon Linux 2 yang ECS dioptimalkan Amazon terbaru, AMI Anda menerima versi agen penampung saat ini. Untuk meluncurkan instance container dengan Amazon Linux 2 terbaru ECS yang dioptimalkan AmazonAMI, lihatMeluncurkan instans penampung Amazon ECS Linux.
Informasi tambahan
Halaman-halaman berikut memberikan informasi tambahan tentang perubahan:
-
Kode sumber untuk
ecs-init
aplikasi dan skrip dan konfigurasi untuk pengemasan agen sekarang menjadi bagian dari repositori agen. Untuk versiecs-init
dan kemasan yang lebih lama, lihat Amazon ecs-initchangelog di GitHub -
Catatan rilis Docker Engine
dalam dokumentasi Docker -
NVIDIADokumentasi Driver
dalam NVIDIA dokumentasi
Parameter konfigurasi log agen ECS penampung Amazon
Agen ECS kontainer Amazon menyimpan log pada instance kontainer Anda.
Untuk agen kontainer versi 1.36.0 dan yang lebih baru, secara default log terletak di /var/log/ecs/ecs-agent.log
pada instans Linux dan di C:\ProgramData\Amazon\ECS\log\ecs-agent.log
pada instans Windows.
Untuk agen kontainer versi 1.35.0 dan sebelumnya, secara default log terletak di /var/log/ecs/ecs-agent.log.
pada instans Linux dan di timestamp
C:\ProgramData\Amazon\ECS\log\ecs-agent.log.
pada instans Windows.timestamp
Secara default, log agen diputar per jam dengan maksimum 24 log yang disimpan.
Berikut ini adalah variabel konfigurasi agen kontainer yang dapat digunakan untuk mengubah perilaku pencatatan agen default. Untuk informasi selengkapnya, lihat Konfigurasi agen ECS kontainer Amazon.
ECS_LOGFILE
-
Nilai contoh:
/ecs-agent.log
Nilai default pada Linux: Null
Nilai default pada Windows: Null
Lokasi di mana log agen harus ditulis. Jika Anda menjalankan agen melalui
ecs-init
, yang merupakan metode default saat menggunakan Amazon ECS -optimizedAMI, jalur dalam kontainer adalah/log
, danecs-init
memasangnya/var/log/ecs/
di host. ECS_LOGLEVEL
-
Contoh nilai:
crit
,error
,warn
,info
,debug
Nilai default pada Linux:
info
Nilai default pada Windows:
info
Tingkat detail untuk dicatat.
ECS_LOGLEVEL_ON_INSTANCE
-
Contoh nilai:
none
,crit
,error
,warn
,info
,debug
Nilai default di Linux:
none
, if secara eksplisitECS_LOG_DRIVER
disetel ke nilai yang tidak kosong; jika tidak, nilai yang sama denganECS_LOGLEVEL
Nilai default pada Windows:
none
, if secara eksplisitECS_LOG_DRIVER
diatur ke nilai yang tidak kosong; jika tidak, nilai yang sama denganECS_LOGLEVEL
Dapat digunakan untuk mengganti
ECS_LOGLEVEL
dan mengatur tingkat detail yang harus dicatat dalam file log on-instance, terpisah dari level yang dicatat di driver logging. Jika driver logging disetel secara eksplisit, log on-instance dimatikan secara default. Mereka dapat dihidupkan kembali dengan variabel ini. ECS_LOG_DRIVER
-
Contoh nilai:
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
syslog
,splunk
Nilai default pada Linux:
json-file
Nilai default pada Windows: Tidak berlaku
Menentukan driver logging yang digunakan wadah agen.
ECS_LOG_ROLLOVER_TYPE
-
Contoh nilai:
size
,hourly
Nilai default pada Linux:
hourly
Nilai default pada Windows:
hourly
Menentukan apakah file log agen kontainer diputar setiap jam atau berdasarkan ukuran. Secara default, file log agen diputar setiap jam.
ECS_LOG_OUTPUT_FORMAT
-
Contoh nilai:
logfmt
,json
Nilai default pada Linux:
logfmt
Nilai default pada Windows:
logfmt
Menentukan format keluaran log. Ketika
json
format digunakan, setiap baris dalam log adalah JSON peta terstruktur. ECS_LOG_MAX_FILE_SIZE_MB
-
Nilai contoh:
10
Nilai default pada Linux:
10
Nilai default pada Windows:
10
Ketika
ECS_LOG_ROLLOVER_TYPE
variabel diatur kesize
, variabel ini menentukan ukuran maksimum (dalam MB) dari file log sebelum diputar. Jika jenis rollover diatur kehourly
, maka variabel ini diabaikan. ECS_LOG_MAX_ROLL_COUNT
-
Nilai contoh:
24
Nilai default pada Linux:
24
Nilai default pada Windows:
24
Menentukan jumlah file log yang diputar untuk disimpan. File log lama dihapus setelah batas ini tercapai.
Untuk agen kontainer versi 1.36.0 dan yang lebih baru, berikut ini adalah contoh berkas log ketika format logfmt
digunakan.
level=info time=2019-12-12T23:43:29Z msg="Loading configuration" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-agent:latest" module=parse.go
level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0" module=parse.go
level=info time=2019-12-12T23:43:29Z msg="Amazon ECS agent Version: 1.36.0, Commit: ca640387" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Creating root ecs cgroup: /ecs" module=init_linux.go
level=info time=2019-12-12T23:43:29Z msg="Creating cgroup /ecs" module=cgroup_controller_linux.go
level=info time=2019-12-12T23:43:29Z msg="Loading state!" module=statemanager.go
level=info time=2019-12-12T23:43:29Z msg="Event stream ContainerChange start listening..." module=eventstream.go
level=info time=2019-12-12T23:43:29Z msg="Restored cluster 'auto-robc'" module=agent.go
level=info time=2019-12-12T23:43:29Z msg="Restored from checkpoint file. I am running as 'arn:aws:ecs:us-west-2:0123456789:container-instance/auto-robc/3330a8a91d15464ea30662d5840164cd' in cluster 'auto-robc'" module=agent.go
Berikut ini adalah contoh file log ketika JSON format yang digunakan.
{"time": "2019-11-07T22:52:02Z", "level": "info", "msg": "Starting Amazon Elastic Container Service Agent", "module": "engine.go"}
Untuk agen kontainer versi 1.35.0 dan sebelumnya, berikut adalah format berkas log.
2016-08-15T15:54:41Z [INFO] Starting Agent: Amazon ECS Agent - v1.12.0 (895f3c1)
2016-08-15T15:54:41Z [INFO] Loading configuration
2016-08-15T15:54:41Z [WARN] Invalid value for task cleanup duration, will be overridden to 3h0m0s, parsed value 0, minimum threshold 1m0s
2016-08-15T15:54:41Z [INFO] Checkpointing is enabled. Attempting to load state
2016-08-15T15:54:41Z [INFO] Loading state! module="statemanager"
2016-08-15T15:54:41Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20 1.21 1.22]
2016-08-15T15:54:41Z [INFO] Registering Instance with ECS
2016-08-15T15:54:41Z [INFO] Registered! module="api client"