Comprender el impacto de las fallas en Google Distributed Cloud

Google Distributed Cloud está diseñado para limitar el alcance de las fallas y priorizar la funcionalidad que es fundamental para la continuidad del negocio. En este documento, se explica cómo se ve afectada la funcionalidad de tus clústeres cuando hay una falla. Esta información puede ayudarte a priorizar las áreas para solucionar si tienes un problema.

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.

La funcionalidad principal de Google Distributed Cloud incluye las siguientes categorías:

  • Ejecuta cargas de trabajo: Las cargas de trabajo existentes pueden seguir ejecutándose. Esta es la consideración más importante para mantener la continuidad del negocio. Incluso si tu clúster tiene un problema, las cargas de trabajo existentes podrían seguir ejecutándose sin interrupciones.
  • Administra cargas de trabajo: Puedes crear, actualizar y borrar cargas de trabajo. Esta es la segunda consideración más importante para escalar las cargas de trabajo cuando el tráfico aumenta, incluso si el clúster tiene un problema.
  • Administrar clústeres de usuario: Puedes administrar nodos y actualizar, actualizar y borrar clústeres de usuario. Esto es menos importante que las consideraciones del ciclo de vida de la aplicación. Si hay capacidad disponible en los nodos existentes, la incapacidad de modificar los clústeres de usuario no afecta las cargas de trabajo de los usuarios.
  • Administra clústeres de administrador: Puedes actualizar el clúster de administrador.
    • Para las implementaciones que usan clústeres de administrador y de usuario independientes, esta es la consideración menos importante, ya que el clúster de administrador no aloja ninguna carga de trabajo del usuario. Si el clúster de administrador tiene un problema, las cargas de trabajo de la aplicación en otros clústeres se seguirán ejecutando sin interrupciones.
    • Si usas otros modelos de implementación, como híbridos o independientes, el clúster de administrador ejecuta las cargas de trabajo de la aplicación. Si el clúster de administrador tiene un problema y el plano de control está inactivo, tampoco puedes administrar las cargas de trabajo de la aplicación ni los componentes del clúster de usuario.

En las siguientes secciones, se usan estas categorías de funcionalidades principales para describir el impacto de tipos específicos de situaciones de falla. Cuando hay una interrupción como parte de una situación de falla, también se anota la duración (orden) de la interrupción, siempre que sea posible.

Fallas de nodos

Un nodo en Google Distributed Cloud puede dejar de funcionar o volverse inaccesible en la red. Según el grupo de nodos y el clúster de los que forme parte la máquina con fallas, existen varios modos de falla diferentes.

Nodo del plano de control

En la siguiente tabla, se describe el comportamiento de los nodos que forman parte del plano de control en Google Distributed Cloud:

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Sin interrupciones Posible interrupción (desconocida) Posible interrupción (desconocida) Posible interrupción (desconocida)
Explicación Si la falla del nodo afecta al nodo del plano de control único en un clúster de usuario sin alta disponibilidad (HA) o si afecta al menos de la mitad de los nodos del plano de control en un clúster de usuario con alta disponibilidad, se produce una interrupción. Se pierde el quórum del plano de control del clúster de usuario. Si la falla del nodo afecta al nodo del plano de control único en un clúster de administrador que no tiene alta disponibilidad o si afecta al menos a la mitad de los nodos del plano de control en un clúster de administrador con alta disponibilidad, se produce una interrupción. Se pierde el quórum del plano de control del clúster de administrador. Si la falla del nodo afecta al nodo del plano de control único en un clúster de administrador que no tiene alta disponibilidad o si afecta al menos a la mitad de los nodos del plano de control en un clúster de administrador con alta disponibilidad, se produce una interrupción. Se pierde el quórum del plano de control del clúster de administrador.
Recuperación Para obtener más información, consulta cómo recuperarte de la pérdida de quórum. Para obtener más información, consulta cómo recuperarte de la pérdida de quórum. Para obtener más información, consulta cómo recuperarte de la pérdida de quórum.
Prevención Implementa clústeres de usuario en modo de alta disponibilidad para minimizar la posibilidad de interrupciones. Implementa clústeres de administrador en modo de alta disponibilidad para minimizar la posibilidad de interrupciones. Implementa clústeres de administrador en modo de alta disponibilidad para minimizar la posibilidad de interrupciones.

Nodo del balanceador de cargas

En la siguiente tabla, se describe el comportamiento de los nodos que alojan los balanceadores de cargas en Google Distributed Cloud. Esta guía solo se aplica a los balanceadores de cargas agrupados con el modo de capa 2. Para el balanceo de cargas manual, consulta los modos de falla de los balanceadores de cargas externos:

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Posible interrupción (varía) Posible interrupción (varía) Posible interrupción (varía) Posible interrupción (varía)
Explicación Si las cargas de trabajo externas dependen del balanceador de cargas del plano de datos para comunicarse con las cargas de trabajo en el clúster y solo tienes un nodo del balanceador de cargas, se produce una interrupción. La dirección IP virtual del plano de control del clúster de usuario reside en un nodo del balanceador de cargas. Si el grupo de nodos del balanceador de cargas del clúster de usuario no tiene alta disponibilidad, se producirá una interrupción. La dirección IP virtual del plano de control del clúster de administrador reside en un nodo del balanceador de cargas. Si el grupo de nodos del balanceador de cargas del clúster de administrador no tiene alta disponibilidad, se producirá una interrupción. La dirección IP virtual del plano de control del clúster de administrador reside en un nodo del balanceador de cargas. Si el grupo de nodos del balanceador de cargas del clúster de administrador no tiene alta disponibilidad, se producirá una interrupción.
Recuperación

Si hay varios nodos del balanceador de cargas, la conmutación por error de MetalLB ocurre en unos segundos.

Si no tiene alta disponibilidad, considera implementar nodos del balanceador de cargas adicionales.

Si hay alta disponibilidad, la conmutación por error es automática y se realiza en segundos.

Si no tiene alta disponibilidad, considera implementar nodos del balanceador de cargas adicionales

Si hay alta disponibilidad, la conmutación por error es automática y se realiza en segundos.

Si no tiene alta disponibilidad, considera implementar nodos del balanceador de cargas adicionales.

Si hay alta disponibilidad, la conmutación por error es automática y se realiza en segundos.

Si no tiene alta disponibilidad, considera implementar nodos del balanceador de cargas adicionales.

Prevención Para minimizar la posibilidad de interrupciones, implementa grupos de nodos del balanceador de cargas en modo de alta disponibilidad. Para minimizar la posibilidad de interrupciones, implementa grupos de nodos del balanceador de cargas en modo de alta disponibilidad. Para minimizar la posibilidad de interrupciones, implementa grupos de nodos del balanceador de cargas en modo de alta disponibilidad. Para minimizar la posibilidad de interrupciones, implementa grupos de nodos del balanceador de cargas en modo de alta disponibilidad.

Nodo trabajador

En la siguiente tabla, se describe el comportamiento de los nodos trabajadores en Google Distributed Cloud:

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Posible interrupción (orden de segundos) Sin interrupciones Sin interrupciones Sin interrupciones
Explicación

Los Pods que se ejecutan en el nodo con errores se interrumpen y se reprograman de forma automática en otros nodos en buen estado con un tiempo de espera de expulsión predeterminado de 5 minutos.

Si las aplicaciones de usuario tienen capacidad de carga de trabajo libre y se distribuyen en varios nodos, los clientes que implementan reintentos no pueden observar la interrupción.

Los Pods se reinician de forma automática en los nodos en buen estado.

Si el clúster no tiene capacidad libre, la interrupción puede durar hasta que se agreguen nodos nuevos al clúster.

Recuperación Si el clúster no tiene capacidad libre, debes implementar más nodos distribuidos en varias zonas de fallas y mover las cargas de trabajo con errores a los nodos nuevos.
Prevención

Implementa nodos que se distribuyan en varias zonas con fallas.

Implementa cargas de trabajo con varias réplicas distribuidas en varias zonas con fallas para minimizar la posibilidad de interrupciones.

Falla de almacenamiento

Es posible que el almacenamiento en Google Distributed Cloud deje de funcionar o se vuelva inaccesible en la red. Según el almacenamiento que falle, existen varios modos de falla diferentes.

etcd

El contenido de los directorios /var/lib/etcd y /var/lib/etcd-events podría dañarse si se produce un apagado incorrecto del nodo o una falla subyacente de almacenamiento. En la siguiente tabla, se describe el comportamiento de la funcionalidad principal debido a fallas de etcd:

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Sin interrupciones Posible interrupción (desconocida) Posible interrupción (desconocida) Posible interrupción (desconocida)
Explicación Si las cargas de trabajo existentes no dependen del plano de control de Kubernetes, seguirán funcionando sin interrupciones. Si etcd falla en un solo clúster de usuario del plano de control o falla en no menos de la mitad de los nodos del plano de control en un clúster de usuario con alta disponibilidad, se produce una interrupción. Se pierde el quórum del plano de control del clúster de usuario. Si etcd falla en un solo clúster de administrador del plano de control o falla en no menos de la mitad de los nodos del plano de control en un clúster de administrador de alta disponibilidad, se produce una interrupción. Se pierde el quórum del plano de control del clúster de administrador. Si etcd falla en un solo clúster de administrador del plano de control o falla en no menos de la mitad de los nodos del plano de control en un clúster de administrador de alta disponibilidad, se produce una interrupción. Se pierde el quórum del plano de control del clúster de administrador.
Recuperación Para obtener más información, consulta cómo recuperarte de la pérdida de quórum. Para obtener más información, consulta cómo recuperarte de la pérdida de quórum. Para obtener más información, consulta cómo recuperarte de la pérdida de quórum.
Prevención Para minimizar la posibilidad de interrupciones, implementa clústeres de usuario en modo de alta disponibilidad. Para minimizar la posibilidad de interrupciones, implementa los clústeres de administrador en modo de alta disponibilidad. Para minimizar la posibilidad de interrupciones, implementa los clústeres de administrador en modo de alta disponibilidad.

Aplicación del usuario PersistentVolume

En la siguiente tabla, se describe el comportamiento de la funcionalidad principal debido a la falla de un PersistentVolume:

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Posible interrupción (desconocida) Sin interrupciones Sin interrupciones Sin interrupciones
Explicación Las cargas de trabajo que usan el PersistentVolume are affected. con errores
Recuperación
Prevención Para minimizar la posibilidad de interrupciones, implementa la carga de trabajo del usuario en modo de alta disponibilidad.

Disco dañado de bits fluido

El daño de un disco de Fluent Bit no afecta ninguna funcionalidad principal, pero sí a la capacidad de recopilar e inspeccionar registros en Google Cloud.

A veces, se puede observar el evento SIGSEGV desde los registros de stackdriver-log-forwarder. Este error puede deberse a los registros almacenados en búfer dañados en el disco.

Fluent Bit tiene un mecanismo para filtrar y quitar los fragmentos rotos. Esta función está disponible en la versión de fluent-bit (v1.8.3) que se usa en Google Distributed Cloud.

De LoadBalancer IP

Si todas las direcciones IP en los grupos asignados están ocupadas actualmente, los servicios LoadBalancer creados recientemente no pueden adquirir una dirección IP LoadBalancer. Esta situación afecta la capacidad de los clientes del servicio para comunicarse con los servicios LoadBalancer.

Para recuperarse del agotamiento de esta dirección IP, asigna más direcciones IP al grupo de direcciones mediante la modificación del recurso personalizado del clúster.

Vencimiento del certificado

Google Distributed Cloud genera una autoridad certificadora (AC) autofirmada durante el proceso de instalación del clúster. La CA tiene un vencimiento de 10 años y es responsable de generar los certificados, que vencen después de un año. Rota los certificados con regularidad para evitar el tiempo de inactividad del clúster. Puedes rotar certificados con la actualización del clúster, que es el método recomendado. Si no puedes actualizar tu clúster, puedes realizar una rotación de CA a pedido. Para obtener más información sobre los certificados de clústeres, consulta Certificados y requisitos de PKI en la documentación de Kubernetes.

Si los certificados del clúster vencieron, deben renovarse de forma manual.

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Sin interrupciones Posible interrupción (desconocida) Posible interrupción (desconocida) Posible interrupción (desconocida)
Explicación Si las cargas de trabajo del usuario no se comunican con los componentes del plano de control de Kubernetes, no habrá interrupciones. Si las autoridades certificadoras de los clústeres de usuario vencen, habrá una interrupción. Si las autoridades certificadoras de los clústeres de administrador vencen, se interrumpirá. Si las autoridades certificadoras de los clústeres de usuario vencen, se produce una interrupción.
Recuperación

Sigue los pasos para renovar los certificados de forma manual en el clúster de usuario.

Sigue los pasos para renovar los certificados de forma manual en el clúster de usuario.

Sigue los pasos para renovar los certificados de forma manual en el clúster de usuario.

Prevención Configurar los monitores para el vencimiento de los certificados Puedes encontrar una métrica de ejemplo kubelet_certificate_manager_server_expiration_seconds en la lista de métricas.

Fallas de actualización

Ejecuta cargas de trabajo Administrar cargas de trabajo Administra clústeres de usuarios Administrar clústeres de administrador
Interrupción (duración) Sin interrupciones Sin interrupciones Posible interrupción (desconocida) Posible interrupción (desconocida)
Explicación

Si la actualización falla en el plano de control del clúster de usuario, NO habrá interrupciones en las cargas de trabajo existentes.

Si la actualización falla en un nodo trabajador en particular, las cargas de trabajo en ese nodo se desviarán y se moverán a otros nodos en buen estado si hay capacidad adicional en los nodos en buen estado.

La actualización se detendrá si alguno de los nodos del plano de control falla. El clúster seguirá funcionando si la actualización falla si el clúster de usuario tiene alta disponibilidad. Si la actualización falla en el plano de control del clúster de administrador, se interrumpirá hasta que finalice la actualización. Si la actualización falla en el plano de control del clúster de administrador, se interrumpirá hasta que finalice la actualización.
Recuperación La actualización se puede volver a intentar. Para obtener más información, consulta cómo diagnosticar problemas de actualización y reanudar. La actualización se puede volver a intentar. Para obtener más información, consulta cómo diagnosticar problemas de actualización y reanudar.
Prevención Para obtener más información, consulta cómo crear una copia de seguridad antes de la actualización. Para obtener más información, consulta cómo crear una copia de seguridad antes de la actualización.

¿Qué sigue?