고립된 BOSH 채용
bpm(BOSH 프로세스 관리자)은 거의 모든 상용구 시작 스크립트를 제거하면서 추가 기능을 추가하는 monit
과 BOSH 작업 사이의 계층입니다. 지난 몇 년 동안 출시된 모든 BOSH 버전과 역호환됩니다.
현재 작업 수명주기는 monit
의미에 크게 의존합니다. 작업 및 프로세스 시작 순서는 보장되지 않으며 시스템을 예상치 못한 상태로 만들 수 있는 숨겨진 시간 초과가 있습니다.
bpm은 귀하의 업무에 대한 기대치를 매우 명확하게 보여줍니다. 이는 작업에 소요되는 시간, bpm이 프로세스와 통신하는 방법, 특정 시나리오에서 작업이 어떻게 작동해야 하는지를 정의합니다. 대부분의 작업은 이미 규정을 준수하고 있습니다.
BPM을 사용하는 작업은 서로 격리됩니다. 모든 운영 체제 리소스(네트워킹 제외)는 작업이 포함된 작업 외부의 다른 프로세스를 보거나 상호 작용할 수 없도록 네임스페이스가 지정됩니다.
이는 작업과 시스템 사이의 인터페이스를 훨씬 더 작고 유지하기 쉽게 제공하지만 결정적으로 보안 장벽을 제공하여 컴퓨터의 작업 중 하나가 손상되면 사고가 동일한 모든 작업이 아닌 해당 작업으로만 제한됩니다. 기계.
bpm은 위 기능을 위해 선택된 기술로 인해 리소스 제한을 제공할 수도 있습니다. 이렇게 하면 한 작업이 작업하는 데 필요한 운영 체제 리소스가 함께 배치된 다른 작업에 고갈되는 것을 방지할 수 있습니다.
문서는 docs 디렉토리에서 찾을 수 있습니다. bpm을 개발하는 동안 이 문서는 구현 변경을 잠시 유도할 수 있지만 결국에는 bpm 문서의 공식 소스가 될 것입니다.
bpm은 이제 1.0에 도달했으며 대부분의 BOSH 작업에 사용할 수 있는 안정적인 공개 API를 보유하고 있습니다. 2.0 이전에는 공개 API에 대해 이전 버전과 호환되지 않는 변경 사항을 더 이상 적용할 계획이 없습니다.
정신과 용어집, bpm이 작업에 제공하는 런타임 환경, 구성 형식, 시스템의 정의되지 않은 동작에 대해 읽을 수 있습니다.
현재 Linux 이외의 다른 환경에서는 개발이 지원되지 않지만 macOS에서는 docker 기반 테스트를 실행할 수 있습니다.
로컬 테스트에 필요한 종속성:
도커
가다
다음 단계를 수행하면 로컬 Docker 컨테이너에서 테스트를 실행할 수 있습니다.
루트로 다음 명령을 실행하여 스왑 계정을 활성화합니다.
# sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="swapaccount=1"/' /etc/default/grub# 업데이트-grub# 재부팅
이 저장소와 하위 모듈을 복제합니다.
$ cd ~/작업 공간 $ 자식 클론 https://github.com/pivotal-cf/bpm-release.git $ cd ~/작업 공간/bpm-release
테스트 실행:
$ cd ~/작업 공간/bpm-release $ ./scripts/test-with-docker