English | Español | Français | Deutsch | Русский | 中文 |
ℹ️ 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. The project is of a research nature and is designed for use in a Trusted environment and/or integration/building a private cloud, as well as for building your own hyperconvergent 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):
- Linux: Ubuntu, Debian, CentOS, Rocky, Oracle Linux and so on;
- BSD: FreeBSD, OpenBSD, NetBSD, DragonflyBSD and so on;
- Windows: Windows server;
- Other: SmartOS, Android x64 and so on;
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.
ℹ️ There is also a graphical client for MyBee called MyBee-QT (which can be used with vanilla BSD/Linux systems, without MyBee).
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:
- 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
- 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
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:
- The wonderful FreeBSD OS;
- The high performance bhyve hypervisor;
- The NETMAP/VALE virtual switch;
- The CBSD virtual environment manager;
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 14.2-RELEASE.
ℹ️ bhyve also runs on ARM64 architectures and has initial support for RISCV-based virtualization.
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 ;-)
- Minimum RAM requirements: 4 GB RAM;
- Minimum HDD/SSD requirements: 20 GB (for kubernetes cluster, using SSD/NVME is highly recommended);
- Availability of IPv4;
- the presence of IPv6 (optional, but highly recommended);
- Access to the Internet (80/443 ports), since MyBee will download (only once) gold-images for those operating systems whose environment you have requested;
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:
- FreeBSD OS 14.2+
- CBSD 14.2+
- CLI/shell/upgrade
- Configuring Network Interfaces
- Network profiles
- Basic API endpoints
- ACLs and Security
- List of GOLD images
- API FQDN and certbot
- Working with jail (curl)
- Working with VM (curl)
- Working with Kubernetes (curl)
- Working with jail (nubectl)
- Working with VM (nubectl)
- Working with jail (CBSDfile)
- Working with VM (CBSDfile)
- Working with jail (Terraform)
- Working with VM (Terrafarm)
- Support
- UI
If you like this project, want to say thank and support its development: