Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Goals

       This This document describes the specifications for designing the Binary Provisioning Agent Custom resource Definition required for the Integrated Cloud Native Akraino project iteratively.

...

Iterations

        This task will evolve over time and we will keep iterating and modifying this document. Iterations are small steps that will happen within a short period of time with specific tasks to roll out POCs as quickly as possible for feedback inorder to adjust the focus quickly.

...

Overview of BPA

The BPA is part of the infra local controller which runs as a bootstrap k8s cluster in the ICN project. As described in Integrated Cloud Native Akraino project, the purpose of the BPA is to install packages that cannot be installed using kubectl. It will be called once the operating system (Linux) has been installed in the compute nodes by the baremetal operator. The Binary Provisioning Agent will carry out the following functions;

  1. Get site specific information containing information about compute nodes and their resource capabilities.
  2. Assign roles to compute hosts and create the hosts.ini file required to install kubernetes on compute nodes in order to create a cluster using kubespray
  3. Instantiate the binary package installation and get the status of the installation
  4. Get application-k8s kubeconfig file
  5. BPA is also expected to store any private key and secret information in CSM
  6. Install the packages on newly added compute nodes
  7. Update package versions in compute nodes that require the update
  8. Store private keys 

 For more information on the BPA functions, check out the ICN Akraino project link above

Implementation

We do not intend to make any changes to the existing kubernetes API in order to implement the specifications described in this document. We will simply be extending the Kubernetes API using Custom Resource Definition as described here and then creating a custom controller that will handle the requirements of our provisioning Agent custom resource. 

...