Distribuzione del cluster Agent di registrazione v1.6.x per OpenShift
È possibile utilizzare un diagramma Helm per distribuire l'istanza Agent di registrazione v1.6.x per raccogliere e instradare i log dell'infrastruttura e delle applicazioni da un cluster OpenShift a un'istanza IBM Cloud Logs.
È inoltre possibile utilizzare Terraform IBM Modules (TIM) per Agent di registrazione per distribuire e configurare l'agente dei registri sui cluster OpenShift supportati. Questo modulo automatizza la distribuzione basata su Helm e le impostazioni di configurazione chiave utilizzando l'automazione di Infrastructure as Code ( IaC ).
Completare i seguenti passaggi per distribuire un agente su un cluster di OpenShift:
Prima di iniziare
-
Assicurati di avere accesso a un cluster Red Hat OpenShift on IBM Cloud (
OpenShift) con i permessi per creare spazi dei nomi e distribuire l'agente. -
Installa le seguenti CLI:
-
IBM Cloud CLI per accedere a IBM Cloud e gestire servizi IBM Cloud come la creazione di una chiave API.
-
L'Openshift CLI per gestire il cluster dalla riga di comando. Ulteriori informazioni.
-
L'ultima versione della versione 3 Helm CLI
-
-
Controlla le versioni dell'agente disponibili. Per ulteriori informazioni, vedere Controllo delle versioni disponibili dell'agente. Si noti che la versione del grafico dell' Helm e corrisponderà alla versione dell'agente. Ad esempio, se si utilizza la versione dell'agente 1.3.0, il grafico dell' Helm e con la versione dell' 1.3.0 e accompagna tale versione.
Passo 1. Definire il metodo di autenticazione per l'agente
Scegliere il tipo di identità e il metodo di autenticazione per l'agente. Quindi, creare un profilo di fiducia o una chiave API. Il ruolo necessario per inviare i log a IBM Cloud Logs è Sender.
È possibile utilizzare un ID di servizio o un profilo attendibile come identità utilizzata dall'agente per autenticarsi con il servizio IBM® Cloud Logs. Per ulteriori informazioni, vedere Concessione delle autorizzazioni IAM per l'assimilazione.
Scegli una delle seguenti opzioni:
Opzione 1: autenticazione tramite un profilo attendibile
Creare un profilo di fiducia. Per ulteriori informazioni, vedere Generazione di un profilo attendibile per l'assimilazione.
Opzione 2: autenticazione tramite chiave API ID servizio
Genera una chiave API per l'autenticazione dell'ID servizio. Per ulteriori informazioni, vedere Generazione di una chiave API per l'assimilazione.
Passo 2. Configurazione del file dei valori della tabella dell' Helm e per il Agent di registrazione
Completa i seguenti passi:
-
Creare un file denominato
logs-values.yamlcon il seguente contenuto:Questo file contiene le configurazioni specifiche dell'installazione.
metadata: name: "logs-agent" image: version: "1.6.1" # required clusterName: "ENTER_CLUSTER_NAME" # Enter the name of your cluster. This information is used to improve the metadata and help with your filtering. env: # ingestionHost is a required field. For example: # ingestionHost: "<logs instance>.ingress.us-east.logs.cloud.ibm.com" ingestionHost: "" # required # If you are using private CSE proxy, then use port number "3443" # If you are using private VPE Gateway, then use port number "443" # If you are using the public endpoint, then use port number "443" ingestionPort: "" # required iamMode: "TrustedProfile" # trustedProfileID - trusted profile id - required for iam trusted profile mode trustedProfileID: "Profile-yyyyyyyy-xxxx-xxxx-yyyy-zzzzzzzzzzzz" # required if iamMode is set to TrustedProfile scc: # true here enables creation of Security Context Constraints in Openshift create: true -
Aggiornare i campi nel file yaml con valori specifici per il proprio ambiente.
Helm grafico parametri richiesti Nome campo Descrizione image.versionLa versione dell'agente da distribuire vedi Fase 1 clusterNameIl nome del cluster: questo introdurrà il tag kubernetes.cluster_namein tutte le righe di logenv.ingestionHostL'endpoint di ingresso pubblico o privato per l'istanza dell' IBM Cloud Logs, per ricevere i registri env.ingestionPortPorta di ingresso dell'endpoint pubblico
. Ingresso endpoint pubblico =443
. Ingresso endpoint privato (VPE) =443
. Ingresso endpoint privato (CSE) =3443env.iamModeTrustedProfileoppureIAMAPIKeyin base al metodo di autenticazione scelto al punto 1env.trustedProfileIDSe iamModeèTrustedProfile, fornire l'ID profilo attendibile, altrimenti non è necessario (ad esempio:Profile-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).env.iamEnvironmentDetermina il punto finale di autenticazione IAM corretto. I valori validi sono Production,PrivateProductionoCustom. Se omesso, il valore predefinito è "Production".env.iamHostSe iamEnvironmentèCustom, fornire l'host IAM (ad esempio:private.eu-de.iam.cloud.ibm.com), altrimenti non è necessario.scc.createImpostare su trueper creare i vincoli di sicurezza in Openshift
Passo 3. Installare il grafico Helm
Se si utilizza iamMode come IAMAPIKey, l'apikey deve essere presente in un segreto Kubernetes chiamato logs-agent con il nome della chiave IAM_API_KEY. Il segreto può essere creato utilizzando
il diagramma Helm, includendo l'opzione --set secret.iamAPIKey=<your iamAPIKey> quando si esegue l'installazione del timone. Se il segreto è stato creato manualmente o se si utilizza un iamMode=TrustedProfile,
non includere questa opzione.
Completa i seguenti passi:
-
Accedi al cluster.
Red Hat OpenShift on IBM Cloud è integrato con l' IBM Cloud Identity and Access Management, o IAM (Gestione delle informazioni sui veicoli). Con IAM, puoi autenticare gli utenti e i servizi utilizzando le loro identità IAM e autorizzare azioni con ruoli e politiche di accesso. Quando ci si autentica come utente attraverso la console Red Hat OpenShift, l'identità IAM viene utilizzata per generare un token di accesso Red Hat OpenShift che può essere utilizzato per accedere alla riga di comando. Puoi automatizzare l'accesso al tuo cluster creando una chiave API o un ID servizio IAM da utilizzare per il comando
oc login. Per ulteriori informazioni, vedere Accesso ai cluster dell' Red Hat OpenShift.Ad esempio, completare i passaggi descritti in Utilizzo di un ID servizio per accedere ai cluster per accedere al cluster.
-
Esegui un test di funzionamento ( Helm ) per vedere le risorse che verranno create dal grafico dell' Helm.
Se si utilizza l'
iamMode=TrustedProfile, il comando completo è:helm install <install-name> --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespaceSe si utilizza l'
iamMode=IAMAPIKey, il comando completo è:helm install <install-name> --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<APIKey-value> --hide-secretdove:
<install-name>è il nome dell'installazione dell' Helm. (logs-agent)<chart-version>è la versione della carta del timone. La versione del grafico dell' Helm e deve corrispondere alla versione dell'immagine dell'agente. Per ulteriori informazioni, consultare Helm versioni grafiche.<PATH>è il percorso della directory in cui si trova il filelogs-values.yaml.<APIKey-value>è l'apikey IAM associata alla configurazione ServiceID nel passaggio 1- Aggiungere
--hide-secretper nascondere la chiave API dai dati di output dopo l'esecuzione del comando.
Se desideri ispezionare il contenuto della carta del timone in locale, puoi scaricarla sul tuo computer utilizzando il comando:
helm pull oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version>. Il file tgz scaricato contiene i contenuti della carta.Ad esempio, è possibile eseguire il seguente comando dalla directory in cui è disponibile il file
logs-values.yaml:helm install logs-agent --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version 1.6.0 --values ./logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<secret> --hide-secret -
Una volta verificate le risorse da creare, eseguire l'installazione di Helm senza l'opzione
--dry-runSe si utilizza l'
iamMode=TrustedProfile, il comando completo è:helm install <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespaceSe si utilizza l'
iamMode=IAMAPIKey, il comando completo è:helm install <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<APIKey-value>dove:
<install-name>è il nome dell'installazione dell' Helm. (logs-agent)<chart-version>è la versione della carta del timone. La versione del grafico dell' Helm e deve corrispondere alla versione dell'immagine dell'agente. Per ulteriori informazioni, consultare Helm versioni grafiche.<PATH>è il percorso della directory in cui si trova il filelogs-values.yaml.<APIKey-value>è l'apikey IAM associata alla configurazione ServiceID nel passaggio 1
Passo 4. Verificare che l'agente sia stato distribuito correttamente
Quando l'agente viene distribuito, controlla che vengano create le seguenti risorse:
-
Lo spazio dei nomi
ibm-observe.Per elencare gli spazi dei nomi nel cluster, eseguire il seguente comando:
oc get namespacePuoi anche eseguire il seguente comando per cercare il namespace
ibm-observe:oc get namespace | grep ibm-observe -
Una mappa di configurazione
logs-agentnello spazio dei nomiibm-observe.Esegui il seguente comando per visualizzare i dettagli di configurazione dell'agente.
oc get configmap logs-agent -n ibm-observeÈ possibile utilizzare anche il seguente comando:
oc describe configmaps logs-agent -n ibm-observe -
Un set di demoni
logs-agentnello spazio dei nomiibm-observe.Eseguite il seguente comando per visualizzare il daemonset:
oc get ds -n ibm-observe -
Recuperare l'elenco dei pod agente utilizzando il seguente comando:
oc get pods -n ibm-observe -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES logs-agent-4lwvt 1/1 Running 0 2d5h 172.17.61.181 192.168.16.4 <none> <none> logs-agent-g7z87 1/1 Running 0 2d5h 172.17.0.48 192.168.32.4 <none> <none> logs-agent-nw56s 1/1 Running 0 2d5h 172.17.32.232 192.168.0.10 <none> <none>La colonna "
READY" mostra "1/1" per tutti i pod, con un "STATUS" di "Running". Verifica che un pod agente sia pronto per ogni nodo nel tuo cluster.Per verificare quanti lavoratori sono disponibili nel tuo cluster, puoi eseguire il seguente comando:
oc get nodesNAME STATUS ROLES AGE VERSION 192.168.0.10 Ready master,worker 8d v1.20.0+558d959 192.168.32.4 Ready master,worker 8d v1.20.0+558d959 192.168.16.4 Ready master,worker 8d v1.20.0+558d959Il numero di elementi in ciascuno di questi due elenchi deve essere lo stesso ed è possibile abbinare gli indirizzi IP nei nomi dei nodi con i valori nella colonna "
NODE" dell'elenco dei pod.Se i nodi non sono denominati in base al loro IP, è possibile aggiungere l'opzione
-o widee confrontare invece i valori nella colonnaINTERNAL-IP.Per visualizzare i registri di un pod, eseguire
oc logs <POD_NAME>> -n ibm-observe
Passo 5. Verifica che i tronchi vengano consegnati alla destinazione prevista
Completa i seguenti passi:
-
Vai all'interfaccia utente web per la tua istanza di IBM Cloud Logs.
-
Quando l'agente è configurato correttamente, è possibile visualizzare i registri attraverso la vista predefinita del cruscotto. Agent di registrazione e tag registra i record con un oggetto kubernetes che include il nome del cluster.
kubernetes.cluster_name:<CLUSTER_NAME>Puoi eseguire la query
kubernetes.cluster_name:<YOUR_CLUSTER_NAME>nella tua istanza di IBM Cloud Logs per cercare i log generati dal tuo cluster.