moar
This commit is contained in:
47
nanometal/k8s-concept-review.org
Normal file
47
nanometal/k8s-concept-review.org
Normal file
@@ -0,0 +1,47 @@
|
||||
#+TITLE: K8s concepts review
|
||||
#+AUTHOR: Adam Mohammed
|
||||
#+DATE: September 18, 2023
|
||||
|
||||
|
||||
At one of the meetings I brought up how similar nano-metal felt to a
|
||||
collection of K8s specifications that make standing up and managing
|
||||
K8s clusters easier. In this document I'll cover the following topics
|
||||
at a high level: Cluster API, CNI, CCM, and CSI.
|
||||
|
||||
First is the Cluster API, this came about as a means for creating and
|
||||
managing kubernetes clusters using kubernetes it self. The cluster API
|
||||
allows an operator to use a so-called "management cluster" to create
|
||||
other K8s clusters known as "Workload clusters." The cluster API is
|
||||
NOT part of the core K8s resources, but is implemented as a set of
|
||||
custom resource definitions and controllers to actually carry out the
|
||||
desired actions.
|
||||
|
||||
A cluster operator can use the cluster-api to create workload clusters
|
||||
by relying on 3 components: bootstrap provider, infrastructure
|
||||
provider, and the control plane provider. Nanometal aims at making
|
||||
provisioning of bare metal machines extensible and scalable by
|
||||
enabling facilities to carry out the desired operations requested by
|
||||
the EMAPI. We can think of the EMAPI as the "management cluster" in
|
||||
this world.
|
||||
|
||||
What Metal has today, maps well to the infrastructure provider, since
|
||||
all the cluster-api has to do is ask for machines with a certain
|
||||
configuration and the provider is responsible for making that
|
||||
happen. I think for this project a bulk of this work is figuring out
|
||||
how we make the infrastructure provider out of our existing
|
||||
components, but let's put that aside for right now and consider the
|
||||
rest of the components.
|
||||
|
||||
The bootstrap and the control plane providers are concepts that also
|
||||
seem important to our goal. We want it to be simple for us to enter a
|
||||
new facility and set up the components we need to start provisioning
|
||||
hardware. The bootstrap provider, in the cluster-api concepts turns a
|
||||
server provisioned with a base OS into an operating K8s node. For us,
|
||||
we probably would also want some process which turns any facility or
|
||||
existing datacenter, into an equinix metal managed facility.
|
||||
|
||||
Once we know about the facility that we need to manage, the concept of
|
||||
the control plane provider maps well with the diagrams from Nanometal
|
||||
so far. We'd want some component that installs the required agent and
|
||||
supporting components in the facilty so we can start to be able to
|
||||
provide metal services there.
|
||||
Reference in New Issue
Block a user