CSI-drivers: Logbestanden verzamelen
Summary: In dit artikel wordt uitgelegd hoe u de basislogboeken verzamelt om te beginnen met het oplossen van een probleem met de Dell Container Storage Modules (CSM) reeks: CSI-drivers (Dell Container Storage Interface) ...
Instructions
Verzameling van CSI-driverlogboeken
Dit bestaat uit het inschakelen van foutopsporing, het reproduceren van het probleem indien mogelijk, het verzamelen van logboeken voor de CSI Driver-controller, het verzamelen van logboeken van knooppuntpod.
kubectl opdrachten kunnen worden vervangen door "oc" in OpenShift-omgevingen.
Schakel foutopsporingslogboeken in voor de CSI Driver-controller en knooppuntpods.
Zie de functie "Dynamic Logging Configuration" in de documentatie: https://dell.github.io/csm-docs/docs/csidriver
Bepaal de namen van de controller en knooppuntpods.
Gebruik de knop kubectl get pods opdracht om de pods in de drivernaamruimte weer te geven.
# kubectl get pods -n isilon NAME READY STATUS RESTARTS AGE isilon-controller-66d7d9d7c-6j6f4 6/6 Running 0 11m isilon-node-9wngk 2/2 Running 0 27d
Verzamel CSI Driver Controller-logboeken.
Er moeten logboeken worden verzameld voor de controllerpods. Verzamel logboeken van alle controllers met behulp van de kubectl logs bevelen. Zorg ervoor dat u de relevante container passeert, zoals de chauffeur.
kubectl logs -n <namespace> <controller> <container> > <file name>
Voorbeeld:
kubectl logs -n isilon isilon-controller-66d7d9d7c-6j6f4 driver > isilon-controller-66d7d9d7c-6j6f4_driver.log
Herhaal dit voor alle vereiste containers met betrekking tot uw probleem (attacher, snapshotter, provisioner, driver, resizer, enzovoort). Zorg ervoor dat u de bestandsnaam van het uitvoerbestand wijzigt zodat deze overeenkomt met de controllernaam en container.
Verzamel podlogbestanden voor CSI-driverknooppunten.
De logboeken moeten ook worden verzameld voor de werkknooppunten. Dit kan één knooppunt zijn, of het kunnen meerdere knooppunten zijn als een probleempod van het ene knooppunt naar het andere wordt verplaatst. Dit verzamelt de logboeken voor elk van de containers op de CSI Driver-knooppuntpod (driver, registrar, enzovoort):
kubectl logs -n <namespace> <worker node> > <filename>.txt
Voorbeeld:
kubectl logs -n isilon isilon-node-9wngk driver > isilon-node-9wngk_driver.txt kubectl logs -n isilon isilon-node-9wngk registrar > isilon-node-9wngk_registrar.txt
Alternatieven
Script:
dit genereert alle controllerlogboeken afzonderlijk (wijzig de naamruimte "isilon" indien nodig op 2 plaatsen) en voeg containers toe zoals vereist.
for x in $(kubectl get pods -n isilon | grep controller | awk '{print $1}'); do for i in attacher provisioner driver snapshotter;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done
Dit verzamelt knooppuntlogboeken (wijzig de naamruimte "isilon" indien nodig op twee plaatsen) en voeg zo nodig containers toe.
for x in $(kubectl get pods -n isilon | grep node | awk '{print $1}'); do for i in driver registrar;do kubectl logs -n isilon $x -c $i > $x-$i.txt;done;done
Sinds optie
Het verzamelen van alle logboeken kan meer gegevens opleveren dan nodig is. Het "--since" optie kan worden gebruikt om te verzamelen voor een bekende hoeveelheid tijd. Deze optie wordt gevolgd door "5 s", "5 m" of "5 h" gedurende seconden, minuten, uren, afhankelijk van hoe ver terug de logboekverzameling moet gaan. Dit is ook handig als het probleem is gereproduceerd, de logbestanden van de laatste 5 minuten verzamelen (of de tijd die nodig was om te reproduceren):
Voorbeeld:
kubectl logs -n isilon isilon-node-xxx driver --since 5m > isilon-node-xxx_driver.txt
Alle containers
Het is nuttig om bij het oplossen van problemen de logboeken afzonderlijk te verzamelen, zoals hierboven beschreven. Soms wordt de containernaam vervangen door "--all-containers" Het kan handig zijn om de logboeken van alle containers van de pod te verzamelen.
Voorbeeld:
kubectl logs -n isilon isilon-node-xxx --all-containers> isilon-node_driver.txt
Overige vereiste informatie:
Container Orchestrator (K8s, OpenShift, enzovoort) en versie
Kubernetes-versie en -smaak
Driverversie
Arrayversie of microcode
K8-knooppunten Besturingssysteem en versie
Additional Information
De implementaties weergeven:
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
csi-powerscale isilon-controller 1/1 1 14d
powermax powermax-controller 1/1 1 1 26d
unity-controller 1/1 1 1 47d
vxflexos vxflexos-controller 2/2 2 2 107d
-Naam:
X_CSI_DEBUG waarde: "true"
Voor Isilon moet de inhoud van de OneFS REST API ook worden vastgelegd in debug door in te stellen op 0 (true):
-Naam:
X_CSI_VERBOSE waarde: "0"
Enable CSI Driver node debug logs by edit the daemonset.
Foutopsporing wordt ingeschakeld door de daemonset te bewerken.
De daemonsets weergeven:
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
csi-powerscale isilon-node 2 2 2 2 < dragone> 14d
powermax powermax powermax-node 2 2 2 2 2 < dragone> 26d
unity unity-node 2 2 2 2 2 vxflexos vxflexos-node 2 2 2 2 2
-Naam:
X_CSI_DEBUG waarde: "waar"
Voor Isilon moet de inhoud van de OneFS REST API ook worden vastgelegd in debug door in te stellen op 0 (true):
-Naam:
X_CSI_VERBOSE waarde: "0"
Aangezien foutopsporingslogboeken niet met terugwerkende kracht zijn, reproduceert u het probleem indien mogelijk voordat u logboeken verzamelt.