Determina qué implementación del operador de AlloyDB Omni se analizará. El operador de AlloyDB Omni incluye dos implementaciones, y puedes analizar el heap de memoria de cualquiera de ellas. Para identificar las dos implementaciones, ejecuta el siguiente comando:
kubectl get deployment -n alloydb-omni-system
El resultado muestra las dos implementaciones en el espacio de nombres
alloydb-omni-system
:fleet-controller-manager
local-controller-manager
Puedes obtener el heap de memoria de cualquiera de las implementaciones. A modo de demostración, estos pasos muestran cómo obtener el heap de memoria para la implementación de
local-controller-manager
.Para activar el análisis de memoria, especifica un puerto disponible para usar. Una vez que se especifica el puerto, se reinicia el Pod. Para especificar un puerto disponible, usa el argumento
pprof-address
en la implementación:Ejecuta el siguiente comando para abrir la implementación en un editor de texto:
kubectl edit -n alloydb-omni-system deploy local-controller-manager
Especifica el puerto en el
args
de la seccióncontainer
en la plantillaspec
:apiVersion: apps/v1 kind: Deployment spec: ... template: ... spec: containers: - args - --pprof-address=:PORT
Guarda el archivo de implementación. Después de guardar el archivo de implementación, se reinicia el pod.
Espera a que se reinicie el pod antes de continuar con el siguiente paso.
Para asegurarte de que se reinició el pod, ejecuta el siguiente comando:
kubectl get pod -n alloydb-omni-system
Verifica que el valor de salida en la columna
STATUS
del pod seaRunning
y que el valor de salida en su columnaAGE
sea una duración corta. Por ejemplo, si la columnaSTATUS
esRunning
y el valor de la columnaAGE
es50s
, el pod se ejecutó durante 50 segundos después del reinicio.Activa la redirección de puertos con el siguiente comando:
kubectl port-forward -n alloydb-omni-system DEPLOYMENT_POD_NAME PORT:PORT
Reemplaza DEPLOYMENT_POD_NAME por el nombre de tu implementación tal como aparece en la columna
NAME
del resultado del siguiente comando:kubectl get pod -n alloydb-omni-system
En otra terminal, ejecuta el siguiente comando para crear un archivo con una instantánea del heap de memoria de la implementación:
curl http://localhost:PORT/debug/pprof/heap > heap.out
Guarda el archivo
heap.out
y úsalo para ver el heap de memoria de la implementación del operador de AlloyDB Omni que elegiste analizar.Para desactivar el análisis de memoria, quita el argumento
pprof-address
con el puerto que usaste de la implementación:Abre la implementación en un editor de texto:
kubectl edit -n alloydb-omni-system deploy local-controller-manager
Quita la línea del puerto
--pprof-address=:PORT
deargs
de la seccióncontainer
en la plantillaspec
que agregaste antes.
¿Qué sigue?
- Administra y supervisa AlloyDB Omni
- Cómo generar y diagnosticar archivos de volcado de AlloyDB Omni
- Más información sobre la administración automática de la memoria