Kubernetes Library
License: Kube-Lib is APLv2
This document provides information on how to use the Digital Rebar Kube-Lib content add-on. Use of this content supports common functions needed for other Kubernetes workflows like KRIB and EdgeLab.
Digital Rebar Kube-Lib¶
Kube-Lib is a library of standard Kubernetes (and k3s) installation processes leveraging v4.6 cluster pattern and other advanced features of Digital Rebar.
Note
Kube-Lib replaces install components in KRIB and edge-lab.
Local vs Online Requirements¶
By default, Kube-Lib uses online components; it will attempt to download and store local copies when posssible. For that reason, our goal is to look for local copies first. Depending on the use-case, that may allow operators to use Kube-Lib is Air-Gap environments by pre-populating resources.
Kube-Lib Basics¶
Kube-Lib is a Content Pack addition to Digital Rebar Provision. It uses Clusters which provide atomic guarantees. This allows for Kubernetes leader(s) to be dynamically elected, forcing all other nodes to wait until the kubeadm on the elected leader to generate an installation token for the rest of the nodes. Once the Kubernetes leader is bootstrapped, the Digital Rebar system facilitates the security token hand-off to rest of the cluster so they can join without any operator intervention.
Elected -vs- Specified Leaders¶
By default, the Kube-Lib process will dynamically elect a leader(s) for the Kubernetes cluster. This leader is simply selected by the cluster manager and the rest of the cluster will coalesce around the elected leader(s).
If you wish to specify a specific machines to be the designated leaders using cluster/leader
to true, you can do so by setting a Param on the target machine(s).
Operating Kube-Lib¶
Use kubectl
- from anywhere¶
Once the Kubernetes cluster build has been completed, you may use the kubectl
command to both verify and manage the cluster. You will need to download the conf file with the appropriate tokens and information to connect to and authenticate your kubectl
connections. Below is an example of doing this: