Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pelajari cara mengambil log node untuk node terkelola Amazon EKS yang memiliki agen pemantauan node.
Prasyarat
Pastikan Anda memiliki yang berikut:
-
Cluster Amazon EKS yang ada dengan agen pemantauan node. Untuk informasi selengkapnya, lihat Aktifkan perbaikan otomatis node dan selidiki masalah kesehatan node.
-
Alat
kubectl
baris perintah diinstal dan dikonfigurasi untuk berkomunikasi dengan cluster Anda. -
AWS CLI diinstal dan masuk dengan izin yang cukup untuk membuat bucket dan objek S3.
-
Versi terbaru dari Python 3 diinstal
-
AWS SDK untuk Python 3, Boto 3, diinstal.
Langkah 1: Buat tujuan bucket S3 (opsional)
Jika Anda belum memiliki ember S3 untuk menyimpan log, buat satu. Gunakan perintah AWS CLI berikut. Bucket default ke daftar kontrol private
akses. Ganti bucket-name
dengan nama bucket unik pilihan Anda.
aws s3api create-bucket --bucket
bucket-name
Langkah 2: Buat URL S3 yang telah ditandatangani sebelumnya untuk HTTP Put
Amazon EKS mengembalikan log node dengan melakukan operasi HTTP PUT ke URL yang Anda tentukan. Dalam tutorial ini, kita akan menghasilkan URL PUT HTTP S3 yang telah ditandatangani sebelumnya.
Log akan dikembalikan sebagai tarball gzip, dengan ekstensi. .tar.gz
catatan
Anda harus menggunakan AWS API atau SDK untuk membuat URL unggahan S3 yang telah ditandatangani sebelumnya untuk EKS untuk mengunggah file log. Anda tidak dapat membuat URL unggahan S3 yang telah ditandatangani sebelumnya menggunakan CLI AWS .
-
Tentukan di mana dalam ember Anda ingin menyimpan log. Misalnya, Anda dapat menggunakan
2024-11-12/logs1.tar.gz
sebagai kunci. -
Simpan kode Python berikut ke file.
presign-upload.py
Ganti<bucket-name>
dan<key>
. Kuncinya harus diakhiri dengan.tar.gz
.import boto3; print(boto3.client('s3').generate_presigned_url( ClientMethod='put_object', Params={'Bucket': '<bucket-name>', 'Key': '<key>'}, ExpiresIn=1000 ))
-
Jalankan skrip dengan
python presign-upload.py
-
Perhatikan output URL. Gunakan nilai ini di langkah berikutnya sebagai
http-put-destination
.
Untuk informasi selengkapnya, lihat Menghasilkan URL yang telah ditetapkan sebelumnya untuk mengunggah file
Langkah 3: Buat NodeDiagnostic sumber daya
Identifikasi nama node tempat Anda ingin mengumpulkan log dari.
Buat NodeDiagnostic
manifes yang menggunakan nama node sebagai nama sumber daya, dan berikan tujuan URL PUT HTTP.
apiVersion: eks.amazonaws.com/v1alpha1 kind: NodeDiagnostic metadata: name:
node-name
spec: logCapture: destination:http-put-destination
Menerapkan manifes ke klaster.
kubectl apply -f nodediagnostic.yaml
Anda dapat memeriksa Status koleksi dengan menjelaskan NodeDiagnostic
sumber daya:
-
Status
Success
atauSuccessWithErrors
menunjukkan bahwa tugas selesai dan log yang diunggah ke tujuan yang disediakan (SuccessWithErrors
menunjukkan bahwa beberapa log mungkin hilang) -
Jika statusnya Gagal, konfirmasikan URL unggahan sudah terbentuk dengan baik dan tidak kedaluwarsa.
kubectl describe nodediagnostics.eks.amazonaws.com/
node-name
Langkah 4: Unduh log dari S3
Tunggu sekitar satu menit sebelum mencoba mengunduh log. Kemudian, gunakan S3 CLI untuk mengunduh log.
# Once NodeDiagnostic shows Success status, download the logs
aws s3 cp s3://bucket-name
/key
./node-logs.tar.gz
Langkah 5: Bersihkan NodeDiagnostic sumber daya
-
NodeDiagnostic
sumber daya tidak dihapus secara otomatis. Anda harus membersihkannya sendiri setelah Anda mendapatkan artefak log Anda
# Delete the NodeDiagnostic resource
kubectl delete nodediagnostics.eks.amazonaws.com/node-name