Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Installa l'agente SSM e l' CloudWatch agente sui nodi di lavoro Amazon EKS utilizzando preBootstrapCommands
Creato da Akkamahadevi Hiremath (AWS)
Riepilogo
Questo modello fornisce esempi di codice e passaggi per installare i nodi di lavoro AWS Systems Manager (SSM Agent) e Amazon CloudWatch sul cloud Amazon Elastic Kubernetes Service (Amazon EKS) nel cloud Amazon Web Services (AWS) durante la creazione del cluster Amazon EKS. Puoi installare l'agente e CloudWatch l'agente SSM utilizzando la preBootstrapCommands
proprietà dallo schema del file di eksctl
configurazione
Prerequisiti e limitazioni
Prerequisiti
Un account AWS attivo
L'utilità da riga di comando eksctl, installata e configurata su macOS, Linux o Windows
L'utilità da riga di comando kubectl, installata e configurata su macOS, Linux o Windows
Limitazioni
Ti consigliamo di evitare di aggiungere script di lunga durata alla
preBootstrapCommands
proprietà, poiché ciò ritarda l'adesione del nodo al cluster Amazon EKS durante le attività di scalabilità. Ti consigliamo invece di creare un'Amazon Machine Image (AMI) personalizzata.Questo modello si applica solo alle istanze Amazon EC2 Linux.
Architettura
Stack tecnologico
Amazon CloudWatch
Amazon Elastic Kubernetes Service (Amazon EKS)
AWS Systems Manager Parameter Store
Architettura Target
Il diagramma seguente mostra un esempio di utente che si connette ai nodi di lavoro di Amazon EKS utilizzando l'agente SSM che è stato installato utilizzando. preBootstrapCommands

Il diagramma mostra il flusso di lavoro seguente:
L'utente crea un cluster Amazon EKS utilizzando il file di
eksctl
configurazione con lapreBootstrapCommands
proprietà, che installa l'agente e CloudWatch l'agente SSM.Tutte le nuove istanze che si uniscono al cluster in un secondo momento a causa delle attività di scalabilità vengono create con l'agente e l'agente SSM preinstallati. CloudWatch
L'utente si connette ad Amazon EC2 utilizzando l'agente SSM e quindi monitora l'utilizzo della memoria e del disco utilizzando l'agente. CloudWatch
Strumenti
Amazon ti CloudWatch aiuta a monitorare i parametri delle tue risorse AWS e delle applicazioni che esegui su AWS in tempo reale.
Amazon Elastic Kubernetes Service (Amazon EKS) ti aiuta a eseguire Kubernetes su AWS senza dover installare o gestire il tuo piano di controllo o i tuoi nodi Kubernetes.
AWS Systems Manager Parameter Store fornisce uno storage sicuro e gerarchico per la gestione dei dati di configurazione e la gestione dei segreti.
AWS Systems Manager Session Manager ti aiuta a gestire le EC2 istanze, le istanze locali e le macchine virtuali tramite una shell interattiva basata su browser con un solo clic o tramite l'AWS Command Line Interface (AWS CLI).
eksctl
è un'utilità da riga di comando per la creazione e la gestione di cluster Kubernetes su Amazon EKS. kubectl
è un'utilità a riga di comando per comunicare con il server API del cluster.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Memorizza il file di configurazione CloudWatch dell'agente. | Archivia il file di configurazione dell' CloudWatch agente in AWS Systems Manager Parameter Store nella regione AWS in cui desideri creare il tuo cluster Amazon EKS. A tale scopo, crea un parametro in AWS Systems Manager Parameter Store e annota il nome del parametro (ad esempio, Per ulteriori informazioni, consulta il codice del file di configurazione dell' CloudWatch agente di esempio nella sezione Informazioni aggiuntive di questo modello. | DevOps ingegnere |
Crea il file di configurazione eksctl e il cluster. |
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Prova l'agente SSM. | Usa SSH per connetterti ai nodi del cluster Amazon EKS utilizzando uno dei metodi descritti in Avvia una sessione dalla documentazione di AWS Systems Manager. | AWS DevOps |
Testa l' CloudWatch agente. | Usa la CloudWatch console per convalidare l' CloudWatch agente:
| AWS DevOps |
Risorse correlate
Installazione ed esecuzione dell' CloudWatch agente sui tuoi server ( CloudWatch documentazione Amazon)
Creare un parametro Systems Manager (console) (documentazione di AWS Systems Manager)
Crea il file di configurazione CloudWatch dell'agente ( CloudWatch documentazione Amazon)
Avvio di una sessione (AWS CLI) (documentazione di AWS Systems Manager)
Avvio di una sessione ( EC2 console Amazon) (documentazione AWS Systems Manager)
Informazioni aggiuntive
Esempio di file di configurazione CloudWatch dell'agente
Nell'esempio seguente, l' CloudWatch agente è configurato per monitorare l'utilizzo del disco e della memoria su istanze 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 } } } }
Esempio di file di configurazione 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
Dettagli aggiuntivi sul codice
Nell'ultima riga della
preBootstrapCommands
proprietà,AmazonCloudwatch-linux
c'è il nome del parametro creato in AWS System Manager Parameter Store. Devi includerloAmazonCloudwatch-linux
in Parameter Store nella stessa regione AWS in cui hai creato il cluster Amazon EKS. È anche possibile specificare un percorso di file, ma si consiglia di utilizzare Systems Manager per semplificare l'automazione e la riutilizzabilità.Se lo utilizzi
preBootstrapCommands
nel file dieksctl
configurazione, vedrai due modelli di avvio nella Console di gestione AWS. Il primo modello di avvio include i comandi specificati inpreBootstrapCommands
. Il secondo modello include i comandi specificatipreBootstrapCommands
e i dati utente predefiniti di Amazon EKS. Questi dati sono necessari per far sì che i nodi entrino a far parte del cluster. Il gruppo Auto Scaling del gruppo di nodi utilizza questi dati utente per avviare nuove istanze.Se utilizzi l'
iam
attributo nel file dieksctl
configurazione, devi elencare le policy Amazon EKS predefinite con eventuali policy aggiuntive richieste nelle policy AWS Identity and Access Management (IAM) allegate. Nel frammento di codice del passaggio Crea il file di configurazione eksctl e il cluster,AmazonSSMMangedInstanceCore
sono state aggiunte politiche aggiuntive per garantire che l' CloudWatch agenteCloudWatchAgentServerPolicy
e l'agente SSM funzionino come previsto. LeAmazonEC2ContainerRegistryReadOnly
politicheAmazonEKSWorkerNodePolicy
AmazonEKS_CNI_Policy
,, sono politiche obbligatorie necessarie per il corretto funzionamento del cluster Amazon EKS.