Muchos sistemas de software que dependen de una secuencia de eventos cuidadosa usan un reloj de sistema estable y coherente, y registran los eventos con marcas de tiempo para garantizar la sincronización del tiempo y depurar los problemas a medida que ocurren. Para ayudar a mantener sincronizados los relojes del sistema, las instancias de máquina virtual (VM) de Compute Engine se configuran con anterioridad para usar el protocolo de tiempo de red (NTP), una solución integrada de hardware y software de sincronización de tiempo. Si garantizar la sincronización precisa de la hora y supervisar la precisión de la sincronización de la hora son importantes para tus objetivos, puedes configurar hora precisa en lugar de NTP para sincronizar el reloj de tu VM con el reloj del host usando chrony y ptp_kvm. Esta configuración está diseñada para lograr una precisión de 1 ms en las configuraciones compatibles.
Tipos de máquina admitidos
Los siguientes tipos de máquinas admiten la hora precisa:
Sistemas operativos compatibles
Los siguientes sistemas operativos (SO) admiten la hora precisa:
| SO | Versiones | Imágenes |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| Container-Optimized OS | LTS de COS 105, LTS de COS 109, LTS de COS 113 y LTS de COS 117 | cos-105-lts, cos-109-lts, cos-113-lts, cos-117-lts |
| Debian | 11 (Bullseye) y 12 (Bookworm) | debian-11, debian-12 |
| Fedora Cloud | 39 | fedora-cloud-39 |
| RHEL | 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, América del Norte |
us-east1-c
|
Moncks Corner, Carolina del Sur, América del Norte |
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 |
Configura una sincronización de hora precisa
Para configurar una sincronización de hora precisa para las VMs de tu proyecto, completa las siguientes tareas para cada VM:
- Configura
chronypara usarptp-kvmcomo su fuente de tiempo. - Configura el Google Cloud agente de operaciones para la recopilación y el análisis de datos.
Después de completar ambas tareas, se configurará la sincronización de hora precisa para las VMs de tu proyecto.
Para ver una secuencia de comandos de muestra 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 VM en GitHub.
Configura chrony para que use ptp-kvm
Para configurar chrony de modo que use ptp-kvm como su fuente de tiempo, ejecuta la siguiente secuencia de comandos dentro de cada una de las VMs de tu proyecto de Google Cloud :
Configura el Google Cloud Agente de operaciones en tu VM
Para configurar Google Cloud el agente de operaciones para la recopilación y el análisis de datos, ejecuta la siguiente secuencia de comandos dentro de cada una de las VMs de tu proyecto Google Cloud :
Configura la supervisión de la sincronización de hora
Para configurar la supervisión de la sincronización de hora de las VMs de tu proyecto de Google Cloud, ejecuta la secuencia de comandos de configuración del registro y el panel para tu proyecto deGoogle Cloud . Esta secuencia de comandos te ayuda a completar las siguientes tareas para tu proyecto de Google Cloud :
- Establece los permisos adecuados en la cuenta de servicio asociada con el proyecto de tu VM. Google Cloud
- Crea una métrica basada en registros que
chronyusa para garantizar la precisión entre los relojes de la VM y su servidor host. - Crea un panel que mide la trazabilidad del reloj de la VM con respecto al UTC combinando las siguientes métricas:
- La precisión del reloj del host de la VM en relación con la hora UTC, que está disponible como una métrica deGoogle Cloud ,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy. - Las métricas de
chronyque miden la precisión del reloj de la VM en relación con el reloj de su host.
- La precisión del reloj del host de la VM en relación con la hora UTC, que está disponible como una métrica deGoogle Cloud ,
Para realizar las tareas anteriores, ejecuta la siguiente secuencia de comandos:
Una vez que finalice la ejecución de la secuencia de comandos, usa el panel que creó para ver los datos de precisión del reloj de las VMs de tu proyecto.
¿Qué sigue?
- Para obtener un código de muestra completo para configurar la hora exacta, incluidas las muestras de Google Kubernetes Engine, visita el repositorio de ejemplos.
- Revisa las opciones disponibles para configurar la sincronización de hora de tu VM.