Fehlerbehebung beim „ Instana “-Agenten auf Red Hat OpenShift
Lösungen für häufig auftretende Probleme mit dem Host-Agent finden Sie unter Red Hat OpenShift :
Die Neuinstallation des Agenten schlägt mit einer Fehlermeldung fehl
Wenn die Neuinstallation mit der folgenden Meldung fehlschlägt, löschen Sie die Objekte auf Clusterebene des Agenten, bevor Sie den Agenten neu installieren:
installation Instana Agent failed: rendered manifests contain a resource that already exists. Unable to continue with install: ...
Weitere Informationen zum Löschen der Objekte des Agenten auf Cluster-Ebene finden Sie unter „Deinstallation des Agenten “
Agent-Pods sind nicht eingeplant
Nachdem Sie den „ Instana “-Agenten, das „ Helm “-Chart oder den Operator installiert haben, stellen Sie möglicherweise fest, dass die Agent-Pods nicht wie instana-agent-<xxxxx> erwartet bereitgestellt werden. Dieses Problem könnte durch fehlende Berechtigungen verursacht werden.
Nach der Installation kann es zu einer kurzen Verzögerung kommen, bevor die Knoten sichtbar sind. Diese Verzögerung entsteht, weil der Mitarbeiter erst mit der Berichterstattung beginnen muss. Wenn das Problem jedoch auf fehlende Berechtigungen zurückzuführen ist, werden Sie feststellen, dass auf der Registerkarte „Infrastruktur“ im Cluster „ Kubernetes “ auch einige Minuten nach der Installation keine Knoten angezeigt werden.
Bei einer fehlerhaften Installation werden nur die k8sensor Pods geplant, und die Agent-Pods sind nicht sichtbar.
$ kubectl get pods -n instana-agent
NAME READY STATUS RESTARTS AGE
controller-manager-5775896db6-v5qh7 1/1 Running 0 2m52s
controller-manager-5775896db6-zrd7l 1/1 Running 0 2m52s
instana-agent-k8sensor-76db46875c-px8cj 1/1 Running 0 2m48s
instana-agent-k8sensor-76db46875c-xknnw 1/1 Running 0 2m48s
instana-agent-k8sensor-76db46875c-zdrt9 1/1 Running 0 2m48s
Sie können den Agenten „Daemonset“ beschreiben, um das Problem zu identifizieren. Sehen Sie sich das folgende Beispiel an:
$ kubectl get ds -n instana-agent
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
instana-agent 3 0 0 0 0 <none> 3m11s
$ kubectl describe ds instana-agent -n instana-agent
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedCreate 7m27s (x3 over 7m27s) daemonset-controller Error creating: pods "instana-agent-" is forbidden: error looking up service account instana-agent/instana-agent: serviceaccount "instana-agent" not found
Warning FailedCreate 2m (x14 over 7m27s) daemonset-controller Error creating: pods "instana-agent-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .spec.securityContext.hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .spec.securityContext.hostPID: Invalid value: true: Host PID is not allowed to be used, spec.volumes[0]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[1]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[2]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[3]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[4]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[5]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[6]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[7]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, provider restricted-v2: .containers[0].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .containers[0].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[0].containers[0].hostPort: Invalid value: 42699: Host ports are not allowed to be used, provider restricted-v2: .containers[0].containers[0].hostPort: Invalid value: 55680: Host ports are not allowed to be used, provider restricted-v2: .containers[0].containers[0].hostPort: Invalid value: 4317: Host ports are not allowed to be used, provider restricted-v2: .containers[0].containers[0].hostPort: Invalid value: 4318: Host ports are not allowed to be used, provider restricted-v2: .containers[0].hostPID: Invalid value: true: Host PID is not allowed to be used, provider "restricted": Forbidden: not usable by user or serviceaccount, provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]
Um das Problem zu beheben, fügen Sie dem instana-agent Dienstkonto die Sicherheitskontextbeschränkung privileged hinzu, indem Sie den folgenden Befehl ausführen:
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
Kubernetes Es wird versucht, die ausgefallenen Pods in regelmäßigen Abständen neu zu planen, und die Agent-Pods werden in den folgenden Iterationen bereitgestellt. Um diesen Vorgang zu beschleunigen, können Sie den Agent- DaemonSet, manuell löschen; der Instana-Agent-Operator stellt dann einen neuen DaemonSet bereit. Sehen Sie sich das folgende Beispiel an:
$ kubectl delete ds instana-agent -n instana-agent
daemonset.apps "instana-agent" deleted
$ kubectl get pods -n instana-agent
NAME READY STATUS RESTARTS AGE
controller-manager-5775896db6-v5qh7 1/1 Running 0 18m
controller-manager-5775896db6-zrd7l 1/1 Running 0 18m
instana-agent-5592d 1/1 Running 0 19s
instana-agent-8qh9g 1/1 Running 0 19s
instana-agent-k8sensor-76db46875c-px8cj 1/1 Running 0 18m
instana-agent-k8sensor-76db46875c-xknnw 1/1 Running 0 18m
instana-agent-k8sensor-76db46875c-zdrt9 1/1 Running 0 18m
instana-agent-rngh4 1/1 Running 0 19s
$ kubectl get ds -n instana-agent
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
instana-agent 3 3 3 3 3 <none> 24s
Allgemeine Informationen zur Fehlerbehebung für alle Host-Agenten finden Sie unter „Verwalten von Host-Agenten: Fehlerbehebung “.