What Happens During Bootstrapping

At the start of the bootstrapping process, the utility applies MapR-specific labels on the available nodes. These labels are used to allow or disallow MapR pods from specific Kubernetes nodes.

Next, the bootstrapinstall utility creates several Kubernetes namespaces. These namespaces are needed to host:
  • Various operators
  • Group resources
  • Role-based access control (RBAC) support files
  • MapR CSI driver
The following namespaces are created during bootstrapping and will contain all the resources that the bootstrapinstall utility installs in Kubernetes:
  • mapr-system
  • spark-operator
  • drill-operator
  • mapr-csi
  • mapr-external-info
  • configuration-cspaces
The MapR Kubernetes Ecosystem is designed to reduce the surface area of components that need elevated permissions. Host Operators, which need elevated permissions, in multiple namespaces are part of this strategy. For more information about these namespaces, see What Is a Kubernetes Namespace?
Then, the utility sets up RBAC files in mapr-system, including:
  • Service account named cpaceoperator-sa (used for the installation)
  • Cluster role named cspaceoperator-cr (containing cluster-wide permissions)
  • Cluster role binding named cspaceoperator-crb (tying cluster roles to users and service accounts)

It creates similar RBAC files in the drill-operator, spark-operator, and mapr-csi namespaces. For more information about RBAC, see Using RBAC Authorizations.

The installer creates a pull secret, which is used for pulling the images and operators from the repository, and a user secret.

Finally, the utility installs the config maps, operators (combinations of custom resource definition (CRDs) and Controllers), and an instance of the CSI driver.