prefacio
Frambuesa Pi es una placa de desarrollo ampliamente popular, con un mayor desarrollo de las cosas, pastel de frambuesa tanto como la tendencia de las normas de los equipos terminales de la IO. En apoyo de los clientes en el aterrizaje K3s escenario de la IO, K3s el despliegue de frambuesas vienen en también apareció. Este artículo documenta algunos de los temas clave que, retransmitido escritas, fácil de hacer referencia a otros usuarios.
Hardware: Frambuesa Pi 4
Versión K3s: v1.17.3 + k3s1
Sistema operativo:
ubuntu-18.04.4-preinstalado de servidor arm64 + raspi3.img
Después de la instalación utilizando espacio de aire desplegado, el problema central es K3s no se inician y el siguiente registro de mensajes de error:
El mensaje de error clave:
level=error msg="Failed to find memory cgroup, you may need to add \"cgroup_memory=1 cgroup_enable=memory\" to your linux cmdline (/boot/cmdline.txt on a Raspberry Pi)"
Registro de las investigaciones
Acceder impulsó obviamente, así que modificado /boot/cmdline.txt y reiniciar, pero todavía se encuentra el problema de la reanudación, todavía tienen este problema. La naturaleza de la modificación consiste en añadir parámetros del núcleo, por lo que comprobamos el nivel del sistema operativo:
$ cat /proc/cmdline | grep cgroup_memory
# nothing return
En otras palabras, los cambios línea de órdenes no tuvieron efecto. Por lo tanto, sospechamos que esta imagen ubuntu modificar línea_de_órdenes hay otras maneras:
$ df -hT | grep mmc
/dev/mmcblk0p2 ext4 29G 2.8G 26G 10% /
/dev/mmcblk0p1 vfat 253M 117M 136M 47% /boot/firmware
# 真正的启动分区在/boot/firmware
# 阅读/boot/firmware/README
# 排查后得知,应该修改nobtcmd.txt
Después de parámetros cgroup en /boot/firmware/nobtcmd.txt añadido después de la reanudación pueden ver cmdline tienen la configuración deseada:
$ cat /proc/cmdline | grep cgroup_memory
coherent_pool=1M ………. cgroup_memory=1 cgroup_enable=memory
Luego encontrado K3s inicio todavía no se ha completado, la salida del registro lento, algunos de los factores que afectan el proceso de arranque del sistema sospechoso. investigación Entropy, encontraron que los valores disponibles son muy baja, baja a obstruir corriendo generalmente <programa 1000 se atascará:
$ cat /proc/sys/kernel/random/entropy_avail
522
Muchos corren el programa dependen de la generación de números aleatorios, como el hachís, el proceso de cifrado y descifrado. entropía se aplica de números aleatorios consumirá sistema (entropía), cuando la baja entropía a un cierto umbral, el programa se ejecutará con lentitud, a la espera de semilla de aleatorización.
En general, el kernel puede recopilar información del hardware de ruido de funcionamiento como complemento a la entropía, pero la capacidad de hardware Frambuesa Pi es limitado, no puede generar rápidamente entropía desde el nivel de hardware, por lo que instalamos el software proporcionan una mayor algoritmos de simulación:
$ apt install haveged
$ systemctl enable haveged
$ cat /proc/sys/kernel/random/entropy_avail
2366
Después de que todo está en orden, a continuación, ver K3s estado de inicio, K3s Start ha sido completado.
resumen
Linux como Frambuesa Pi se ejecuta en esta arquitectura de hardware simple, hay muchos matices, es normalmente podría no establecida en los sistemas de servidores x86 conocimiento y la experiencia, lo que llevó el software de servidor que se ejecuta en Linux y no será tan fácil trasplantado al pequeño dispositivo terminal. Para Frambuesa Pi, además del contenido mencionado en el texto, también es necesario centrarse sincronización de hora NTP, la tarjeta MicroSD rendimiento IO y así sucesivamente.