Muchos sistemas de software que dependen de una secuenciación cuidadosa de los eventos se basan en un reloj del sistema estable y coherente, y usan registros del sistema con marcas de tiempo para asegurar la sincronización de la hora y depurar los problemas a medida que se producen. Para mantener sincronizados los relojes del sistema, las instancias de máquina virtual (VM) de Compute Engine están preconfiguradas para usar el protocolo de tiempo de red (NTP), una solución combinada de hardware y software de sincronización de tiempo. Si es importante para tus objetivos que la sincronización de la hora sea precisa y que se monitorice su precisión, puedes configurar hora precisa en lugar de NTP para sincronizar el reloj de tu VM con el del host mediante chrony y ptp_kvm. Esta configuración se ha diseñado para conseguir una precisión de 1 ms en las configuraciones admitidas.
Tipos de máquinas admitidos
Los siguientes tipos de máquinas admiten la hora precisa:
Sistemas operativos compatibles
Los siguientes sistemas operativos admiten la hora exacta:
| SO | Versiones | Imágenes |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| Container-Optimized OS | COS 105 LTS, COS 109 LTS, COS 113 LTS, COS 117 LTS | cos-105-lts, cos-109-lts, cos-113-lts, cos-117-lts |
| Debian | 11 (Bullseye), 12 (Bookworm) | debian-11, debian-12 |
| Fedora Cloud | 39 | fedora-cloud-39 |
| RHEL - 6, 7 | 8, 9 | rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha, rhel-8-10-sap-ha, rhel-9, rhel-9-0-sap-ha, rhel-9-2-sap-ha, rhel-9-4-sap-ha |
| Rocky Linux | 8, 9 | rocky-linux-8, rocky-linux-8-optimized-gcp, rocky-linux-9-optimized-gcp, rocky-linux-9-optimized-gcp |
| SLES | 15 | sles-15, sles-15-sp2-byos, sles-15-sp2-sap, sles-15-sp3-byos, sles-15-sp3-sap, sles-15-sp4-byos, sles-15-sp4-sap, sles-15-sp5-byos, sles-15-sp5-sap |
| Ubuntu | 22.04 LTS (Jammy Jellyfish), 24.04 LTS (Noble Numbat) | ubuntu-2204-lts, ubuntu-2404-lts-amd64 |
| Ubuntu Pro | 2004 | ubuntu-pro-2004-lts, ubuntu-pro-2004-lts-amd64 |
Zonas admitidas
Las siguientes zonas admiten la hora exacta:
| Zona | Ubicación |
|---|---|
europe-west1-b |
Saint-Ghislain (Bélgica, Europa) |
europe-west1-c |
Saint-Ghislain (Bélgica, Europa) |
europe-west2-b |
Londres (Inglaterra, Europa) |
europe-west3-a |
Fráncfort (Alemania), Europa |
us-central1-a |
Council Bluffs (Iowa, Norteamérica) |
us-central1-b |
Council Bluffs (Iowa, Norteamérica) |
us-central1-c |
Council Bluffs (Iowa, Norteamérica) |
us-central1-f |
Council Bluffs (Iowa, Norteamérica) |
us-east1-b
|
Moncks Corner (Carolina del Sur, Norteamérica) |
us-east1-c
|
Moncks Corner (Carolina del Sur, Norteamérica) |
us-east4-c |
Ashburn (Virginia, Norteamérica) |
us-east5-a |
Columbus (Ohio, Norteamérica) |
us-south1-a |
Dallas (Texas, Norteamérica) |
us-west1-b |
The Dalles (Oregón, Norteamérica) |
us-west2-a
|
Los Ángeles (California, Norteamérica) |
us-west3-a |
Salt Lake City (Utah, Norteamérica) |
Configurar una sincronización de hora precisa
Para configurar una sincronización de hora precisa en las VMs de tu proyecto, completa las siguientes tareas en cada VM:
- Configura
chronypara que useptp-kvmcomo fuente de tiempo. - Configura Google Cloud el agente de operaciones para recoger y analizar datos.
Una vez que hayas completado ambas tareas, se configurará la sincronización de la hora precisa para las VMs de tu proyecto.
Para ver un ejemplo de secuencia de comandos que crea una VM y completa ambas tareas para configurar una sincronización de hora precisa, consulta la secuencia de comandos de creación de VMs en GitHub.
Configurar chrony para usar ptp-kvm
Para configurar chrony de forma que use ptp-kvm como fuente de tiempo, ejecuta la siguiente secuencia de comandos en cada una de las máquinas virtuales de tu proyecto Google Cloud :
Configurar el Google Cloud agente de operaciones en tu VM
Para configurar el Google Cloud agente de operaciones para la recogida y el análisis de datos, ejecuta el siguiente script en cada una de las máquinas virtuales de tu Google Cloud proyecto:
Configurar la monitorización de la sincronización de la hora
Para configurar la monitorización de la sincronización de la hora de las VMs de tu proyecto Google Cloud, ejecuta la secuencia de comandos de configuración de registros y del panel de control de tu proyectoGoogle Cloud . Este script te ayuda a completar las siguientes tareas de tu proyecto Google Cloud :
- Define los permisos adecuados en la cuenta de servicio asociada al proyecto de tu máquina virtual. Google Cloud
- Crea una métrica basada en registros que
chronyusa para asegurar la precisión entre los relojes de la VM y su servidor host. - Crea un panel de control que mide la trazabilidad del reloj de la VM con respecto a la hora UTC combinando las siguientes métricas:
- La precisión del reloj del host de la VM con respecto a la hora UTC, que está disponible comoGoogle Cloud métrica
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. - Las métricas
chronymiden la precisión del reloj de la VM con respecto al reloj de su host.
- La precisión del reloj del host de la VM con respecto a la hora UTC, que está disponible comoGoogle Cloud métrica
Para completar las tareas anteriores, ejecuta la siguiente secuencia de comandos:
Una vez que se haya completado la ejecución de la secuencia de comandos, usa el panel de control que ha creado para ver los datos de precisión del reloj de las VMs de tu proyecto.
Siguientes pasos
- Para ver un ejemplo de código completo para configurar la hora exacta, incluidos ejemplos de Google Kubernetes Engine, visita el repositorio de ejemplos.
- Consulta las opciones disponibles para configurar la sincronización de la hora de tu máquina virtual.