Si has creado VMs de Compute Engine con el agente de operaciones instalado durante la creación o, en algunos casos, si has instalado el agente en VMs ya creadas mediante la Google Cloud consola, Google Cloud también has creado políticas de SO de VM Manager que instalan y monitorizan el agente de operaciones. En este documento se describe cómo consultar esas políticas de SO del agente de operaciones y cómo gestionar el agente de operaciones en las VMs cubiertas por las políticas. Para obtener información sobre cómo crear VMs con el agente de operaciones instalado automáticamente, consulta Instalar el agente de operaciones durante la creación de VMs.
Una vez que se haya creado una política de SO de Ops Agent, puedes hacer lo siguiente:
- Determina qué VMs están cubiertas por la política.
- Determina qué zonas cubre la política.
- Amplía la cobertura de la política a las máquinas virtuales.
- Desinstala el agente de una máquina virtual cubierta por la política.
Buscar VMs cubiertas por políticas de SO de Agente de operaciones
Puedes usar la Google Cloud consola o la CLI de Google Cloud para ver qué VMs de tu Google Cloud proyecto están cubiertas por las políticas de SO de Ops Agent mediante una asignación de políticas de SO. Si crees que falta cobertura en una máquina virtual, puedes solucionar el problema haciendo lo siguiente:
- Verificar que una VM tiene una etiqueta de política de SO de Ops Agent
- Verifica que se haya implementado correctamente una asignación de política de SO de Ops Agent.
Verificar que se ha asignado una política de SO del agente de operaciones a las VMs de una zona
Para verificar que las VMs de una zona están cubiertas por la política de SO del agente de operaciones, usa la Google Cloud consola o la CLI de gcloud para ver si la VM está relacionada con una asignación de política de SO del agente de operaciones.
Consola
-
En la Google Cloud consola, ve a la página Políticas de SO:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Compute Engine.
En la pestaña Instancias de VM, selecciona la VM que quieras comprobar.
Si la VM está cubierta por una política de SO de Ops Agent, la columna ID de política de SO incluye
goog-ops-agent-policy
y el estado es "Cumple los requisitos".
gcloud
Para mostrar una lista de las asignaciones de políticas de SO de Ops Agent en una zona, ejecuta el siguiente comando:
gcloud compute os-config os-policy-assignment-reports list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
El resultado muestra una lista de máquinas virtuales con una asignación de política de SO del agente de operaciones. Si el agente de operaciones está instalado en la VM, la columna Resumen tiene el valor "1/1 políticas cumplidas".
INSTANCE ASSIGNMENT_ID LOCATION UPDATE_TIME SUMMARY instance-1 goog-ops-agent-v2-x86-template-1-0-0-us-east4-c us-east4-c 2023-04-28T02:11:15.118088Z 1/1 policies compliant instance-3 goog-ops-agent-v2-x86-template-1-0-0-us-east4-c us-east4-c 2023-04-28T02:11:15.118088Z 1/1 policies compliant
Verificar que una VM tiene una etiqueta de política de SO de Ops Agent
Para ver qué VMs de tu proyecto Google Cloud tienen la etiqueta de política de SO de Agente de operaciones, goog-ops-agent-policy
, usa la consola Google Cloud o la CLI de gcloud.
Consola
-
En la Google Cloud consola, ve a la página Instancias de VM:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Compute Engine.
Selecciona el nombre de tu VM.
En el panel Información básica, busca la entrada Etiquetas.
Si la VM está cubierta por la política de SO del agente de operaciones, tendrá una etiqueta como
goog-ops-agent-policy:v2-x86-template-1-0-0
.
gcloud
Para ver todas las VMs que tienen la etiqueta de política de SO del agente de operaciones
goog-ops-agent-policy
, ejecuta el siguiente comando:
gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"
En la salida se muestran el nombre, la zona y las etiquetas de las VMs. Por ejemplo:
NAME ZONE LABELS test-vm1 us-central1-a {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'} test-vm1 us-east4-c {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'}
Para ver si una VM específica tiene la etiqueta de política de SO del agente de operaciones, ejecuta el siguiente comando:
gcloud compute instances describe --format "yaml(labels)" --zone=ZONE VM_NAME
El resultado muestra una lista de etiquetas de tu máquina virtual. Si tu VM tiene la etiqueta de política de SO del Agente de operaciones, goog-ops-agent-policy
aparecerá en la lista labels
. Por ejemplo:
labels: goog-ops-agent-policy: v2-x86-template-1-0-0
Verificar que una asignación de política de SO de Ops Agent se ha implementado correctamente
Consulta las Google Cloud asignaciones de políticas de SO de tu proyecto para verificar que se haya desplegado correctamente una asignación de política de SO de Ops Agent en una zona específica.
Consola
-
En la Google Cloud consola, ve a la página Políticas de SO:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Compute Engine.
Para ver el estado de las implementaciones de políticas de SO, haz clic en la pestaña Asignaciones de políticas de SO.
Las asignaciones de políticas de SO del agente de Ops tienen IDs que empiezan por la cadena "goog-ops-agent". Si la asignación se ha implementado correctamente, tendrá el estado "Succeeded".
gcloud
Para ver todas las asignaciones de políticas de SO de Ops Agent en una zona, ejecuta el siguiente comando:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
El resultado muestra una lista de asignaciones de políticas de SO de Ops Agent en una zona. Si la asignación se ha implementado correctamente, tendrá el estado de implementación "SUCCEEDED". Por ejemplo:
ASSIGNMENT_ID ROLLOUT_STATE REVISION_CREATE_TIME REVISION_ID goog-ops-agent-v2-x86-template-1-4-0-us-central1-b SUCCEEDED 2023-01-28T05:23:41Z. 940df3e9-77fd-470b-84df-53fb24825c4a goog-ops-agent-v2-x86-template-1-0-0-us-central1-b SUCCEEDED 2022-01-28T05:23:41Z. qwareaff-efte-erew-aeet-faer234t4gga
Para ver los detalles de una asignación de política de SO de Ops Agent específica, ejecuta el siguiente comando:
gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE
Desinstalar el agente de operaciones en las VMs cubiertas por la política de SO del agente de operaciones
Si desinstalas manualmente el agente de operaciones en una máquina virtual cubierta por la política del SO del agente de operaciones, la política lo volverá a instalar. Para desinstalar el agente de operaciones, primero debes quitar la etiqueta goog-ops-agent-policy
de la VM. Una vez que hayas quitado la etiqueta de política de SO del agente de operaciones de una VM, puedes desinstalar el agente de operaciones de forma permanente.
Desinstalar el agente de operaciones en una máquina virtual específica
Para quitar la política y desinstalar el agente de operaciones de una VM específica, puedes usar la Google Cloud consola o la CLI de gcloud.
Consola
-
En la Google Cloud consola, ve a la página Instancias de VM:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Compute Engine.
Selecciona el nombre de la máquina virtual que quieras editar.
Haz clic en Editar.
Ve a la sección Etiquetas y haz clic en + Añadir etiquetas.
Busca la etiqueta con la llave
goog-ops-agent-policy
y haz clic en Eliminar elemento.
gcloud
Para quitar la etiqueta
goog-ops-agent-policy
de una máquina virtual, ejecuta el siguiente comando:gcloud compute instances update VM_NAME \ --remove-labels=goog-ops-agent-policy
Desinstalar el agente de operaciones en todas las máquinas virtuales
Para desinstalar el agente de operaciones de las VMs de una zona que tenga una asignación de política de SO del agente de operaciones, usa la secuencia de comandos proporcionada por Cloud Monitoring. No puedes desinstalar el agente de un grupo de VMs mediante la consola Google Cloud .
Para ejecutar la secuencia de comandos, debe tener el rol Editor de GuestPolicy (roles/osconfig.guestPolicyEditor
).
Ejecuta la siguiente secuencia de comandos en Cloud Shell. Puedes proporcionar cualquier número de zonas:
curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh bash undo-ops-agent-policies.sh ZONE1 ZONE2
El script realiza las siguientes tareas en cada zona:
- Busca todas las políticas de SO del agente de operaciones.
- Edita cada política para que desinstale el agente de operaciones en las VMs que cubre.
- Elimina la política de SO del agente de operaciones.
- Quita la etiqueta
goog-ops-agent-policy
de cada VM cubierta.
Añadir cobertura de la política de SO del agente de operaciones a una máquina virtual
La política de SO del agente de operaciones solo cubre las VMs que tienen la etiqueta goog-ops-agent-policy
y están en la misma zona que una asignación de política de SO del agente de operaciones. Sin embargo, puedes ampliar la cobertura a otras máquinas virtuales que se hayan creado sin la política de SO del agente de operaciones asignada.
Para ampliar la cobertura de una política a una VM, debes conocer la versión de la plantilla de la asignación de la política del SO del agente de operaciones en tu zona. Si tu zona tiene varias asignaciones de políticas de SO de Ops Agent, busca la asignación con la versión de plantilla más reciente. Para mostrar una lista de asignaciones de políticas de SO de Ops Agent en una zona, ejecuta el siguiente comando:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Para ampliar la cobertura de la política a otras máquinas virtuales, usa la Google Cloud consola o gcloud CLI:
Consola
-
En la Google Cloud consola, ve a la página Instancias de VM:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Compute Engine.
En la lista Instancias de VM, marca las casillas situadas junto a las VMs a las que quieras añadir etiquetas y, a continuación, haz clic en Etiquetas.
Para añadir etiquetas, haz clic en + Añadir etiqueta y añade el par clave-valor. La clave debe ser
goog-ops-agent-policy
y el valor es la versión de la plantilla que quieras, como1-0-0
.Guarda los cambios.
gcloud
Para ampliar la cobertura de la política a una VM que no la tenga, ejecuta los siguientes comandos:
gcloud compute instances update VM_NAME --zone=ZONE --update-labels=goog-ops-agent-policy:v2-x86-template-1-0-0
gcloud compute instances add-metadata VM_NAME --zone=ZONE --metadata=enable-osconfig=TRUE
Permiso
La instalación del agente de operaciones usa Gestor de VMs y requiere permisos para activar la API de Gestor de VMs y crear una política. Todos los permisos necesarios están disponibles con el rol Editor (roles/Editor
). También puedes pedirle a un administrador del proyecto que conceda los permisos mínimos mediante Google Cloud CLI.
Permisos necesarios para instalar el agente de operaciones durante la creación de la VM:
serviceusage.services.get
serviceusage.services.enable
osconfig.osPolicyAssignments.get
osconfig.osPolicyAssignments.create
osconfig.projectBillingConfigs.update
compute.instances.create
Permisos necesarios para instalar el agente de operaciones en máquinas virtuales:
serviceusage.services.get
serviceusage.services.enable
osconfig.osPolicyAssignments.get
osconfig.osPolicyAssignments.create
osconfig.projectBillingConfigs.update
compute.instances.setMetadata
compute.instances.setLabels
Puedes encontrar los roles correspondientes que proporcionan esos permisos en la referencia de roles básicos y predefinidos de gestión de identidades y accesos, con la excepción del permiso osconfig.projectBillingConfigs.update
. Este permiso se incluye en el rol osconfig.projectBillingConfig
. Este rol no está disponible en la consola de Google Cloud , pero se puede asignar a través de la CLI de gcloud.
Comandos de ejemplo para conceder roles de permisos:
gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectBillingConfigEditor'