Para asegurarte de que los recursos de tu organización no usen el agente de inicio de contenedor obsoleto y los metadatos gce-container-declaration relacionados, Google recomienda que apliques una política de la organización. La restricción administrada compute.managed.disableVmsWithContainerStartupAgent, cuando se aplica, inhabilita la creación de recursos que usan los metadatos obsoletos.
En este documento, se describe cómo hacer lo siguiente:
- Aplicar una política de la organización para inhabilitar la creación de instancias de Compute Engine que usan el agente de inicio de contenedor
- Supervisar el impacto de la política de la organización mediante la aplicación de la política en modo de ejecución de prueba
- Identificar los proyectos que intentan usar el agente obsoleto con el Explorador de registros
Aplica la política de la organización para inhabilitar la creación de VMs que usan los metadatos del contenedor
Para evitar la creación de recursos que usan el agente de inicio de contenedor obsoleto,
Google recomienda que apliques una política de la organización.
La restricción constraints/compute.managed.disableVmsWithContainerStartupAgent impide que se creen recursos nuevos con la clave de metadatos gce-container-declaration. Esta restricción no afecta las instancias ni las plantillas de instancias existentes.
Puedes aplicar esta restricción con la Google Cloud consola, Google Cloud CLI o la API de Compute Engine.
Console
Para configurar la política de la organización con la consola, completa los siguientes pasos:
En la Google Cloud consola, accede a la página Políticas de la organización.
En el selector de proyectos, selecciona el proyecto, la organización o la carpeta para la que deseas editar las políticas de la organización.
En la página Políticas de la organización , se muestra una lista de las restricciones de políticas de la organización disponibles.
Selecciona la restricción Inhabilitar la creación de instancias de Compute Engine que usan el agente de inicio de contenedor obsoleto (konlet) de la lista de restricciones. En la página Detalles de la política que aparece, se describe la restricción y se proporciona información sobre cómo se aplica.
Si deseas actualizar las políticas de la organización para este recurso, haz clic en Administrar política.
En la página Editar política, haz clic en Anular la política superior de.
Selecciona Agregar una regla.
En Aplicación, selecciona Activado.
De manera opcional, para obtener una vista previa del impacto del cambio en la política de la organización antes de que se aplique, haz clic en Probar cambios. Para obtener más información sobre cómo probar los cambios en las políticas de la organización, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.
Para aplicar la política de la organización en modo de ejecución de prueba, haz clic en Establecer política de ejecución de prueba. Para obtener más información, consulta Crea una política de la organización en modo de ejecución de prueba a partir de una política activa.
Luego de verificar que la política de la organización en el modo de ejecución de prueba funciona según lo previsto, haz clic en Configurar política para configurar la política activa.
gcloud
Crea un archivo YAML para definir la política de la organización.
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueReemplaza lo siguiente:
RESOURCE_TYPEpororganizations,foldersoprojects.RESOURCE_IDpor el ID de la organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE.
En el siguiente ejemplo, se muestra un archivo YAML que aplica la política de la organización para el proyecto con un ID de
123456:name: projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueDe manera opcional, para que la política de la organización dependa de una etiqueta, agrega un bloque
conditiona lasrules. Si agregas una regla condicional a una política de la organización, debes agregar al menos una regla incondicional o no se podrá guardar la política. Para obtener más detalles, consulta Cómo configurar una política de la organización con etiquetas.Ejecuta el
org-policies set-policycomando con la marcadryRunSpecpara configurar la política de la organización en modo de ejecución de prueba:gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpecReemplaza
POLICY_PATHpor la ruta de acceso completa al archivo YAML de la política de la organización.Para obtener más información sobre las políticas de la organización de ejecución de prueba, consulta Crea una política de la organización en modo de ejecución de prueba.
Usa el
policy-intelligence simulate orgpolicycomando para obtener una vista previa del impacto del cambio en la política de la organización antes de que se aplique:gcloud policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --policies=POLICY_PATHReemplaza lo siguiente:
ORGANIZATION_IDpor el ID de tu organización, como1234567890123. No se admite la simulación de cambios en varias organizaciones.POLICY_PATHpor la ruta de acceso completa al archivo YAML de la política de la organización.
Para obtener más información sobre cómo probar los cambios en las políticas de la organización, consulta Prueba los cambios en las políticas de la organización con Policy Simulator.
Luego de verificar que la política de la organización en modo de ejecución de prueba funciona según lo previsto, configura la política activa con el comando
org-policies set-policyy la marcaspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specReemplaza
POLICY_PATHpor la ruta de acceso completa al archivo YAML de la política de la organización.
REST
Para configurar la política de la organización, usa el
organizations.policies.create
método.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
El cuerpo JSON de la solicitud contiene la definición de una política de la organización.
Si esta restricción no admite parámetros, omite el bloque parameters en rules.
{
"name": "RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
Reemplaza lo siguiente:
RESOURCE_TYPEpororganizations,foldersoprojects.RESOURCE_IDpor el ID de la organización, el ID de la carpeta, el ID del proyecto o el número del proyecto, según el tipo de recurso especificado enRESOURCE_TYPE.
En el siguiente ejemplo, se muestra un cuerpo de solicitud que aplica la política de la organización para el proyecto con un ID de 123456:
{
"name": "projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
```
Optionally, to make the organization policy conditional on a tag, add a
`condition` block to the `rules`. If you add a conditional rule to an
organization policy, you must add at least one unconditional rule or the
policy cannot be saved. For more details, see
[Setting an organization policy with tags](/resource-manager/docs/organization-policy/tags-organization-policy).
For more information about dry-run organization policies, see
[Create an organization policy in dry-run mode](/resource-manager/docs/organization-policy/dry-run-policy).
Supervisa el uso de los metadatos obsoletos mediante la aplicación de la política en modo de ejecución de prueba
En lugar de aplicar directamente la política, que bloquea la creación de instancias que usan los metadatos de declaración de contenedor, puedes aplicar la política en modo de ejecución de prueba. Esta configuración te permite supervisar y registrar cualquier acción que la política pueda bloquear, sin interferir con las operaciones. Para obtener más información, consulta Crea una política de la organización en modo de ejecución de prueba.
Cuando una acción activa la política de ejecución de prueba (por ejemplo, si intentas
crear una instancia con la clave de metadatos gce-container-declaration), se genera una entrada de registro
en los registros de auditoría de Cloud.
Para identificar los proyectos que intentan usar el agente obsoleto, completa los siguientes pasos:
En la Google Cloud consola de, accede a la página Explorador de registros.
En el panel Consulta, ingresa la siguiente consulta:
protoPayload.metadata.dryRun="true" protoPayload.methodName="CheckOrgPolicy" protoPayload.resourceName =~ "/compute.managed.disableVmsWithContainerStartupAgent"Haz clic en Ejecutar consulta.
Identifica los proyectos que intentan usar el agente obsoleto revisando las entradas de registro. Los registros de incumplimientos de ejecución de prueba tienen las siguientes características:
- Están relacionados con
orgpolicy.googleapis.com. - El campo
protoPayload.metadata.dryRunestá configurado comotrue. - La restricción
constraints/compute.managed.disableVmsWithContainerStartupAgentse incluye en los detalles del incumplimiento.
- Están relacionados con
Revisa la información en los registros de auditoría para comprender dónde y por qué aún se usa el agente obsoleto. Esta información puede guiar los esfuerzos para migrar esas cargas de trabajo a alternativas compatibles.
Luego de verificar que la política de la organización en modo de ejecución de prueba funciona según lo previsto, aplica la política cambiando el estado de aplicación del modo de ejecución de prueba a activo.
Para obtener más información sobre el uso del Explorador de registros, consulta Visualiza registros con el Explorador de registros.
¿Qué sigue?
- Obtén información para migrar contenedores que se implementaron en VMs durante la VM VMs.