Amministrazione dell'agente dell' Instana su Red Hat OpenShift

Dopo aver installato l'agente, configuralo e gestiscilo secondo le tue esigenze. Consulta l'elenco seguente per conoscere tutte le opzioni di configurazione dell'agente disponibili su Red Hat OpenShift.

Verifica dello stato del pod

Dopo aver installato l'agente, è possibile verificare lo stato dei pod nella distribuzione dell'agente utilizzando i seguenti comandi:

kubectl get pods -n instana-agent
kubectl get agent instana-agent -n instana-agent -o yaml | yq ".status"
 

In una buona distribuzione, il 'STATUS di tutti i pod nello spazio dei nomi deve essere 'Running. La risorsa personalizzata 'instana-agent dovrebbe visualizzare anche 'status: Running, come mostrato nell'esempio seguente:

$ kubectl get pods -n instana-agent
NAME                                      READY   STATUS    RESTARTS   AGE
controller-manager-6478cb4c6f-8s29b       1/1     Running   0          70m
instana-agent-8ftnj                       1/1     Running   0          70m
instana-agent-9w4vc                       1/1     Running   0          70m
instana-agent-k8sensor-5bbf568976-5pjk2   1/1     Running   0          3h2m
instana-agent-k8sensor-5bbf568976-h96hr   1/1     Running   0          3h2m
instana-agent-k8sensor-5bbf568976-lnbsg   1/1     Running   0          3h2m
instana-agent-zpmrj                       1/1     Running   0          70m

$ kubectl get agent instana-agent -n instana-agent -o yaml | yq ".status"
conditions:
  - lastTransitionTime: "2024-08-06T08:12:03Z"
    message: most recent reconcile of agent CR completed without issue
    observedGeneration: 2

    ...

observedGeneration: 2
oldVersionsUpdated: true
operatorVersion: 0.0.1-dev
status: Running
 

Configurazione dell'agent

È possibile configurare l'agente Instana per Kubernetes e Red Hat OpenShift in due modi diversi, a seconda del metodo utilizzato per installare l'agente.

Configurazione dell'agente installato tramite l'operatore

Per configurare l'agente Instana installato tramite un operatore, procedere come segue:

  1. Apri il file di risorse personalizzate YAMLinstana-agent.customresource.yaml.

  2. Salvare le configurazioni sotto 'spec.agent.configuration_yaml. Vedi il seguente esempio:

    spec:
      agent:
        configuration_yaml: |
          # Example of configuration yaml template
          # Host
          com.instana.plugin.host:
            tags:
              - 'dev'
              - 'app1'
     
  3. Applica le modifiche eseguendo il seguente comando:

    kubectl apply -f instana-agent.customresource.yaml
     

Per un esempio dettagliato del file ` YAML `, consultare instana_v1_extended_instanaagent.yaml.

Per ulteriori informazioni sulla configurazione degli agenti, consultare la sezione "Configurazione degli agenti host tramite il file di configurazione degli agenti ".

Configurazione dell'agente installato tramite il grafico " Helm "

Per configurare l'agente di Instana installato tramite il grafico " Helm ", scegliere uno dei seguenti metodi:

  • Specificare la configurazione sulla riga di comando utilizzando il flag '--set agent.configuration_yaml=<config>.

  • Aggiungere la configurazione al file di configurazione del grafico Helm 'values.yaml. Passare il file al comando Helm install (durante l'installazione) o Helm upgrade (dopo l'installazione) usando il flag '-f.

Per un elenco dettagliato di tutti i parametri di configurazione, consultare la tabella all'indirizzo InstanaHelm.

Personalizzazione dell' Container Registry

A seconda dell'ambiente Red Hat OpenShift, potrebbe essere necessario personalizzare il Red Hat OpenShift Container Registry.

Aggiunta di flussi di immagini

Se non è possibile prelevare le immagini dal IBM Cloud Container Registryicr.io), è necessario aggiungere manualmente due flussi di immagini. Nel Red Hat OpenShift Container Registry, accedere allo spazio dei nomi 'instana-agent e aggiungere i seguenti flussi di immagini:

Name: instana-agent
Image: icr.io/instana/agent:latest
 

Il flusso di immagini risultante è 'docker-registry.default.svc:5000/instana-agent/instana-agent:latest.

Name: k8sensor
Image: icr.io/instana/k8sensor:latest
 

Il flusso di immagini risultante è 'docker-registry.default.svc:5000/instana-agent/k8sensor:latest.

Utilizza i rispettivi nuovi flussi di immagini nell' YAML

Aggiornamento dell'installazione dell'agente

A seconda del metodo di installazione utilizzato, è possibile aggiornare l'agente Instana per Red Hat OpenShift in diversi modi.

Aggiornamento di un impianto dell'operatore

L'aggiornamento dell'installazione dell'agente comporta due fasi:

  1. Aggiornamento dell'operatore
  2. Aggiornamento delle immagini

Per aggiornare l'Operator all'ultima versione tramite OLM, segui i passaggi descritti nella sezione "Approvazione manuale di un aggiornamento dell'Operator in sospeso" nella documentazione di Red Hat OpenShift.

È anche possibile configurare l'operatore in modo che si aggiorni automaticamente. Per ulteriori informazioni, consultare la sezione Modifica del canale di aggiornamento per un operatore.

Per aggiornare manualmente l'operatore tramite l'interfaccia utente di Instana, procedere come segue:

  1. Nella pagina iniziale dell'interfaccia utente di Instana, fare clic su "Agenti e addetti alla raccolta ". Nella scheda " Instana Agents ", seleziona "Installa agenti".

  2. Nella pagina del catalogo di distribuzione dell'agente, fare clic sul riquadro OpenShift - Operator.

  3. Copiare ed eseguire il comando per distribuire il nuovo operatore. Vedere il seguente esempio di comando:

    kubectl apply -f https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yaml
     
    Nota: per aggiornare l'operatore a una versione specifica, eseguire il seguente comando:
    kubectl apply -f https://github.com/instana/instana-agent-operator/releases/download/<operator_version>/instana-agent-operator.yaml
    Per l'elenco delle versioni dell'operatore disponibili, consultare le Note di rilascio relative all'operatore dell'agente di Instana.

Una volta aggiornato l'operatore, procedere all'aggiornamento delle immagini.

Aggiornamento di un'installazione di grafici Helm

L'aggiornamento dell'installazione dell'agente comporta due fasi:

  1. Aggiornamento del grafico " Helm "
  2. Aggiornamento delle immagini

Per aggiornare il grafico dell' Helm e dell'agente, eseguire i seguenti comandi:

helm pull --repo https://agents.instana.io/helm --untar instana-agent
kubectl apply -f instana-agent/crds
oc adm policy add-scc-to-user privileged -z instana-agent -n instana-agent
oc adm policy add-scc-to-user anyuid -z instana-agent-remote -n instana-agent
helm upgrade --namespace instana-agent instana-agent \
--repo https://agents.instana.io/helm instana-agent \
--reuse-values
 
Nota: per aggiornare il grafico " Helm " a una versione specifica, aggiungere il flag --version <helm-version> al comando. Per l'elenco delle versioni disponibili del grafico " Helm ", consultare le note di rilascio relative al grafico " Instana " dell'agente Helm.
Nota: la versione 2.0.0 e le versioni precedenti di Instana agent Helm charts non dispongono della instana-agent/crds cartella. Pertanto, tale kubectl apply -f instana-agent/crds fase non è necessaria.

Una volta aggiornato l'operatore, procedere all'aggiornamento delle immagini.

Aggiornamento delle immagini degli agenti di Instana

Il DaemonSet 'instana-agent e il deployment 'k8sensor sono impostati per estrarre l'immagine più recente all'avvio del pod. Per forzare l'aggiornamento, eseguire i seguenti comandi:

kubectl rollout restart ds instana-agent -n instana-agent
 
kubectl rollout restart deployment k8sensor -n instana-agent
 

Instana non offre un meccanismo per aggiornare automaticamente queste immagini. È possibile utilizzare soluzioni adatte alle proprie esigenze, come CronJobs quelle dotate di privilegi sufficienti per gestire restart i carichi di lavoro, oppure strumenti più avanzati OpenShift GitOps come gli imagestream.

Gestione degli agenti tramite la dashboard di gestione agenti

È possibile eseguire le seguenti operazioni utilizzando la dashboard Gestione agenti nell'interfaccia utente di Instana :

Per aprire il dashboard Gestione agenti, procedere come segue:

  1. Nella barra laterale dell'interfaccia utente di Instana, seleziona "Infrastruttura".
  2. Fare clic su un host monitorato specifico.
  3. Nella dashboard dell'host, fare clic su Apri gestione agenti.

Configurazione dell'accesso alla rete per le applicazioni monitorate

È necessario configurare l'accesso alla rete dei seguenti tipi di applicazioni affinché possano comunicare con l'agente:

  • Node.js
  • Go
  • Ruby
  • Python
  • .NET Core

Queste applicazioni devono conoscere l'indirizzo IP su cui l'agente è in ascolto. L'agente ascolta automaticamente l'IP dell'host. È possibile utilizzare il seguente snippet di ` API ` per passare l'IP dell'host, contenuto in una variabile d'ambiente, al pod dell'applicazione:

spec:
  containers:
    env:
      - name: INSTANA_AGENT_HOST
        valueFrom:
          fieldRef:
            fieldPath: status.hostIP
 

Monitoraggio dei nodi del piano di controllo (precedentemente noti come nodi master)

Per impostazione predefinita, l'agente host non viene pianificato sui nodi del piano di controll Kubernetes. Per informazioni su come monitorare i nodi del piano di controllo, consultare la sezione Monitoraggio dei nodi del piano di controllo.

Per un controllo più diretto, installa l'agente separatamente sui nodi del piano di controllo.

Monitoraggio Kubernetes NGINX Ingress

Per le linee guida su come configurare l'Ingress di Kubernetes NGINX e il nostro agente per l'acquisizione delle metriche di NGINX, consultare la pagina di monitoraggio NGINX. È possibile eseguire il tracciamento di Ingress su Kubernetes NGINX anche tramite il progetto OpenTracing; consultare la sezione "Tracciamento distribuito per Ingress su NGINX " per le istruzioni su come configurarlo.

Invio dei dati a più backend

Per aggiungere ulteriori backend utilizzando l' helm e e l'operatore, eseguire il comando seguente. È possibile utilizzare backend aggiuntivi per configurare l'agente Instana oppure lasciare il campo vuoto.

Nota: quando si esegue il comando seguente, i dati dell'agente vengono inoltrati a più backend, insieme ai dati dell' Kubernetes e e alle metriche.
  • Come utilizzare helm :

       helm install instana-agent \
       --repo https://agents.instana.io/helm \
       --namespace instana-agent \
       --create-namespace \
       --set agent.key=my-key \
       --set agent.endpointHost='<your_host_agent_endpoint>' \
       --set agent.endpointPort=443 \
       --set cluster.name='<your_cluster_name>' \
       --set zone.name='zone-name' \
       --set "agent.additionalBackends[0].endpointHost=<your_host_agent_endpoint>" \
       --set "agent.additionalBackends[0].key=<your_agent_key>" \
       --set "agent.additionalBackends[0].endpointPort=443" \
       --set "agent.additionalBackends[1].endpointHost=<your_other_host_agent_endpoint>" \
       --set "agent.additionalBackends[1].key=<your_other_agent_key>" \
       --set "agent.additionalBackends[1].endpointPort=443" \
       instana-agent
     
  • Utilizzo dell'operatore:

    apiVersion: instana.io/v1
    kind: InstanaAgent
    metadata:
      name: instana-agent
      namespace: instana-agent
    spec:
      zone:
        name: edited-zone # (optional) name of the zone of the host
      cluster:
        name: my-cluster
      agent:
        endpointHost: <your_host_agent_endpoint>
        endpointPort: "443"
        env: {}
        key: <your_agent_key>
        additionalBackends:
        - endpointHost: <your_host_agent_endpoint>
          endpointPort: "443"
          key: <your_agent_key>
        configuration_yaml: |
          # You can leave this empty, or use this to configure your instana agent.
          # See https://github.com/instana/instana-agent-operator/blob/main/config/samples/instana_v1_extended_instanaagent.yaml for the extended version.
    
     

Per abilitare la segnalazione a più backend da un agente Kubernetes, consultare la configurazione dell'agente Docker.

Configurazione dei segreti

È possibile utilizzare Secrets per archiviare e gestire dati sensibili come credenziali, token o chiavi. Per ulteriori dettagli, consulta la pagina Kubernetes secrets.