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-system
Die Ausgabe zeigt die beiden Deployments im Namespace
alloydb-omni-system
:fleet-controller-manager
local-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-address
im 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-manager
Geben Sie den Port im
args
descontainer
-Abschnitts in der Vorlagespec
an:apiVersion: apps/v1 kind: Deployment spec: ... template: ... spec: containers: - args - --pprof-address=:PORT
Speichern 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-system
Prüfen Sie, ob der Ausgabewert in der Spalte
STATUS
des PodsRunning
ist und der Ausgabewert in der SpalteAGE
eine kurze Dauer hat. Wenn die SpalteSTATUS
beispielsweiseRunning
ist und der Wert in der SpalteAGE
50s
lautet, 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:PORT
Ersetzen Sie DEPLOYMENT_POD_NAME durch den Namen Ihres Deployments, wie er in der Spalte
NAME
der Ausgabe des folgenden Befehls angezeigt wird:kubectl get pod -n alloydb-omni-system
Fü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.out
Speichern 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-address
mit dem verwendeten Port aus der Bereitstellung entfernen:Öffnen Sie die Bereitstellung in einem Texteditor:
kubectl edit -n alloydb-omni-system deploy local-controller-manager
Entfernen Sie die Zeile mit dem Port
--pprof-address=:PORT
aus demargs
des Abschnittscontainer
in 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