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' CloudWatch agente con il componente aggiuntivo Amazon CloudWatch Observability EKS o il grafico Helm
Puoi utilizzare il componente aggiuntivo Amazon CloudWatch Observability EKS o il grafico Amazon CloudWatch Observability Helm per installare l' CloudWatch agente e l'agente Fluent-bit su un cluster Amazon EKS. Puoi anche utilizzare il grafico Helm per installare l' CloudWatch agente e l'agente Fluent-bit su un cluster Kubernetes che non è ospitato su Amazon EKS.
L'uso di entrambi i metodi su un cluster Amazon EKS abilita sia Container Insights con osservabilità migliorata per Amazon EKS che CloudWatch Application Signals per impostazione predefinita. Entrambe le funzionalità consentono di raccogliere i parametri dell'infrastruttura, la telemetria delle prestazioni delle applicazioni e i log dei container dal cluster.
Con Approfondimenti sui container con osservabilità migliorata per Amazon EKS, i parametri di Approfondimenti sui container vengono addebitati per osservazione anziché per parametro archiviato o log importato. Per Application Signals, la fatturazione si basa sulle richieste in entrata alle applicazioni, sulle richieste in uscita dalle applicazioni e su ogni obiettivo del livello di servizio (SLO) configurato. Ogni richiesta in entrata ricevuta e ogni richiesta in uscita effettuata genera un segnale di applicazione. Ogni SLO crea due segnali di applicazione per ciascun periodo di misurazione. Per ulteriori informazioni sui CloudWatch prezzi, consulta la pagina CloudWatch dei prezzi di Amazon
Entrambi i metodi abilitano Container Insights su nodi di lavoro Linux e Windows nel cluster Amazon EKS. Per abilitare Container Insights su Windows, devi utilizzare la versione 1.5.0 o successiva del componente aggiuntivo Amazon EKS o il grafico Helm. Attualmente, Application Signals non è supportato su Windows nei cluster Amazon EKS.
Il componente aggiuntivo Amazon CloudWatch Observability EKS è supportato sui cluster Amazon EKS in esecuzione con Kubernetes versione 1.23 o successiva.
Quando installi il componente aggiuntivo o il grafico Helm, devi inoltre concedere le autorizzazioni IAM per consentire all' CloudWatch agente di inviare metriche, log e tracce a. CloudWatch Ci sono due modi per effettuare questa operazione:
Collega una policy al ruolo IAM dei nodi di lavoro. Questa opzione concede ai nodi di lavoro le autorizzazioni a cui inviare telemetria. CloudWatch
Utilizza un ruolo IAM per gli account di servizio per i pod dell'agente e collega la policy a questo ruolo. Questo metodo funziona solo per i cluster Amazon EKS. Questa opzione consente l' CloudWatch accesso solo ai pod degli agenti appropriati.
Opzione 1: installazione utilizzando EKS Pod Identity
Se utilizzi la versione 3.1.0 o successiva del componente aggiuntivo, puoi utilizzare EKS Pod Identity per concedere le autorizzazioni richieste al componente aggiuntivo. EKS Pod Identity è l'opzione consigliata e offre vantaggi come il privilegio minimo, la rotazione delle credenziali e la verificabilità. Inoltre, l'utilizzo di EKS Pod Identity consente di installare il componente aggiuntivo EKS come parte della creazione del cluster stesso.
Per utilizzare questo metodo, segui innanzitutto i passaggi di associazione EKS Pod Identity per creare il ruolo IAM e configurare l'agente EKS Pod Identity.
Quindi installa il componente aggiuntivo Amazon CloudWatch Observability EKS. Per installare il componente aggiuntivo, puoi utilizzare la AWS CLI console Amazon EKS o Terraform. AWS CloudFormation
Opzione 2: installazione con autorizzazioni IAM sui nodi di lavoro
Per utilizzare questo metodo, collega innanzitutto la policy CloudWatchAgentServerPolicyIAM ai nodi di lavoro inserendo il seguente comando. In questo comando, sostituiscilo my-worker-node-role
con il ruolo IAM utilizzato dai nodi di lavoro Kubernetes.
aws iam attach-role-policy \ --role-name
my-worker-node-role
\ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Quindi installa il componente aggiuntivo Amazon CloudWatch Observability EKS. Per installare il componente aggiuntivo, puoi utilizzare la AWS CLI console o Terraform AWS CloudFormation.
Opzione 3: installazione utilizzando il ruolo dell'account del servizio IAM (si applica solo all'utilizzo del componente aggiuntivo)
Questo metodo è valido solo se utilizzi il componente aggiuntivo Amazon CloudWatch Observability EKS. Prima di utilizzare questo metodo, verifica di soddisfare i seguenti prerequisiti:
-
Disponi di un cluster Amazon EKS funzionale con nodi collegati in una delle Regioni AWS che supportano Approfondimenti sui container. Per l'elenco delle regioni supportate, consulta Container Insights.
-
kubectl
deve essere installato e configurato per il cluster. Per ulteriori informazioni, consulta la pagina relativa all'installazione dikubectl
nella Guida per l'utente di Amazon EKS. -
eksctl
deve essere installato. Per ulteriori informazioni, consulta la pagina Installing or updatingeksctl
nella Guida per l'utente di Amazon EKS.
Considerazioni sui nodi ibridi Amazon EKS
Le metriche a livello di nodo non sono disponibili per i nodi ibridi perché Container Insights dipendono dalla disponibilità dell'EC2 Instance Metadata Service (IMDS) per le metriche a livello di nodo. Cluster, carico di lavoro, Pode sono disponibili metriche a livello di contenitore per i nodi ibridi.
Dopo aver installato il componente aggiuntivo seguendo i passaggi nelle sezioni precedenti, è necessario aggiornare il manifesto del componente aggiuntivo in modo che l'agente possa funzionare correttamente sui nodi ibridi. Modifica la amazoncloudwatchagents
risorsa nel cluster per aggiungere la variabile di RUN_WITH_IRSA
ambiente in modo che corrisponda a quanto segue.
kubectl edit amazoncloudwatchagents -n amazon-cloudwatch cloudwatch-agent
apiVersion: v1 items: - apiVersion: cloudwatch.aws.amazon.com/v1alpha1 kind: AmazonCloudWatchAgent metadata: ... name: cloudwatch-agent namespace: amazon-cloudwatch ... spec: ... env: - name: RUN_WITH_IRSA # <-- Add this value: "True" # <-- Add this - name: K8S_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName ...
(Facoltativo) Configurazione aggiuntiva
Argomenti
- Disattiva la raccolta dei log dei container
- Usa una configurazione Fluent Bit personalizzata
- Gestisci le tolleranze di Kubernetes per i carichi di lavoro dei pod installati
- Disattiva la raccolta di metriche di calcolo accelerato
- Utilizzare una configurazione personalizzata CloudWatch dell'agente
- Gestisci i certificati webhook di ammissione TLS
- Raccogli il volume Amazon EBS IDs
Disattiva la raccolta dei log dei container
Per impostazione predefinita, il componente aggiuntivo utilizza Fluent Bit per raccogliere i log dei contenitori da tutti i pod e quindi invia i log a Logs. CloudWatch Per informazioni su quali log vengono raccolti, consulta la pagina Configurazione di Fluent Bit.
Nota
Né il componente aggiuntivo né il grafico Helm gestiscono le risorse Fluentd o Fluent Bit esistenti in un cluster. È possibile eliminare le risorse Fluentd o Fluent Bit esistenti prima di installare il componente aggiuntivo o il grafico Helm. In alternativa, per mantenere la configurazione esistente ed evitare che il componente aggiuntivo o il diagramma Helm installino anche Fluent Bit, puoi disabilitarla seguendo le istruzioni in questa sezione.
Per disattivare la raccolta dei log dei container se utilizzi il componente aggiuntivo Amazon CloudWatch Observability EKS, utilizza la seguente opzione quando crei o aggiorni il componente aggiuntivo:
--configuration-values '{ "containerLogs": { "enabled": false } }'
Per disattivare la raccolta dei log dei contenitori se utilizzi il grafico Helm, utilizza la seguente opzione quando crei o aggiorni il componente aggiuntivo:
--set containerLogs.enabled=false
Usa una configurazione Fluent Bit personalizzata
A partire dalla versione 1.7.0 del componente aggiuntivo Amazon CloudWatch Observability EKS, puoi modificare la configurazione Fluent Bit quando crei o aggiorni il componente aggiuntivo o il grafico Helm. Fornisci la configurazione Fluent Bit personalizzata nella sezione di livello containerLogs
principale della configurazione avanzata del componente aggiuntivo o le sostituzioni dei valori nel grafico Helm. In questa sezione, si fornisce la configurazione Fluent Bit personalizzata nella config
sezione (per Linux) o configWindows
nella sezione (per Windows). config
È ulteriormente suddiviso nelle seguenti sottosezioni:
service
— Questa sezione rappresenta laSERVICE
configurazione per definire il comportamento globale del motore Fluent Bit.customParsers
— Questa sezione rappresenta tuttiPARSER
i messaggi globali che si desidera includere in grado di prendere voci di registro non strutturate e fornire loro una struttura per facilitarne l'elaborazione e l'ulteriore filtraggio.extraFiles
— Questa sezione può essere utilizzata per fornireconf
file Fluent Bit aggiuntivi da includere. Per impostazione predefinita, sono inclusi i seguenti 3conf
file:.application-log.conf
— Unconf
file per inviare i log delle applicazioni dal cluster al gruppo di log/aws/containerinsights/
in CloudWatch Logs.my-cluster-name
/applicationdataplane-log.conf
— Unconf
file per l'invio dei log corrispondenti ai componenti del piano dati del cluster, inclusi i log CRI, i log kubelet, i log kube-proxy e i log CNI di Amazon VPC VPC, al gruppo di log in Logs./aws/containerinsights/
CloudWatchmy-cluster-name
/dataplanehost-log.conf
— Unconf
per inviare i log da/var/log/dmesg
e su Linux e System su Windows al gruppo di log in./var/log/messages
/var/log/secure
winlogs
/aws/containerinsights/
CloudWatchmy-cluster-name
/host
Nota
Fornisci la configurazione completa per ciascuna di queste singole sezioni anche se stai modificando solo un campo all'interno di una sottosezione. Ti consigliamo di utilizzare la configurazione predefinita fornita di seguito come base e di modificarla di conseguenza in modo da non disabilitare la funzionalità abilitata di default. Puoi utilizzare la seguente configurazione YAML quando modifichi la configurazione avanzata per il componente aggiuntivo Amazon EKS o quando fornisci sostituzioni di valore per il grafico Helm.
Per trovare la config
sezione relativa al tuo cluster, consulta aws-observability/helm-charts su GitHub e trova la versione corrispondente alla versione del componente aggiuntivo o del grafico Helm/charts/amazon-cloudwatch-observability/values.yaml
a trovare la config
sezione (per Linux) e la sezione (per Windows) all'interno configWindows
della sezione sottostante. fluentBit
containerLogs
Ad esempio, la configurazione predefinita di Fluent Bit per la versione 1.7.0 è disponibile qui.
Ti consigliamo di fornirlo config
come YAML quando lo fornisci utilizzando la configurazione avanzata del componente aggiuntivo Amazon EKS o quando lo fornisci come sostituzioni di valore per l'installazione di Helm. Assicurati che YAML sia conforme alla seguente struttura.
containerLogs: fluentBit: config: service: | ... customParsers: | ... extraFiles: application-log.conf: | ... dataplane-log.conf: | ... host-log.conf: | ...
L'esempio seguente config
modifica l'impostazione globale per l'intervallo di lavaggio in 45 secondi. Anche se l'unica modifica riguarda il Flush
campo, è comunque necessario fornire la SERVICE
definizione completa per la sottosezione del servizio. Poiché questo esempio non ha specificato le sostituzioni per le altre sottosezioni, per esse vengono utilizzate le impostazioni predefinite.
containerLogs: fluentBit: config: service: | [SERVICE] Flush 45 Grace 30 Log_Level error Daemon off Parsers_File parsers.conf storage.path /var/fluent-bit/state/flb-storage/ storage.sync normal storage.checksum off storage.backlog.mem_limit 5M
La configurazione di esempio seguente include un file Fluent bit aggiuntivo. conf
In questo esempio, stiamo aggiungendo un my-service.conf
under extraFiles
personalizzato che verrà incluso in aggiunta ai tre predefinitiextraFiles
.
containerLogs: fluentBit: config: extraFiles: my-service.conf: | [INPUT] Name tail Tag myservice.* Path /var/log/containers/*myservice*.log DB /var/fluent-bit/state/flb_myservice.db Mem_Buf_Limit 5MB Skip_Long_Lines On Ignore_Older 1d Refresh_Interval 10 [OUTPUT] Name cloudwatch_logs Match myservice.* region ${AWS_REGION} log_group_name /aws/containerinsights/${CLUSTER_NAME}/myservice log_stream_prefix ${HOST_NAME}- auto_create_group true
Il prossimo esempio rimuove completamente un conf
file esistente daextraFiles
. Ciò lo esclude application-log.conf
completamente sovrascrivendolo con una stringa vuota. La semplice omissione application-log.conf
da extraFiles
implicherebbe invece l'utilizzo del valore predefinito, che non è quello che stiamo cercando di ottenere in questo esempio. Lo stesso vale per la rimozione di qualsiasi conf
file personalizzato a cui potresti aver aggiunto in precedenza. extraFiles
containerLogs: fluentBit: config: extraFiles: application-log.conf: ""
Gestisci le tolleranze di Kubernetes per i carichi di lavoro dei pod installati
A partire dalla versione 1.7.0 del componente aggiuntivo Amazon CloudWatch Observability EKS, il componente aggiuntivo e il grafico Helm impostano per impostazione predefinita le tolleranze di Kubernetes per tollerare tutte le contaminazioni sui carichi di lavoro dei pod installati dal componente aggiuntivo o dal grafico Helm. Ciò garantisce che i daemonset come l'agente e Fluent Bit possano pianificare i pod su tutti i nodi del cluster per impostazione predefinita. CloudWatch Per ulteriori informazioni su tolleranze e contaminazioni, consulta Tinte
Le tolleranze predefinite impostate dal componente aggiuntivo o dal grafico Helm sono le seguenti:
tolerations: - operator: Exists
È possibile sovrascrivere le tolleranze predefinite impostando il tolerations
campo al livello principale quando si utilizza la configurazione avanzata del componente aggiuntivo o quando si installa o si aggiorna il grafico Helm con sostituzioni di valore. Un esempio potrebbe essere il seguente:
tolerations: - key: "key1" operator: "Exists" effect: "NoSchedule"
Per omettere completamente le tolleranze, puoi usare una configurazione simile alla seguente:
tolerations: []
Qualsiasi modifica alle tolleranze si applica a tutti i carichi di lavoro dei pod installati dal componente aggiuntivo o dal grafico Helm.
Disattiva la raccolta di metriche di calcolo accelerato
Per impostazione predefinita, Container Insights con osservabilità migliorata raccoglie metriche per il monitoraggio di Accelerated Compute, tra cui le metriche della GPU NVIDIA, le metriche AWS Neuron per AWS Trainium e Inferentia e le metriche Elastic Fabric Adapter (EFA). AWS AWS
Le metriche delle GPU NVIDIA dei carichi di lavoro Amazon EKS vengono raccolte per impostazione predefinita a partire dalla versione v1.3.0-eksbuild.1
del componente aggiuntivo EKS o dal grafico Helm e dalla versione dell'agente. 1.300034.0
CloudWatch Per un elenco delle metriche raccolte e dei prerequisiti, consulta. Metriche della GPU NVIDIA
AWS Le metriche Neuron per gli acceleratori AWS Trainium e AWS Inferentia vengono raccolte per impostazione predefinita a partire dalla versione v1.5.0-eksbuild.1
del componente aggiuntivo EKS o dal grafico Helm e dalla versione dell'agente. 1.300036.0
CloudWatch Per un elenco delle metriche raccolte e dei prerequisiti, consulta. AWS Metriche Neuron per Trainium e Inferentia AWSAWS
AWS Le metriche Elastic Fabric Adapter (EFA) dei nodi Linux sui cluster Amazon EKS vengono raccolte per impostazione predefinita a partire dalla versione v1.5.2-eksbuild.1
del componente aggiuntivo EKS o dal grafico Helm e dalla versione dell'agente. 1.300037.0
CloudWatch Per un elenco delle metriche raccolte e dei prerequisiti, consulta. AWS Metriche Elastic Fabric Adapter (EFA)
Puoi scegliere di non raccogliere queste metriche impostando il accelerated_compute_metrics
campo nel file di configurazione dell' CloudWatch agente su. false
Questo campo si trova nella kubernetes
sezione della metrics_collected
sezione del file di CloudWatch configurazione. Di seguito è riportato un esempio di configurazione di opt-out. Per ulteriori informazioni su come utilizzare le configurazioni personalizzate degli CloudWatch agenti, vedere la sezione seguente,. Utilizzare una configurazione personalizzata CloudWatch dell'agente
{ "logs": { "metrics_collected": { "kubernetes": { "enhanced_container_insights": true, "accelerated_compute_metrics": false } } } }
Utilizzare una configurazione personalizzata CloudWatch dell'agente
Per raccogliere altre metriche, log o tracce utilizzando l' CloudWatch agente, puoi specificare una configurazione personalizzata mantenendo attivi Container Insights e CloudWatch Application Signals. A tale scopo, incorpora il file di configurazione dell' CloudWatch agente nella chiave di configurazione sotto la chiave dell'agente della configurazione avanzata che puoi utilizzare durante la creazione o l'aggiornamento del componente aggiuntivo EKS o del grafico Helm. Di seguito è rappresentata la configurazione predefinita dell'agente quando non si fornisce alcuna configurazione aggiuntiva.
Importante
Qualsiasi configurazione personalizzata fornita utilizzando impostazioni di configurazione aggiuntive ha la precedenza sulla configurazione predefinita utilizzata dall'agente. Fai attenzione a non disattivare involontariamente funzionalità abilitate di default, come Container Insights con osservabilità migliorata e Application Signals. CloudWatch Se è necessario fornire una configurazione personalizzata dell'agente, consigliamo di utilizzare la seguente configurazione predefinita come base e modificarla di secondo le necessità.
Per utilizzare il componente aggiuntivo Amazon CloudWatch observability EKS
--configuration-values '{ "agent": { "config": { "logs": { "metrics_collected": { "application_signals": {}, "kubernetes": { "enhanced_container_insights": true } } }, "traces": { "traces_collected": { "application_signals": {} } } } }'
-
Per utilizzare il diagramma Helm
--set agent.config='{ "logs": { "metrics_collected": { "application_signals": {}, "kubernetes": { "enhanced_container_insights": true } } }, "traces": { "traces_collected": { "application_signals": {} } } }'
L'esempio seguente mostra la configurazione predefinita dell' CloudWatch agente in Windows. L' CloudWatch agente su Windows non supporta la configurazione personalizzata.
{ "logs": { "metrics_collected": { "kubernetes": { "enhanced_container_insights": true }, } } }
Gestisci i certificati webhook di ammissione TLS
Il componente aggiuntivo Amazon CloudWatch Observability EKS e il grafico Helm sfruttano i webhook di ammissioneInstrumentation
personalizzate AmazonCloudWatchAgent
e, facoltativamente, le richieste pod Kubernetes sul cluster se Application Signals è abilitato. CloudWatch In Kubernetes, i webhook richiedono un certificato TLS configurato per stabilire una relazione di attendibilità con il server API per garantire una comunicazione sicura.
Per impostazione predefinita, il componente aggiuntivo Amazon CloudWatch Observability EKS e il grafico Helm generano automaticamente una CA autofirmata e un certificato TLS firmato da questa CA per proteggere la comunicazione tra il server API e il server webhook. Questo certificato generato automaticamente ha una scadenza predefinita di 10 anni e non viene rinnovato automaticamente alla scadenza. Inoltre, il pacchetto CA e il certificato vengono rigenerati ogni volta che il componente aggiuntivo o il grafico Helm vengono aggiornati o reinstallati, ripristinando così la scadenza. Se desideri modificare la scadenza predefinita del certificato generato automaticamente, puoi utilizzare le seguenti configurazioni aggiuntive durante la creazione o l'aggiornamento del componente aggiuntivo. Sostituiscilo con la durata di scadenza desiderata in giorni. expiry-in-days
Usalo per il componente aggiuntivo Amazon CloudWatch Observability EKS
--configuration-values '{ "admissionWebhooks": { "autoGenerateCert": { "expiryDays":
expiry-in-days
} } }'Usalo per il grafico Helm
--set admissionWebhooks.autoGenerateCert.expiryDays=expiry-in-days
Per una soluzione di autorità di certificazione più sicura e ricca di funzionalità, il componente aggiuntivo offre il supporto opt-in per cert-manager
Ti consigliamo di esaminare le best practice per la gestione dei certificati TLS sui tuoi cluster e di scegliere di utilizzare cert-manager per gli ambienti di produzione. Tieni presente che se scegli di abilitare cert-manager per la gestione dei certificati TLS del webhook di ammissione, devi preinstallare cert-manager sul tuo cluster Amazon EKS prima di installare il componente aggiuntivo Amazon Observability EKS o il grafico Helm CloudWatch . Per ulteriori informazioni sulle opzioni di installazione disponibili, consulta la documentazione di cert-manager.
Se utilizzi il componente aggiuntivo Amazon CloudWatch Observability EKS
--configuration-values '{ "admissionWebhooks": { "certManager": { "enabled": true } } }'
Se utilizzi la tabella Helm
--set admissionWebhooks.certManager.enabled=true
--configuration-values '{ "admissionWebhooks": { "certManager": { "enabled": true } } }'
La configurazione avanzata discussa in questa sezione utilizzerà per impostazione predefinita un SelfSigned
Raccogli il volume Amazon EBS IDs
Se desideri raccogliere il volume Amazon EBS IDs nei log delle prestazioni, devi aggiungere un'altra policy al ruolo IAM collegata ai nodi di lavoro o all'account di servizio. Aggiungi quanto segue come una policy inline. Per ulteriori informazioni, consulta la pagina Adding and Removing IAM Identity Permissions.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolumes" ], "Resource": "*", "Effect": "Allow" } ] }
Risoluzione dei problemi relativi al componente aggiuntivo Amazon CloudWatch Observability EKS o al grafico Helm
Utilizza le seguenti informazioni per risolvere i problemi con il componente aggiuntivo Amazon CloudWatch Observability EKS o il grafico Helm
Argomenti
- Aggiornamento ed eliminazione del componente aggiuntivo Amazon CloudWatch Observability EKS o del grafico Helm
- Verifica la versione dell' CloudWatch agente utilizzato dal componente aggiuntivo Amazon CloudWatch Observability EKS o dal grafico Helm
- Gestione di un ConfigurationConflict durante la gestione del componente aggiuntivo o del grafico Helm
Aggiornamento ed eliminazione del componente aggiuntivo Amazon CloudWatch Observability EKS o del grafico Helm
Per istruzioni sull'aggiornamento o l'eliminazione del componente aggiuntivo Amazon CloudWatch Observability EKS, consulta Managing Amazon EKS add-on. Usa amazon-cloudwatch-observability
come nome del componente aggiuntivo.
Per eliminare il grafico Helm in un cluster, inserisci il seguente comando.
helm delete amazon-cloudwatch-observability -n amazon-cloudwatch --wait
Verifica la versione dell' CloudWatch agente utilizzato dal componente aggiuntivo Amazon CloudWatch Observability EKS o dal grafico Helm
Il componente aggiuntivo Amazon CloudWatch Observability EKS e il grafico Helm installano una risorsa personalizzata AmazonCloudWatchAgent
che controlla il comportamento del daemset dell' CloudWatchagente sul cluster, inclusa la versione dell'agente utilizzata. CloudWatch È possibile ottenere un elenco di tutte le risorse AmazonCloudWatchAgent
personalizzate installate sul cluster u immettendo il seguente comando:
kubectl get amazoncloudwatchagent -A
Nell'output di questo comando, dovresti essere in grado di controllare la versione dell'agente. CloudWatch In alternativa, puoi anche descrivere la risorsa amazoncloudwatchagent
o uno dei pod cloudwatch-agent-*
in esecuzione sul cluster per ispezionare l'immagine utilizzata.
Gestione di un ConfigurationConflict durante la gestione del componente aggiuntivo o del grafico Helm
Quando installi o aggiorni il componente aggiuntivo Amazon CloudWatch Observability EKS o il grafico Helm, se noti un errore causato dalle risorse esistenti, probabilmente è perché hai già l' CloudWatch agente e i relativi componenti associati come ServiceAccount, il ClusterRole e il ClusterRoleBinding installato nel cluster.
L'errore visualizzato dal componente aggiuntivo includerà, Conflicts found when trying to apply. Will not continue due to resolve conflicts mode
L'errore visualizzato dal grafico Helm sarà simile a. Error: INSTALLATION FAILED: Unable to continue with install and invalid ownership metadata.
Quando il componente aggiuntivo o il grafico Helm tenta di installare l' CloudWatch agente e i componenti associati, se rileva modifiche nei contenuti, per impostazione predefinita non riesce a eseguire l'installazione o l'aggiornamento per evitare di sovrascrivere lo stato delle risorse nel cluster.
Se stai tentando di effettuare l'onboarding al componente aggiuntivo Amazon CloudWatch Observability EKS e riscontri questo errore, ti consigliamo di eliminare una configurazione di CloudWatch agente esistente che avevi precedentemente installato sul cluster e quindi di installare il componente aggiuntivo EKS o il grafico Helm. Assicurati di eseguire il backup di tutte le personalizzazioni che potresti aver apportato alla configurazione originale dell' CloudWatch agente, ad esempio una configurazione personalizzata dell'agente, e di fornirle al componente aggiuntivo o al diagramma di Helm alla successiva installazione o aggiornamento. Se in precedenza avevi installato l' CloudWatch agente per l'onboarding su Container Insights, consulta per ulteriori informazioni. Eliminazione dell' CloudWatch agente e di Fluent Bit for Container Insights
In alternativa, il componente aggiuntivo supporta un'opzione di configurazione per la risoluzione dei conflitti che può specificare OVERWRITE
. È possibile utilizzare questa opzione per procedere con l'installazione o l'aggiornamento del componente aggiuntivo sovrascrivendo i conflitti nel cluster. Se utilizzi la console Amazon EKS, trovi il metodo di risoluzione dei conflitti selezionando le impostazioni di configurazione facoltative quando crei o aggiorni il componente aggiuntivo. Se utilizzi il AWS CLI, puoi fornire il comando --resolve-conflicts OVERWRITE
al tuo comando per creare o aggiornare il componente aggiuntivo.
Raccogli le metriche di Java Management Extensions (JMX)
L' CloudWatch agente supporta la raccolta di metriche Java Management Extensions (JMX) su Amazon EKS. Ciò consente di raccogliere parametri aggiuntivi dalle applicazioni Java in esecuzione su cluster Amazon EKS, consentendo informazioni dettagliate su prestazioni, utilizzo della memoria, traffico e altri parametri critici. Per ulteriori informazioni, consulta Raccogli le metriche di Java Management Extensions (JMX).
Abilita le metriche Kueue
A partire dalla versione v2.4.0-eksbuild.1
del componente aggiuntivo CloudWatch Observability EKS, Container Insights for Amazon EKS supporta la raccolta di metriche Kueue dai cluster Amazon EKS. Per ulteriori informazioni su questi parametri, consulta Metriche Kueue .
Se utilizzi il componente aggiuntivo Amazon SageMaker AI Hyperpod Task Governance EKS, puoi saltare i passaggi nella sezione Prerequisiti e seguire semplicemente i passaggi indicati. Abilita il flag di configurazione
Prerequisiti
Prima di installare Kueue nel cluster Amazon EKS, apporta i seguenti aggiornamenti nel file manifest:
Abilita i parametri opzionali delle risorse della coda del cluster per Kueue. Per fare ciò, modifica la linea in.
controller_manager_config.yaml
kueue-system
ConfigMap Nellametrics
sezione, aggiungi o decommenta la riga.enableClusterQueueResources: true
apiVersion: v1 data: controller_manager_config.yaml: | apiVersion: config.kueue.x-k8s.io/v1beta1 kind: Configuration health: healthProbeBindAddress: :8081 metrics: bindAddress: :8080 enableClusterQueueResources: true
<-- ADD/UNCOMMENT THIS LINE
Per impostazione predefinita, tutti i
k8s
servizi sono disponibili a livello di cluster. Kueue crea un serviziokueue-controller-manager-metrics-service
per esporre le metriche. Per evitare osservazioni duplicate per le metriche, modifica questo servizio per consentire l'accesso solo al servizio di metrica dallo stesso nodo. Per fare ciò, aggiungi la rigainternalTrafficPolicy: Local
alla definizione.kueue-controller-manager-metrics-service
apiVersion: v1 kind: Service metadata: labels: ... name: kueue-controller-manager-metrics-service namespace: kueue-system spec: ports: - name: https port: 8443 protocol: TCP targetPort: https internalTrafficPolicy: Local
<-- ADD THIS LINE
selector: control-plane: controller-managerInfine, il
kueue-controller-manager
pod crea unkube-rbac-proxy
contenitore. Questo contenitore ha attualmente un alto livello di verbosità di registrazione, il che fa sì che il token bearer del cluster venga registrato da quel contenitore quando il metrics scraper accede a.kueue-controller-manager-metrics-service
Ti consigliamo di ridurre questa verbosità di registrazione. Il valore predefinito nel manifesto distribuito da Kueue è 10, si consiglia di cambiarlo su 0.apiVersion: apps/v1 kind: Deployment metadata: labels: ... name: kueue-controller-manager namespace: kueue-system spec: ... template: ... spec: containers: ... - args: - --secure-listen-address=0.0.0.0:8443 - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0
<-- CHANGE v=10 TO v=0
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 name: kube-rbac-proxy ...
Abilita il flag di configurazione
Per abilitare le metriche Kueue, è necessario abilitarle kueue_container_insights
nella configurazione aggiuntiva del componente aggiuntivo. Puoi farlo utilizzando AWS CLI per configurare il componente aggiuntivo EKS Observability o utilizzando la console Amazon EKS.
Dopo aver installato correttamente il componente aggiuntivo EKS Observability con uno dei seguenti metodi, puoi visualizzare i parametri del cluster Amazon EKS nella scheda Dashboard della HyperPod console.
Aggiungere file di configurazione del OpenTelemetry collettore
L' CloudWatch agente supporta file di configurazione dei OpenTelemetry raccoglitori supplementari oltre ai propri file di configurazione. Questa funzionalità consente di utilizzare funzionalità CloudWatch dell'agente come CloudWatch Application Signals o Container Insights tramite la configurazione dell' CloudWatch agente e di inserire la configurazione del OpenTelemetry raccoglitore esistente con un singolo agente.
Per evitare conflitti di fusione con le pipeline create automaticamente dall' CloudWatch agente, si consiglia di aggiungere un suffisso personalizzato a ciascuno dei componenti e delle pipeline nella configurazione del collettore. OpenTelemetry In questo modo si eviteranno scontri e conflitti di unione.
Se utilizzi il componente aggiuntivo Amazon CloudWatch Observability EKS
--configuration-values file://values.yaml
oppure
--configuration-values ' agent: otelConfig: receivers: otlp/custom-suffix: protocols: http: {} exporters: awscloudwatchlogs/custom-suffix: log_group_name: "test-group" log_stream_name: "test-stream" service: pipelines: logs/custom-suffix: receivers: [otlp/custom-suffix] exporters: [awscloudwatchlogs/custom-suffix] '
Se utilizzi la tabella Helm
--set agent.otelConfig=' receivers: otlp/custom-suffix: protocols: http: {} exporters: awscloudwatchlogs/custom-suffix: log_group_name: "test-group" log_stream_name: "test-stream" service: pipelines: logs/custom-suffix: receivers: [otlp/custom-suffix] exporters: [awscloudwatchlogs/custom-suffix] '