Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Instal Agen dan CloudWatch agen SSM di node pekerja Amazon EKS menggunakan preBootstrapCommands
Kamahadevi Hiremath, Amazon Web Services
Ringkasan
Pola ini menyediakan contoh kode dan langkah-langkah untuk menginstal AWS Systems Manager Agent (Agen SSM) dan CloudWatch agen Amazon di node pekerja Amazon Elastic Kubernetes Service (Amazon EKS) di Amazon Web Services (AWS) Cloud selama pembuatan klaster Amazon EKS. Anda dapat menginstal Agen dan CloudWatch agen SSM dengan menggunakan preBootstrapCommands
properti dari skema file eksctl
konfigurasi
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Utilitas baris perintah eksctl, diinstal dan dikonfigurasi di macOS, Linux, atau Windows
Utilitas baris perintah kubectl, diinstal dan dikonfigurasi di macOS, Linux, atau Windows
Batasan
Sebaiknya hindari menambahkan skrip yang sudah berjalan lama ke
preBootstrapCommands
properti, karena ini menunda node bergabung dengan klaster Amazon EKS selama aktivitas penskalaan. Kami menyarankan Anda membuat Amazon Machine Image (AMI) kustom sebagai gantinya.Pola ini hanya berlaku untuk instans Amazon EC2 Linux.
Arsitektur
Tumpukan teknologi
Amazon CloudWatch
Amazon Elastic Kubernetes Service (Amazon EKS)
AWS Systems Manager Parameter Store
Arsitektur target
Diagram berikut menunjukkan contoh pengguna yang menghubungkan ke node pekerja Amazon EKS menggunakan Agen SSM yang diinstal menggunakan. preBootstrapCommands

Diagram menunjukkan alur kerja berikut:
Pengguna membuat kluster Amazon EKS dengan menggunakan file
eksctl
konfigurasi denganpreBootstrapCommands
properti, yang menginstal Agen dan CloudWatch agen SSM.Setiap instance baru yang bergabung dengan cluster nanti karena aktivitas penskalaan dibuat dengan Agen dan agen SSM yang sudah diinstal sebelumnya. CloudWatch
Pengguna terhubung ke Amazon EC2 dengan menggunakan Agen SSM dan kemudian memonitor memori dan pemanfaatan disk dengan menggunakan agen. CloudWatch
Alat
Amazon CloudWatch membantu Anda memantau metrik sumber daya AWS Anda dan aplikasi yang Anda jalankan di AWS secara real time.
Amazon Elastic Kubernetes Service (Amazon EKS) membantu Anda menjalankan Kubernetes di AWS tanpa perlu menginstal atau memelihara control plane atau node Kubernetes Anda sendiri.
AWS Systems Manager Parameter Store menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.
AWS Systems Manager Session Manager membantu Anda mengelola EC2 instans, instans lokal, dan mesin virtual melalui shell berbasis browser interaktif, sekali klik, atau melalui AWS Command Line Interface (AWS CLI).
eksctl
adalah utilitas baris perintah untuk membuat dan mengelola cluster Kubernetes di Amazon EKS. kubectl
adalah utilitas baris perintah untuk berkomunikasi dengan server API cluster.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Simpan file konfigurasi CloudWatch agen. | Simpan file konfigurasi CloudWatch agen di AWS Systems Manager Parameter Store di Wilayah AWS tempat Anda ingin membuat klaster Amazon EKS. Untuk melakukan ini, buat parameter di AWS Systems Manager Parameter Store dan catat nama parameter (misalnya, Untuk informasi selengkapnya, lihat kode file konfigurasi CloudWatch agen Contoh di bagian Informasi tambahan dari pola ini. | DevOps insinyur |
Buat file konfigurasi eksctl dan cluster. |
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Uji Agen SSM. | Gunakan SSH untuk menyambung ke node cluster Amazon EKS Anda dengan menggunakan salah satu metode yang tercakup dalam Memulai sesi dari dokumentasi AWS Systems Manager. | AWS DevOps |
Uji CloudWatch agennya. | Gunakan CloudWatch konsol untuk memvalidasi CloudWatch agen:
| AWS DevOps |
Sumber daya terkait
Menginstal dan menjalankan CloudWatch agen di server Anda ( CloudWatch dokumentasi Amazon)
Membuat parameter Systems Manager (konsol) (dokumentasi AWS Systems Manager)
Buat file konfigurasi CloudWatch agen ( CloudWatch dokumentasi Amazon)
Memulai sesi (AWS CLI) (dokumentasi AWS Systems Manager)
Memulai sesi ( EC2 konsol Amazon) (dokumentasi AWS Systems Manager)
Informasi tambahan
Contoh file konfigurasi CloudWatch agen
Dalam contoh berikut, CloudWatch agen dikonfigurasi untuk memantau pemanfaatan disk dan memori pada instance Amazon Linux:
{ "agent": { "metrics_collection_interval": 60, "run_as_user": "cwagent" }, "metrics": { "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}", "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}" }, "metrics_collected": { "disk": { "measurement": [ "used_percent" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "mem": { "measurement": [ "mem_used_percent" ], "metrics_collection_interval": 60 } } } }
Contoh file konfigurasi eksctl
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: test region: us-east-2 version: "1.24" managedNodeGroups: - name: test minSize: 2 maxSize: 4 desiredCapacity: 2 volumeSize: 20 instanceType: t3.medium preBootstrapCommands: - sudo yum install amazon-ssm-agent -y - sudo systemctl enable amazon-ssm-agent - sudo systemctl start amazon-ssm-agent - sudo yum install amazon-cloudwatch-agent -y - sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:AmazonCloudwatch-linux iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Detail kode tambahan
Di baris terakhir
preBootstrapCommands
properti,AmazonCloudwatch-linux
adalah nama parameter yang dibuat di AWS System Manager Parameter Store. Anda harus menyertakanAmazonCloudwatch-linux
di Parameter Store di Wilayah AWS yang sama tempat Anda membuat klaster Amazon EKS. Anda juga dapat menentukan jalur file, tetapi sebaiknya gunakan Systems Manager untuk otomatisasi dan penggunaan kembali yang lebih mudah.Jika Anda menggunakan
preBootstrapCommands
dalam fileeksctl
konfigurasi, Anda akan melihat dua templat peluncuran di AWS Management Console. Template peluncuran pertama mencakup perintah yang ditentukan dalampreBootstrapCommands
. Template kedua mencakup perintah yang ditentukan dalampreBootstrapCommands
dan data pengguna Amazon EKS default. Data ini diperlukan untuk mendapatkan node untuk bergabung dengan cluster. Grup Auto Scaling grup node menggunakan data pengguna ini untuk memutar instance baru.Jika Anda menggunakan
iam
atribut dalam fileeksctl
konfigurasi, Anda harus mencantumkan kebijakan Amazon EKS default dengan kebijakan tambahan apa pun yang diperlukan dalam kebijakan AWS Identity and Access Management (IAM) terlampir. Dalam cuplikan kode dari Buat file konfigurasi eksctl dan langkah cluster,CloudWatchAgentServerPolicy
dan kebijakan tambahanAmazonSSMMangedInstanceCore
ditambahkan untuk memastikan bahwa CloudWatch agen dan Agen SSM berfungsi seperti yang diharapkan. KebijakanAmazonEKSWorkerNodePolicy
,AmazonEKS_CNI_Policy
, adalahAmazonEC2ContainerRegistryReadOnly
kebijakan wajib yang diperlukan agar klaster Amazon EKS berfungsi dengan benar.