Installazione di " IDOT " nei cluster " Kubernetes " tramite l'operatore
L'operatore " Instana " per la distribuzione dei collector di OpenTelemetry ( IDOT ) offre un metodo nativo di Kubernetes per distribuire e gestire i collector di OpenTelemetry all'interno del proprio cluster. L'operatore automatizza la gestione del ciclo di vita delle istanze dei collettori, semplificando l'implementazione, la configurazione e la manutenzione dei collettori su larga scala.
- Installazione dell'operatore " IDOT " utilizzando il grafico " Helm "
- Controllo dello stato dell'operatore e del collettore
- Aggiornamento dell'operatore " IDOT "
- Disinstallazione dell'operatore " IDOT " da Kubernetes
- Installazione dell'operatore " IDOT " in " Red Hat OpenShift "
- Disinstallazione dell'operatore " IDOT " da Red Hat OpenShift
- Configurazione dell'operatore " IDOT "
- risoluzione dei problemi
Installazione dell'operatore " IDOT " utilizzando il grafico " Helm "
Helm è un gestore di pacchetti per Kubernetes. Con Helm è possibile definire, installare e aggiornare applicazioni complesse di Kubernetes.
Prerequisiti
- Kubernetes 1.24 e più tardi
- Helm 3.9 e più tardi
- kubectl
- Autorizzazioni amministratore cluster per creare definizioni di risorse personalizzate (CRD)
Procedura
Per installare l'Operator " IDOT " in un ambiente " Kubernetes ", procedere come segue:
Facoltativo ma consigliato: creare uno spazio dei nomi dedicato per l'operatore eseguendo il seguente comando:
kubectl create namespace instana-otel-operatorInstallare l'operatore " IDOT " in " Kubernetes " eseguendo il seguente comando:
helm install instana-otel-operator \ --repo https://instana.github.io/instana-otel-collector instana-otel-collector-chart-operator \ --namespace instana-otel-operator \ --create-namespace \ --set clusterName=<CLUSTER_NAME> \ --set instanaEndpoint=<INSTANA_ENDPOINT> \ --set instanaKey=<INSTANA_KEY> \ --set daemonset.enabled=true \ --set statefulset.enabled=trueTabella 1. Parametri di installazione Parametro Descrizione Obbligatorio clusterName Nome del cluster di Kubernetes da visualizzare nell'interfaccia utente di Instana Sì instanaEndpoint L'endpoint gRPC del tuo ambiente Instana Sì instanaKey Instana chiave dell'agente per l'autenticazione all'endpoint Sì Come individuare i valori di configurazione:
È possibile trovare questi parametri nell'interfaccia utente di Instana alla voce " Agent & collectors " > " OpenTelemetry " > "Collectors":- Fare clic su "Installa un collettore " > "Operatore Kubernetes ".
- Nel comando di installazione:
INSTANA_KEY: Cerca la chiave dell'agente dopo il-aflag.INSTANA_OTEL_ENDPOINT_GRPC: Cerca l'endpoint gRPC dopo il-eflag.INSTANA_OTEL_ENDPOINT_HTTP: Cerca l'endpoint HTTP dopo il-Hflag.
Nota: il--create-namespaceflag crea lo spazio dei nomi se questo non esiste. È possibile omettere questo flag se lo spazio dei nomi esiste già o è stato creato manualmente.Per ulteriori informazioni sui requisiti di sistema completi, consultare la pagina IDOT system requirements.
Verificare l'installazione dell'operatore: dopo l'installazione, verificare che l'operatore sia stato installato correttamente eseguendo il seguente comando:
kubectl get pods -n instana-otel-operatorSe l'installazione ha esito positivo, viene visualizzato il seguente output:
NAME READY STATUS RESTARTS AGE instana-otel-operator-7d9f8b5c6d-xk2lm 2/2 Running 0 30sL'età della distribuzione e l'ID del pod variano a seconda di quando è stato eseguito il comando di installazione.
Verificare che le definizioni delle risorse personalizzate (CRD) siano installate eseguendo il seguente comando:
kubectl get crd | grep opentelemetryIl CRD dell' OpenTelemetryCollector e deve essere elencato nell'output.
Aggiornamento della configurazione del collettore
Per aggiornare la configurazione del collettore, modificare la risorsa personalizzata OpenTelemetryCollector :
kubectl edit opentelemetrycollector idot-daemonset -n instana-otel-operator
kubectl edit opentelemetrycollector idot-statefulset -n instana-otel-operator
L'operatore rileva automaticamente le modifiche e aggiorna i pod di raccolta di conseguenza.
Controllo dello stato dell'operatore e del collettore
Per verificare lo stato dell'operatore, eseguire il seguente comando:
kubectl describe pod -n instana-otel-operator -l app.kubernetes.io/name=opentelemetry-operator
Per verificare lo stato delle istanze del collettore, eseguire il comando seguente:
kubectl get opentelemetrycollector -n instana-otel-operator
Per visualizzare informazioni dettagliate su un collettore specifico, eseguire il comando seguente:
kubectl describe opentelemetrycollector idot-daemonset -n instana-otel-operator
kubectl describe opentelemetrycollector idot-statefulset -n instana-otel-operator
Per controllare i log dei pod collector, esegui il seguente comando:
kubectl logs -n instana-otel-operator -l app.kubernetes.io/managed-by=opentelemetry-operator
Aggiornamento dell'operatore " IDOT "
Per aggiornare l'Operator di IDOT a una nuova versione, eseguire il seguente comando:
helm upgrade instana-otel-operator \
--repo https://instana.github.io/instana-otel-collector instana-otel-collector-chart-operator \
--namespace instana-otel-operator
L'operatore gestisce automaticamente l'aggiornamento delle istanze del collettore gestito in base alla strategia di aggiornamento definita nelle risorse personalizzate.
Disinstallazione dell'operatore " IDOT " da Kubernetes
Per disinstallare l'operatore, completare i seguenti passaggi:
Disinstallare l'operatore Helm Grafico:
helm uninstall instana-otel-operator -n instana-otel-operatorOpzionale: eliminare gli spazi dei nomi eseguendo i seguenti comandi:
kubectl delete namespace instana-otel-operator
Installazione dell'operatore " IDOT " in " Red Hat OpenShift "
L'operatore " IDOT " può essere installato anche nei cluster " Red Hat OpenShift ".
Prerequisiti
Prima di installare l'operatore su un cluster Red Hat OpenShift 4.x, assicurati di disporre dei permessi di amministratore del cluster per creare CRD e gestire gli operatori.
Procedura
Dopo aver effettuato l'accesso al cluster di Red Hat OpenShift, segui questi passaggi per installare l' IDOT Operator:
Facoltativo ma consigliato: creare un progetto dedicato all'operatore eseguendo il seguente comando:
oc new-project instana-otel-operatorInstallare l'operatore " IDOT " nel cluster " Red Hat OpenShift " eseguendo il seguente comando:
helm install instana-otel-operator \ --repo https://instana.github.io/instana-otel-collector instana-otel-collector-chart-operator \ --namespace instana-otel-operator \ --create-namespace \ --set clusterName=<CLUSTER_NAME> \ --set instanaEndpoint=<INSTANA_ENDPOINT> \ --set instanaKey=<INSTANA_KEY> \ --set daemonset.enabled=true \ --set statefulset.enabled=trueVerifica l'installazione di Red Hat OpenShift : Controlla i pod dell'operatore eseguendo il seguente comando:
oc get pods -n instana-otel-operatorIn alternativa, è possibile utilizzare il
kubectlcomando se il computer utilizzato per accedere al cluster ha il comando installato:kubectl get pods -n instana-otel-operator
Disinstallazione dell'operatore " IDOT " da Red Hat OpenShift
Per disinstallare l'Operatore " IDOT " da " Red Hat OpenShift ", eseguire il seguente comando:
helm uninstall instana-otel-operator -n instana-otel-operator
Configurazione dell'operatore " IDOT "
L'operatore può essere configurato tramite valori dell' Helm, mentre le istanze del collettore tramite risorse personalizzate.
Parametri di configurazione dell'operatore
Durante l'installazione o l'aggiornamento dell'operatore è possibile impostare i seguenti parametri:
| Parametro | Descrizione | Predefinito |
|---|---|---|
replicaCount |
Numero di repliche dell'operatore | 1 |
image.repository |
Archivio immagini operatore | ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator |
image.tag |
Tag immagine operatore | Versione del grafico |
resources.limits.cpu |
Limiti della CPU per l'operatore | 100m |
resources.limits.memory |
Limiti di memoria per l'operatore | 128Mi |
resources.requests.cpu |
Richieste CPU per l'operatore | 100m |
resources.requests.memory |
Richieste di memoria per l'operatore | 64Mi |
manager.collectorImage.repository |
Repository immagini predefinito del collettore | ghcr.io/instana/instana-otel-collector |
Parametri delle risorse personalizzate del collettore
I seguenti parametri possono essere configurati nella risorsa personalizzata OpenTelemetryCollector :
| Parametro | Descrizione | Valori |
|---|---|---|
spec.mode |
Modalità di distribuzione per il collettore | daemonset, deployment, statefulset, sidecar |
spec.replicas |
Numero di repliche (modalità deployment o statefulset) | Numero intero |
spec.image |
Immagine personalizzata del collettore | Riferimento immagine |
spec.config |
OpenTelemetry Configurazione del collettore | YAML stringa |
spec.resources |
Richieste e limiti di risorse | Kubernetes specifiche delle risorse |
spec.env |
Variabili di ambiente | Matrice di variabili ambientali |
spec.volumeMounts |
Supporti di montaggio per contenitori di raccolta | Matrice di montaggi di volume |
spec.volumes |
Volumi per contenitori di raccolta | Matrice di volumi |
Esempio con limiti di risorse:
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: instana-collector
namespace: instana-otel-operator
spec:
mode: daemonset
resources:
limits:
cpu: 1.5
memory: 768Mi
requests:
cpu: 0.5
memory: 768Mi
config: |
# ... collector configuration ...
Risoluzione dei problemi
Durante l'installazione di IDOT su Kubernetes o Red Hat OpenShift potrebbero verificarsi i seguenti problemi:
L'operatore non crea collettori
Se l'operatore non sta creando pod di raccolta, verificare quanto segue:
Verificare che l'operatore sia in funzione:
kubectl get pods -n instana-otel-operator kubectl logs -n instana-otel-operator -l app.kubernetes.io/name=opentelemetry-operatorControlla l' OpenTelemetryCollectors:
kubectl get opentelemetrycollector -n instana-otel-operatorVerificare che i CRD siano installati:
kubectl get crd opentelemetrycollectors.opentelemetry.io
I pod di raccolta non si avviano
Se i pod di raccolta non si avviano, controllare quanto segue:
Controlla gli eventi del pod eseguendo il seguente comando:
kubectl describe pod -n instana-otel-operator -l app.kubernetes.io/managed-by=opentelemetry-operatorVerificare che la configurazione del collettore sia valida eseguendo il seguente comando:
kubectl get opentelemetrycollector idot-daemonset -n instana-otel-operator -o yaml kubectl get opentelemetrycollector idot-statefulset -n instana-otel-operator -o yamlVerificare la presenza di limitazioni delle risorse eseguendo il seguente comando:
kubectl top nodes kubectl top pods -n instana-otel-operatorEsegui il comando seguente per esaminare i registri del collettore:
kubectl logs -n instana-otel-operator -l app.kubernetes.io/managed-by=opentelemetry-operator
Per ulteriori indicazioni sulla risoluzione dei problemi, consultare la guida "Risoluzione dei problemi" all'indirizzo IDOT.