Legen Sie fest, welche AlloyDB Omni-Operatorbereitstellung analysiert werden soll. Der AlloyDB Omni-Operator umfasst zwei Bereitstellungen und Sie können den Memory-Heap für jede davon analysieren. Führen Sie den folgenden Befehl aus, um die beiden Bereitstellungen zu identifizieren:
kubectl get deployment -n alloydb-omni-systemDie Ausgabe zeigt die beiden Deployments im Namespace
alloydb-omni-system:fleet-controller-managerlocal-controller-manager
Sie können den Speicher-Heap für jede der beiden Bereitstellungen abrufen. Zu Demonstrationszwecken wird in diesen Schritten gezeigt, wie Sie den Speicher-Heap für die
local-controller-manager-Bereitstellung abrufen.Aktivieren Sie die Arbeitsspeicheranalyse, indem Sie einen verfügbaren Port angeben. Nachdem der Port angegeben wurde, wird der Pod neu gestartet. Verwenden Sie das Argument
pprof-addressim Deployment, um einen verfügbaren Port anzugeben:Öffnen Sie die Bereitstellung in einem Texteditor, indem Sie den folgenden Befehl ausführen:
kubectl edit -n alloydb-omni-system deploy local-controller-managerGeben Sie den Port im
argsdescontainer-Abschnitts in der Vorlagespecan:apiVersion: apps/v1 kind: Deployment spec: ... template: ... spec: containers: - args - --pprof-address=:PORTSpeichern Sie die Bereitstellungsdatei. Nachdem Sie die Bereitstellungsdatei gespeichert haben, wird der Pod neu gestartet.
Warten Sie, bis der Pod neu gestartet wurde, bevor Sie mit dem nächsten Schritt fortfahren.
Führen Sie den folgenden Befehl aus, um zu prüfen, ob der Pod neu gestartet wurde:
kubectl get pod -n alloydb-omni-systemPrüfen Sie, ob der Ausgabewert in der Spalte
STATUSdes PodsRunningist und der Ausgabewert in der SpalteAGEeine kurze Dauer hat. Wenn die SpalteSTATUSbeispielsweiseRunningist und der Wert in der SpalteAGE50slautet, läuft der Pod seit dem Neustart 50 Sekunden.Aktivieren Sie die Portweiterleitung mit dem folgenden Befehl:
kubectl port-forward -n alloydb-omni-system DEPLOYMENT_POD_NAME PORT:PORTErsetzen Sie DEPLOYMENT_POD_NAME durch den Namen Ihres Deployments, wie er in der Spalte
NAMEder Ausgabe des folgenden Befehls angezeigt wird:kubectl get pod -n alloydb-omni-systemFühren Sie in einem anderen Terminal den folgenden Befehl aus, um eine Datei mit einem Snapshot des Speicher-Heaps des Deployments zu erstellen:
curl http://localhost:PORT/debug/pprof/heap > heap.outSpeichern Sie die
heap.out-Datei und verwenden Sie sie, um den Speicher-Heap der AlloyDB Omni-Operatorbereitstellung anzusehen, die Sie analysieren möchten.Deaktivieren Sie die Speicheranalyse, indem Sie das Argument
pprof-addressmit dem verwendeten Port aus der Bereitstellung entfernen:Öffnen Sie die Bereitstellung in einem Texteditor:
kubectl edit -n alloydb-omni-system deploy local-controller-managerEntfernen Sie die Zeile mit dem Port
--pprof-address=:PORTaus demargsdes Abschnittscontainerin der Vorlagespec, die Sie zuvor hinzugefügt haben.
Nächste Schritte
- AlloyDB Omni verwalten und überwachen
- AlloyDB Omni-Dumpdateien generieren und analysieren
- Informationen zur automatischen Speicherverwaltung