Si creaste VMs de Compute Engine con el agente de operaciones instalado durante la creación o, en algunos casos, si instalaste el agente en las VM existentes mediante la consola de Google Cloud, entonces Google Cloud también creó políticas del SO de VM Manager que instalan y supervisan el agente de operaciones. En este documento, se describe cómo consultar esas políticas del SO del agente de operaciones y administrar el agente de operaciones en las VMs cubiertas por las políticas. Si deseas obtener información para crear VMs con el agente de operaciones instalado de forma automática, consulta Instala el agente de operaciones durante la creación de la VM.
Después de crear una política del SO del agente de operaciones, puedes hacer lo siguiente:
- Determina qué VMs cubre la política.
- Determina qué zonas cubre la política.
- Extiende la cobertura de políticas a las VMs existentes.
- Desinstala el agente de una VM cubierta por la política.
Busca las VMs que cubren las políticas del SO del agente de operaciones
Puedes usar la consola de Google Cloud o Google Cloud CLI para ver qué VMs de tu proyecto de Google Cloud están cubiertas por las políticas del SO del agente de operaciones a través de una asignación de política del SO. Si crees que a una VM le falta cobertura, puedes solucionar el problema si haces lo siguiente:
- Verifica que una VM tenga una etiqueta de política del SO del agente de operaciones.
- Verifica que la asignación de política del SO del agente de operaciones se haya lanzado de forma correcta.
Verifica que la política del SO del agente de operaciones esté asignada a las VMs de una zona
Para verificar que las VMs de una zona estén cubiertas por la política del SO del agente de operaciones, usa la consola de Google Cloud o gcloud CLI para ver si la VM está relacionada con una asignación de política del SO del agente de operaciones.
Console
-
En la consola de Google Cloud, ve a la página Políticas del SO:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.
En la pestaña Instancias de VM, selecciona la VM que deseas verificar.
Si la VM está cubierta por una política del SO del agente de operaciones, la columna ID de política del SO incluye
goog-ops-agent-policy
y el estado es “Conforme”.
gcloud
Para mostrar una lista de las asignaciones de políticas del SO del agente de operaciones 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 VMs 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 un valor de "1/1 políticas conformes".
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
Verifica que una VM tenga una etiqueta de política del SO del agente de operaciones
Para ver qué VMs de tu proyecto de Google Cloud tienen la etiqueta de política del SO del agente de operaciones, goog-ops-agent-policy
, usa la consola de Google Cloud o gcloud CLI.
Console
-
En la consola de Google Cloud, 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 es 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 del SO del agente de operaciones, tiene 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 goog-ops-agent-policy
del SO de agentes de operaciones, ejecuta el siguiente comando:
gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"
El resultado muestra 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 del 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 para tu VM. Si tu VM tiene la etiqueta de política del SO del agente de operaciones, goog-ops-agent-policy
aparece en la lista labels
. Por ejemplo:
labels: goog-ops-agent-policy: v2-x86-template-1-0-0
Verifica que se haya lanzado de forma correcta una asignación de política de SO del agente de operaciones
Visualiza las asignaciones de políticas del SO del proyecto de Google Cloud para verificar que una asignación de política del SO del agente de operaciones se haya implementado de forma correcta en una zona específica.
Console
-
En la consola de Google Cloud, ve a la página Políticas del SO:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.
Para ver el estado de los lanzamientos de las políticas del SO, haz clic en la pestaña Asignaciones de políticas del SO.
Las asignaciones de políticas del SO del agente de operaciones tienen IDs que comienzan con la string “goog-ops-agent”. Si la asignación se lanzó de forma correcta, tendrá el estado de lanzamiento "Succeeded".
gcloud
Para ver todas las asignaciones de políticas del SO del agente de operaciones 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 del SO del agente de operaciones en una zona. Si la asignación se lanzó de forma correcta, tendrá el estado de lanzamiento "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 específica del SO del agente de operaciones, ejecuta el siguiente comando:
gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE
Desinstala el agente de operaciones en las VMs cubiertas por la política del SO del agente de operaciones
Si desinstalas el agente de operaciones de forma manual en una VM 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. Después de quitar la etiqueta de política del SO del agente de operaciones de una VM, puedes desinstalar el agente de operaciones de forma permanente.
Desinstala el agente de operaciones en una VM específica
Para quitar la política y desinstalar el agente de operaciones de una VM específica, puedes usar la consola de Google Cloud o gcloud CLI.
Console
-
En la consola de Google Cloud, 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 es Compute Engine.
Selecciona el nombre de la VM que deseas editar.
Haz clic en Editar.
Ve a la sección Etiquetas y haz clic en + Agregar etiquetas.
Ubica la etiqueta con la clave
goog-ops-agent-policy
y haz clic en Borrar elemento.
gcloud
Para quitar la etiqueta
goog-ops-agent-policy
de una VM, ejecuta el siguiente comando:gcloud compute instances update VM_NAME \ --remove-labels=goog-ops-agent-policy
Desinstala el agente de operaciones en todas las VMs
Para desinstalar el agente de operaciones de VMs en la zona que tiene una asignación de política del SO del agente de operaciones, usa la secuencia de comandos que proporciona Cloud Monitoring. No puedes desinstalar el agente de un grupo de VMs mediante la consola de Google Cloud.
Para ejecutar la secuencia de comandos, debes tener el rol de editor de GuestPolicy (roles/osconfig.guestPolicyEditor
).
Ejecuta la siguiente secuencia de comandos en Cloud Shell. Puedes proporcionar cualquier cantidad de zonas:
curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh bash undo-ops-agent-policies.sh ZONE1 ZONE2
La secuencia de comandos realiza las siguientes tareas en cada zona:
- Busca todas las políticas del SO del agente de operaciones.
- Edita cada política para que desinstale el agente de operaciones en las VMs cubiertas.
- Borra la política del SO del agente de operaciones.
- Quita la etiqueta
goog-ops-agent-policy
de cada VM cubierta.
Agrega la cobertura de la política del SO del agente de operaciones a una VM existente
La política del SO del agente de operaciones solo abarca las VMs que tienen la etiqueta goog-ops-agent-policy
y están en la misma zona que una asignación de política del SO del agente de operaciones existente. Sin embargo, puedes extender la cobertura a otras VMs creadas sin la política del SO del agente de operaciones asignada.
Para extender la cobertura de políticas a una VM, debes conocer la versión de plantilla de la asignación de política del SO del agente de operaciones en tu zona. Si tu zona tiene varias asignaciones de políticas del SO del agente de operaciones, busca la asignación con la versión de plantilla más reciente. Para mostrar una lista de las asignaciones de políticas del SO del agente de operaciones en una zona, ejecuta el siguiente comando:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Para extender la cobertura de políticas a otras VMs, usa la consola de Google Cloud o gcloud CLI:
Console
-
En la consola de Google Cloud, 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 es Compute Engine.
En la lista Instancias de VM, selecciona las casillas de verificación junto a las VMs que deseas etiquetar y, luego, haz clic en Etiquetas.
Para agregar etiquetas, haz clic en Agregar etiqueta y agrega el par clave-valor. La clave debe ser
goog-ops-agent-policy
y el valor es la versión de la plantilla deseada, como1-0-0
.Guarda los cambios.
gcloud
Para extender la cobertura de políticas a una VM sin cobertura, 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 VM Manager y requiere permisos para activar la API de VM Manager 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 otorgue 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 VMs existentes:
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 IAM, excepto el 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 otorgar a través de gcloud CLI.
Comandos de muestra para otorgar roles para los permisos:
gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectBillingConfigEditor'