Metal³
Baremetal Host Provisioning for Kubernetes
metal3.io
Who we are
Experienced Developer, @ Ericsson
Feruzjon Muyassarov
Senior Developer , @ Ericsson
Kashif Khan
Metal³
Virtualized vs Baremetal
Metal³
management
storage
compute
network
Kubernetes (CAAS)
CNI + CSI
CNF
CNF
CNF
Virtualization layer
CNF - Containerized Network Function
CAAS - Containers as a Service
CNI - Container Networking Interface
CSI - Container Storage Interface
Virtualized vs Baremetal
Metal³
management
storage
compute
network
Kubernetes (CAAS)
CNI + CSI
CNF
CNF
CNF
CNF - Containerized Network Function
CAAS - Containers as a Service
CNI - Container Networking Interface
CSI - Container Storage Interface
What is Metal³
- Baremetal Host Provisioning for Kubernetes
- Kubernetes native API
- An Infrastructure provider for the Cluster API (K8S SIG life-cycle)
- Self-hosted
- Self-managed
-
CNCF sandbox project
Metal³
Management
cluster
Cluster API
What's Cluster API
Metal³
Cluster API: https://github.com/kubernetes-sigs/cluster-api
Management
cluster
Target
cluster
Cluster API
clusterctl init \
--core cluster-api:v0.3.11 \
--bootstrap kubeadm:v0.3.11 \
--control-plane kubeadm:v0.3.11 \
--infrastructure
What's Cluster API
Metal³
Cluster API: https://github.com/kubernetes-sigs/cluster-api
Management
cluster
Target
cluster
Cluster API
clusterctl init \
--core cluster-api:v0.3.11 \
--bootstrap kubeadm:v0.3.11 \
--control-plane kubeadm:v0.3.11 \
--infrastructure gcp
What's Cluster API
Metal³
Cluster API: https://github.com/kubernetes-sigs/cluster-api
What's Cluster API
Management
cluster
Target
cluster
Cluster API
clusterctl init \
--core cluster-api:v0.3.11 \
--bootstrap kubeadm:v0.3.11 \
--control-plane kubeadm:v0.3.11 \
--infrastructure aws
Target
cluster
Metal³
Cluster API: https://github.com/kubernetes-sigs/cluster-api
Management
cluster
Target
cluster
Cluster API
clusterctl init \
--core cluster-api:v0.3.11 \
--bootstrap kubeadm:v0.3.11 \
--control-plane kubeadm:v0.3.11 \
--infrastructure azure
Target
cluster
Target
cluster
What's Cluster API
Metal³
Cluster API: https://github.com/kubernetes-sigs/cluster-api
Management
cluster
Target
cluster
Cluster API
Target
cluster
Target
cluster
Target
cluster
What's Cluster API
Metal³
clusterctl init \
--core cluster-api:v0.3.11 \
--bootstrap kubeadm:v0.3.11 \
--control-plane kubeadm:v0.3.11 \
--infrastructure metal3
Metal³
Master
Worker
Worker
Metal³
Master
Machine
GCP
Machine
Baremetal
Operator
Metal3
Machine
AWS
Machine
BareMetalHost
Metal³ Stack
Metal³
management
storage
compute
network
Metal³ Stack
Metal³
management
storage
compute
network
Metal³ Stack
Metal³
Ironic documentation : https://docs.openstack.org/ironic/latest/
management
storage
compute
network
Ironic
Baremetal Operator
+
Metal³ Stack
Metal³
management
storage
compute
network
Ironic documentation : https://docs.openstack.org/ironic/latest/
Ironic
Baremetal Operator
+
Cluster-api- provider-metal3
Cluster API
Let's see a
Let's see a
Metal³
Metal³
Master
Worker
Worker
Target cluster
Metal³
bare metal servers
Master
Worker
Worker
Target cluster
Metal³
Minikube
#1
Management cluster
Management cluster == Source cluster
Metal³
#1
BMO
CAPM3
CAPI
BMO - Baremetal Operator
CAPM3 - Cluster-api-provider-metal3
CAPI - Cluster-api
Management cluster == Source cluster
Minikube
Management cluster
Metal³
BMO
CAPM3
CAPI
BMO - Baremetal Operator
CAPM3 - Cluster-api-provider-metal3
CAPI - Cluster-api
Libvirt Virtual Machines
Management cluster
Minikube
#2
Metal³
Libvirt Virtual Machines
BareMetal
Host
Metal3
Machine
Metal3
Cluster
Metal3
Cluster
Cluster
Management cluster
BMO
CAPM3
CAPI
Machine
Minikube
#3
BMO - Baremetal Operator
CAPM3 - Cluster-api-provider-metal3
CAPI - Cluster-api
Metal³
#4
Master
Worker
Worker
Target cluster
Management cluster
Minikube
CAPI
CAPM3
BMO
See the recorded demo: https://asciinema.org/a/366226
Metal³
Metal³ Community
Contributors: Red Hat, Ericsson, Mirantis, Dell EMC, Fujitsu, AT&T
#cluster-api-baremetal channel on K8S slack
https://groups.google.com/g/metal3-dev
Community meetings in Zoom. Every alternate Wednesday, @13:00 UTC
Github: https://github.com/metal3-io
Meeting recordings & Demos: Metal³ YouTube channel
Mailing list:
Website: https://metal3.io
@metal3_io
- Slides:
- Zoom link: https://bit.ly/3mOpJev
- Community meeting recordings: https://bit.ly/3kHybKO
- Demo: https://asciinema.org/a/366226
Useful links
E/// Open Source Conf
By fmuyassarov
E/// Open Source Conf
Metal³ (“metal kubed”) is an open-source bare metal host provisioning tool created to enable Kubernetes-native infrastructure management. With Metal³ bare metal hosts can be managed via custom resources through the Kubernetes API. The Metal³ project is also building integration with the Kubernetes cluster-api project, allowing Metal³ to be used as an infrastructure backend for Machine objects from the Cluster API. This presentation will introduce the project and its motivations and will provide an overview of what has been accomplished so far.
- 403