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

Made with Slides.com