Configuración de las tareas de limpieza y sincronización de archivos contenedores imagen redundante

K8S cluster en ejecución desde hace mucho tiempo, conducirá inevitablemente a una gran cantidad de espejo inútil y archivo contenedor, lo que requiere una limpieza frecuente.

Generalmente, el recipiente acoplable predeterminado situado en la ruta local ruta / var / lib / ventana acoplable de almacenamiento de datos a través de df -h / var / lib / ventana acoplable de comandos para ver su ocupación. Si más del 80%, significa que necesidad de ser limpiado.

En primer lugar, limpiar el comando

datos redundantes asociados con la limpieza del contenedor hay dos comandos, a saber:

ciruela imagen ventana acoplable - af 
sistema de cargador de muelle de ciruela -f

En el que el primer comando es no sólo el archivo de imagen se utiliza para borrar un recipiente, eliminación del exceso de segundos datos de comandos, que comprende detener el contenedor, el espejo adicional, volumen no utilizado, etc., que la primera comprende comando Cuanto más contenido.

Por encima de dos órdenes pueden ser ejecutadas por un guión clean.sh unificada:

#! / bin / golpe 

need_clean () { 
    usado = ` df -h / var / lib / ventana acoplable | awk -F " [%] + "  ' / dev / {print $ 5} ' '
     Si [[$ utilizaron -ge 80 ]]; a continuación, 
        volver 0 
    fi 
    
    retorno 1 

} 

si need_clean; a continuación, 
    la imagen cargador de muelle de ciruela - af
     si need_clean; entonces 
        sistema acoplable ciruela - f
     fi 
fi

Aquí para df -h La relación de ocupación en la columna por awk. -F "[%] +" significa que el número especificado de espacios o delimitadores%, con lo cual excluye el porcentaje%.

Sólo cuando la relación de ocupación de más del 80% cuando la ejecución de la instrucción clara. Si, después de que el primer comando cayó por debajo del 80%, que no tiene que ejecutar el siguiente comando.

En segundo lugar, crear una tarea programada

Guión terminado, pero esperamos que la máquina puede ejecutar automáticamente en el momento adecuado. Esto requiere de directiva normal.

Crear una tarea programada en Linux es realmente muy simple. Si ejecuta un programa crond sistema, sólo es necesario para crear un archivo de usuario con su nombre en el directorio / directorio / var spool / cron, crond ejecutar automáticamente en el momento adecuado.

Por ejemplo, creamos un archivo raíz está en / var / spool / cron directorio que la máquina de gestión de usuario root:

@daily fiesta /usr/local/bin/clean.sh

La secuencia de comandos copian en / usr / directorio / bin local (por supuesto también ser otro directorio), luego crond ejecutará la secuencia de comandos todos los días a la medianoche.

En tercer lugar, añadir los bloqueos de archivo

Un escenario más probable es que, si el tiempo se establece para ejecutar la ejecución del script por minuto, es probable que aparezca en un orden no se ha realizado, el siguiente comando de vino. Entonces causará confusión. Para hacer frente a esta situación, tenemos que acuden comandos, agregue un bloqueo para el archivo. Así que por encima de la de archivos raíz puede ser reescrita como:

@daily rebaño -n /tmp/.cleanlock -c " /usr/local/bin/clean.sh fiesta "

Lo cual, / tmp / .cleanlock se puede especificar fácilmente. -n media si no se obtiene una cerradura, ninguna acción. Por supuesto, como el día de la ejecución, a continuación, debido a un período más largo, no se puede agregar un bloqueo de archivo.

A través de la operación anterior, el sistema automáticamente a cero en la noche todos los días para comprobar si necesita limpiar los datos redundantes, garantizar recursos suficientes para ejecutar el clúster.

Supongo que te gusta

Origin www.cnblogs.com/00986014w/p/12482591.html
Recomendado
Clasificación