Pekerjaan BOSH Terisolasi
bpm (manajer proses BOSH) adalah lapisan antara monit
dan pekerjaan BOSH Anda yang menambahkan fitur tambahan sekaligus menghapus hampir semua skrip startup boilerplate. Ini kompatibel dengan versi BOSH mana pun yang dirilis dalam beberapa tahun terakhir.
Siklus hidup pekerjaan saat ini sangat bergantung pada semantik monit
. Urutan awal pekerjaan dan proses tidak dijamin dan ada batas waktu tersembunyi yang dapat Anda capai yang akan menempatkan sistem Anda dalam kondisi yang tidak terduga.
bpm memperjelas ekspektasinya terhadap pekerjaan Anda. Ini menentukan berapa lama waktu yang dibutuhkan, bagaimana bpm akan berkomunikasi dengan proses Anda, dan bagaimana pekerjaan Anda harus berperilaku dalam skenario tertentu. Sebagian besar pekerjaan sudah mematuhi peraturan.
Pekerjaan yang menggunakan bpm diisolasi satu sama lain. Semua sumber daya sistem operasi (kecuali jaringan) diberi namespace sedemikian rupa sehingga suatu pekerjaan tidak dapat melihat atau berinteraksi dengan proses lain di luar pekerjaan yang memuatnya.
Hal ini memberikan antarmuka yang jauh lebih kecil dan lebih mudah dipertahankan antara pekerjaan Anda dan sistem, namun yang terpenting adalah memberikan penghalang keamanan sehingga jika salah satu pekerjaan di mesin Anda disusupi maka kejadiannya terbatas pada pekerjaan itu saja, bukan semua pekerjaan di mesin yang sama. mesin.
bpm juga dapat menawarkan pembatasan sumber daya karena teknologi yang dipilih untuk fitur di atas. Hal ini akan menghentikan pekerjaan apa pun agar tidak menghabiskan sumber daya sistem operasi lain yang saling kolokasi yang mereka perlukan agar dapat bekerja.
Dokumentasi dapat ditemukan di direktori docs. Saat kami mengembangkan bpm, dokumentasi ini mungkin akan mengarahkan perubahan penerapan secara singkat, namun pada akhirnya akan menjadi sumber resmi dokumentasi bpm.
bpm kini telah mencapai 1.0 dan memiliki API publik stabil yang dapat digunakan untuk sebagian besar pekerjaan BOSH. Kami tidak berencana membuat perubahan apa pun yang tidak kompatibel lagi pada API publik sebelum versi 2.0.
Anda dapat mulai membaca tentang etos dan glosarium, lingkungan runtime yang disediakan bpm untuk pekerjaan Anda, format konfigurasi, dan perilaku sistem yang tidak ditentukan.
Pengembangan saat ini tidak didukung pada apa pun selain Linux, meskipun menjalankan pengujian berbasis buruh pelabuhan dapat dilakukan di macOS.
Ketergantungan yang diperlukan untuk pengujian lokal:
Buruh pelabuhan
Pergi
Langkah-langkah berikut memungkinkan Anda menjalankan pengujian di kontainer buruh pelabuhan lokal:
Aktifkan akuntansi swap dengan menjalankan perintah berikut sebagai root:
# sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="swapaccount=1"/' /etc/default/grub# update-grub# reboot
Kloning repositori dan submodul ini:
$ cd ~/ruang kerja $ git klon https://github.com/pivotal-cf/bpm-release.git $ cd ~/ruang kerja/bpm-rilis
Jalankan tes:
$ cd ~/ruang kerja/bpm-rilis $ ./scripts/test-dengan-buruh pelabuhan