Trabajos BOSH aislados
bpm (administrador de procesos BOSH) es una capa entre monit
y sus trabajos BOSH que agrega funciones adicionales y elimina casi todos los scripts de inicio repetitivos. Es compatible con cualquier versión de BOSH lanzada en los últimos años.
El ciclo de vida laboral actual depende en gran medida de la semántica monit
. El orden de inicio de los trabajos y procesos no está garantizado y existen tiempos de espera ocultos que puede alcanzar y que pondrán su sistema en un estado inesperado.
bpm deja muy claras sus expectativas sobre su trabajo. Define cuánto tiempo deberían tomar las cosas, cómo bpm se comunicará con su proceso y cómo debería comportarse su trabajo en ciertos escenarios. La mayoría de los trabajos ya cumplirán con las normas.
Los trabajos que utilizan bpm están aislados unos de otros. Todos los recursos del sistema operativo (con excepción de las redes) tienen espacios de nombres de manera que un trabajo no puede ver ni interactuar con otros procesos fuera del trabajo que lo contiene.
Esto proporciona una interfaz mucho más pequeña y más fácil de mantener entre sus trabajos y el sistema, pero fundamentalmente proporciona una barrera de seguridad tal que si uno de los trabajos en su máquina se ve comprometido, el incidente se limita solo a ese trabajo en lugar de a todos los trabajos en el mismo. máquina.
bpm también puede ofrecer limitación de recursos debido a las tecnologías elegidas para las funciones anteriores. Esto evita que un trabajo priva a otros trabajos colocados de los recursos del sistema operativo que necesitan para funcionar.
La documentación se puede encontrar en el directorio de documentos. A medida que desarrollamos bpm, esta documentación puede provocar cambios de implementación brevemente, pero eventualmente se convertirá en la fuente oficial de documentación de bpm.
bpm ahora ha llegado a 1.0 y tiene una API pública estable que debería poder usarse para la mayoría de los trabajos BOSH. No planeamos realizar más cambios incompatibles con versiones anteriores de la API pública antes de la versión 2.0.
Puede comenzar a leer sobre el espíritu y el glosario, el entorno de ejecución que bpm proporciona a su trabajo, el formato de configuración y el comportamiento indefinido del sistema.
Actualmente, el desarrollo no es compatible con ningún otro sistema que no sea Linux, aunque es posible ejecutar las pruebas basadas en Docker en macOS.
Dependencias requeridas para pruebas locales:
Estibador
Ir
Los siguientes pasos deberían permitirle ejecutar las pruebas en un contenedor acoplable local:
Habilite la contabilidad de intercambio ejecutando los siguientes comandos como root:
# sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="swapaccount=1"/' /etc/default/grub# actualizar-grub# reiniciar
Clona este repositorio y submódulos:
$ cd ~/espacio de trabajo $ git clon https://github.com/pivotal-cf/bpm-release.git $ cd ~/espacio de trabajo/bpm-release
Ejecutar pruebas:
$ cd ~/espacio de trabajo/bpm-release $ ./scripts/prueba-con-docker