|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Ajuste de etcd para grandes instalaciones
Cuando se utiliza Rancher para gestionar una gran infraestructura, se recomienda aumentar el espacio de claves para etcd, que por defecto es de 2 GB. La configuración máxima es de 8 GB y el host debe tener suficiente RAM para mantener todo el conjunto de datos en memoria. Al aumentar este valor, también se debe aumentar el tamaño del host. El tamaño del espacio de claves también se puede ajustar en instalaciones más pequeñas si se anticipa una alta tasa de cambios en los pods durante el intervalo de recolección de basura.
El conjunto de datos de etcd se limpia automáticamente en un intervalo de cinco minutos por Kubernetes. Existen situaciones, por ejemplo, durante un despliegue inestable, en las que se pueden escribir suficientes eventos en etcd y borrarse antes de que la recolección de basura intervenga, provocando que el espacio de claves se llene. Si se observan mvcc: database space exceeded errores en los registros de etcd o en los registros del servidor API de Kubernetes, se debe considerar aumentar el tamaño del espacio de claves. Esto se puede lograr configurando el ajuste quota-backend-bytes en los servidores etcd.
Ejemplo: Este fragmento del archivo config.yaml de RKE2/K3s aumenta el tamaño del espacio de claves a 5 GB.
etcd-arg:
- "quota-backend-bytes=5368709120"
Escalado del rendimiento del disco de etcd
Puedes seguir las recomendaciones de la documentación de etcd sobre cómo ajustar la prioridad del disco en el host.
Además, para reducir la contención de IO en los discos para etcd, puedes usar un dispositivo dedicado para el directorio de datos y wal. Según las mejores prácticas de etcd, las configuraciones de matriz redundante de discos independientes en espejo son innecesarias porque etcd replica los datos entre los nodos del clúster. Puedes usar configuraciones de matriz redundante de discos independientes en striping para aumentar los IOPS disponibles.
Para implementar esta solución en un clúster RKE2/K3s, los directorios /var/lib/etcd/data y /var/lib/etcd/wal necesitarán tener discos montados y formateados en el host subyacente. En la directiva extra_args del servicio etcd, debes incluir el directorio wal_dir. Sin especificar el wal_dir, el proceso etcd intentará manipular el wal subyacente con permisos insuficientes.
etcd-arg:
- "data-dir=/var/lib/etcd/data"
- "wal-dir=/var/lib/etcd/wal"