Kubernetes Bare-metal Features
Below is a comparison between BMRA to the content of the RA2 (Chapters 3 and 4). For now it will focus on the infrastructure (host, kubernetes), and the compute and networking services available in the infrastructure.
Documentation for BMRA is available here
Host OS
Feature | Requirement | BMRA | Notes |
Linux Kernel | 3.10+ | 3.10 | 3.10.0-1062.9.1 (as per documentation) |
A minimum kernel version is needed due to compatibility with Kubeadm, and as such is covered in the BMRA deployment of Kubernetes
Kubernetes
Feature | Requirement | BMRA | Notes |
K8s version support | (n-2) | (n-2) | BMRA is released in 3 different versions, each mapped to a specific version of K8s following the (n-2) version support. |
Control plane services | Kube-* services on master | Supported | |
Etcd | Availability | Supported | Configurable through BMRA. Default configuration deploys on master node(s) |
Scalability | Supported | Configurable through BMRA. Default configuration has 3 master nodes with etcd enabled on all | |
Resilience | Partial support | Availability zones through K8s (node labels) is not supported. If availability zones are managed outside of K8s, BMRA supports spreading etcd across them (see other etcd requirements above) | |
Kubelet features | CPU, Device, Topology | Supported | CPUManager and Device Plugin enabled by default, Topology Manager (with 'best-effort' policy) is included as default in BMRA configuration |
Container Runtime
Feature | Requirement | BMRA | Notes |
Conformant with CRI and OCI | Multiple | Docker | |
CPU isolation | CPU Manager and CPU Pooler | Supported* | The BMRA solution uses CMK, which provides functionality similar to CPU Pooler |
CNI Plugins
Feature | Requirement | BMRA | Notes |
CNI Multiplexer | DANM/Multus | Multus* | For the most part, both offer similar functionality. Several features depend on additional CNIs for functionality. |
(SHOULD) Centrally administrated and configured (req.inf.ntw.03) | Not supported? | According to RA2 documentation, this is unsupported in Multus and partially supported in DANM. I need more information about the requirements to fulfill this. | |
SR-IOV Device Plugin and CNI | Under debate | Supported | BMRA supports installing and configuring SRIOV CNIs for use with containers. All details can be added to the BMRA configuration files, which ensures VFs and networks are available when deployment finishes. |
There are ongoing discussions related to the use of CNI Multiplexers. More info can be found in 2020-06-18 - [CNTT - RA2] weekly meeting notes and recording.
Application Package Manager
Feature | Requirement | BMRA | Notes |
Available in RA2 | Utilizing Kubernetes APIs | Helm v2 | Currently Helm v2 is used. It is expected that this will change to Helm v3 at some point, which removes the need for a server side component (Tiller) |