Home

Awesome

MyBee - The most simplified API for creating and destroying K8S & cloud VMs

<p align="center"> <span>English</span> | <a href="/README.es.md">Español</a> | <a href="/README.fr.md">Français</a> | <a href="/README.de.md">Deutsch</a> | <a href="/README.ru.md">Русский</a> | <a href="/README.ch.md">中文</a> | </p>

:information_source: This guide covers the administration and use of the MyBee (MyB) distribution for cloud virtual environments based on the bhyve hypervisor. The distribution kit is free, without any restrictions on use in your needs.


MyBee is a software for working with virtual environments through the simplest API, mainly for use in a trusted environment and/or integration/building of a private cloud, as well as building your own hyperconverged cluster.

MyBee is a satellite project (as a demo of one of the goals) of the non-commercial project CBSD and currently uses image libraries and infrastructure kept up-to-date with funds from CBSD project donors as one of the outcomes of project development funding.

OS and distributions tested in operation (but not limited to this list):

MyBee only provides an API, if you are looking for a WEB interface to work with bhyve or jails, check out the ClonOS project, which is also a fully open-source and BSD-licensed satellite project of CBSD.

MyBee Overwiew

Despite the fact that MyBee can run any custom installation ISO images, the product is primarily focused on working only with cloud images. An important part of the project are the provisioning tools for easily creating your own cloud images with any set of applications and extensibility of the API.

The high speed of virtual infrastructure initialization on demand makes the product unique in terms of the basis for building SaaS/FaaS platforms. For example, the average timing of creating and launching environments to the state to process remote user requests:

  1. creation of a VM of any configuration (RAM/vCPU/Storage) and launch is carried out within ~5 seconds; depending on the tuning of the boot parameters and the boot speed of the guest, the machine might be able to accept RDP or SSH connections after as little as ~35 seconds (without modifying the grub bootloader timeout) 1

vmup1

  1. creation and launch of a Kubernetes cluster with the ability to accept API requests: ~30 seconds for a single-master and ~1 minute 20 seconds for a cluster with any number of master/worker nodes. 1, 2

kubetime

The product is built on completely alternative technologies, the code of which is distributed under the most liberal BSD/MIT licenses; none of the components and layers is affiliated with any company. In fact the whole product is based entirely on open-source projects:

System Requirements

Any physical (bare metal) server with an Intel/AMD x86-64 processor that supports virtualization and POPCNT instructions is suitable for MyBee if it runs FreeBSD 13.2-RELEASE.

In theory, running MyBee on the ARM64 architecture is possible. However there are currently no ARM64-based servers in the CBSD infrastructure, but work on the port can be done when ARM64-based hardware is made accessible to the project.

In some cases MyBee can be run in a virtualized environment, however this is not recommended and has not been tested by the MyBee authors. If the bhyve hypervisor cannot be used, you can still create containers based on FreeBSD jails, but this is most likely not what you want from MyBee ;-)

The creation of environments is managed through a RestAPI (i.e. the command line and the curl utility are enough to control it!), as well as through a thin client available for modern operating systems. For the future support for Terraform and a mobile application may become available.

Components:

MyBee Handbook

Articles

Footnotes

    • in the absence of an overcommit at the physical level;
    2
    • 30 seconds spent on bootstrap etcd service if master node > 1;