SlideShare a Scribd company logo
1 of 37
Download to read offline
featuring
Julien Girardin
R&D Engineer @Scality
Kubernetes Meetup Paris
May 31st, 2018
Metal-k8s:
an opinionated Kubernetes distribution
Zenko
Agenda
- Intro: Who is Scality?
- A brief history: transitioning (Zenko) from Docker Swarm to Kubernetes
- Intro to Metal-K8s: why bare-metal?
- Zoom in: Opinionated choices of plugins
- Demo Metal-K8s deployment
- Demo Zenko deployment
- Q&A
Who is Scality?
Intro
FOR ANY STANDARD x86 SERVER PLATFORM
100% SOFTWARE SOLUTION
PRIVATE CLOUD PUBLIC CLOUDS
……
MULTI-CLOUD DATA CONTROLLER
TO ACCESS AND MANAGE DATA ACROSS CLOUDS
object & file storage in a single system · peer to peer architecture
· unlimited scalability · unbounded scale-out performance · most
adaptive set of robust data protection mechanisms · autonomous
self-healing · designed in close collaboration with the biggest
(cloud-scale) service providers in the world
a single, unified API across all clouds to simplify application
development · the only multi-cloud data management solution
independent of the storage system · stores data in standard cloud
format to make the data consumable directly by native cloud apps and
services · true multi-cloud IT · global search across all managed data
independent of cloud location
……… … …
An opinionated Kubernetes distribution
with a focus on long-term on-prem
deployments
- S3 connector (RING product) is based on Docker
- Swarm was the logical extension
- Docker Swarm was THE solution to orchestrate Docker over a cluster in
2016
Why Docker/Docker Swarm ?
Why Kubernetes ?
- Run everywhere, on any cloud => provide API abstraction
- Control plane run server side (compared to docker compose)
- Self-healing
- Auto-scaling (of pods, of cluster, of resources requests)
- Huge set of plugins (centralised logging, monitoring, ingress)
- Big community
- Docker announcement to support Kubernetes in 2017
- Customers trust and want it
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
1) Add new
deployment.yaml
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
2.a) API OK,
store to ectd
2.b) deployment ↓
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
3.b) Job for me ?
YES !
3.a) New object
might interest
controller
manager ↓
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
4.a) It seems that 3
more pods are
needed
4.b) Ok for 3 pods,
store in etcd
4.c) pods * 3 ↓
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
5.a) This, will
interest ↓scheduler
5.b) Job for me ?
YES !
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
6.a) Computation:
- 2 pods for first node
- 1 pod for second node
6.b) Affectation OK,
store in etcd
6.c) The list of
pod of each
node is
updated
Kubernetes
source https://x-team.com/blog/introduction-kubernetes-architecture/
7.a) Nodes:
your list has
changed
7.b) Jobs for me ?
I have 2 pods to run
7.b) Jobs for me ?
I have 1 pod to run
An opinionated Kubernetes distribution with
a focus on long-term on-prem deployments
A commitment to bare-metal
Metal-k8s
● KOPS
● EKS (one day ?)
AWS
● GKE
GCP
● AKS
Azure
● ?
Bare
Metal
What is Bare-Metal for us ?
North
Pole
Network ?
VS
Metal-k8s
LOAD-BALANCER
Control-Plane/M
aster
Data-Plane/
Nodes
Outside World
etcd, kube-apiserver,
kube-controller-manager,
kube-scheduler, docker,
kubelet, kube-proxy
docker, kubelet,
kube-proxy
Deep Dive
1) Inventory precheck
2) ping (connectivity check)
3) precheck about centos (kernel)
4) precheck on storage
5) create lvm vg/lv
6) => call kubespray ! <=
7) register lv into kubespray
8) deploy nginx ingress
9) deploy prometheus + grafana
10) deploy elasticsearch + kibana
Metal-k8s: quality
Inventory
netcd
% 2 = 1
nmaster
> 1
nnode
> 0
Connectivity
Docker ?
Docker ?
YES
Docker !
YES:
● We have experience
● Customer have experience
○ But kubernetes only supports 1.11.2 to
1.13.1 and 17.03.x
■ We decided on 17.03.x… stable but old
1) Inventory precheck
2) ping (connectivity check)
3) precheck about centos (kernel)
4) precheck on storage
5) create lvm vg/lv
6) => call kubespray ! <=
7) register lv into kubespray
8) deploy nginx ingress
9) deploy prometheus + grafana
10) deploy elasticsearch + kibana
Metal-k8s: quality
Storage driver
⇕
OS release
⇕
kernel version
Btrfs/Zfs AUFS DEVICE-
MAPPER
OVERLAY OVERLAY2
Require disk
formatting
Not supported by
kernel anymore
since 3.18
Warning : bad
performance for
loopback-lvm
Run out of
inode easily
Require
disabling
selinux, require
Centos7.4
(kernel
3.10.0-693)
Docker storage driver = overlay2
- Best performance/stability with less requirements
- With docker < 18.02, detection over kernel capabilities for overlay2 is
buggy (require force storage driver for docker 17.03)
- Educated bet on future
Docker Storage Driver: which and why?
1) Inventory precheck
2) ping (connectivity check)
3) precheck about centos (kernel)
4) precheck on storage
5) create lvm vg/lv
6) => call kubespray ! <=
7) register lv into kubespray
8) deploy nginx ingress
9) deploy prometheus + grafana
10) deploy elasticsearch + kibana
Metal-k8s: light local storage
Efficient storage for small to medium clusters
Centos 7 LVM
LVM
Pre-provisioning of all LV → no need for monitoring of host resources
Dynamic provisioning? Waiting for native Kubernetes support
Local Storage
1) Inventory precheck
2) ping (connectivity check)
3) precheck about centos (kernel)
4) precheck on storage
5) create lvm vg/lv
6) => call kubespray ! <=
7) register lv into kubespray
8) deploy nginx ingress
9) deploy prometheus + grafana
10) deploy elasticsearch + kibana
Metal-k8s: light local storage
Ingress: Best friend of an S3 backend
Ingress:
- http routing
- ssl termination
PodPod Pod Pod
USERSIngress: “Map HTTP outside world to kubernetes services”
- Routing based on virtual hostname, path
- Could automatically get certificate (letsencrypt,
Internal CA) with cert-manager
Nginx ingress deployed as a daemonset with hostPort
1) Inventory precheck
2) ping (connectivity check)
3) precheck about centos (kernel)
4) precheck on storage
5) create lvm vg/lv
6) => call kubespray ! <=
7) register lv into kubespray
8) deploy nginx ingress
9) deploy prometheus + grafana
10) deploy elasticsearch + kibana
Metal-k8s: monitoring at scale
AWS GKE Kubespray Metal-k8s
Logs X-ray Stackdriver - Fluentd - ES -
Kibana
Metrology Cloudwatch Stackdriver - Prometheus -
Grafana
Storage EBS GCB - Local drive
Monitoring: a matter of choice
1) Inventory precheck
2) ping (connectivity check)
3) precheck about centos (kernel)
4) precheck on storage
5) create lvm vg/lv
6) => call kubespray ! <=
7) register lv into kubespray
8) deploy nginx ingress
9) deploy prometheus
10) deploy elasticsearch
Metal-k8s: a Kubespray backbone
- Opensource
- Battle tested
Metal-k8s: How to keep up
- Follow kubespray PR, Contribute
- Follow Storage SIG, and other SIG
- CI for install path, upgrade path
Metal-k8s: mais au fait pourquoi?
A metal-k8s deployment
A Zenko over metal-k8s deployment
Demos
https://github.com/scality/metal-k8s
https://github.com/Zempashi/metal-k8s-meetup
https://github.com/scality/Zenko
An opinionated Kubernetes distribution
with a focus on long-term on-prem
deployments
Too shy?
https://forum.zenko.io
zenko@scality.com
@zenko
@GiorgioRegni
@eikke
Q&A
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup

More Related Content

What's hot

KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101KubeAcademy
 
Intro into Rook and Ceph on Kubernetes
Intro into Rook and Ceph on KubernetesIntro into Rook and Ceph on Kubernetes
Intro into Rook and Ceph on KubernetesKublr
 
Magnum first-class-resource
Magnum first-class-resourceMagnum first-class-resource
Magnum first-class-resourceAdrian Otto
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with KubernetesDeivid Hahn Fração
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchAll Things Open
 
Network plugins for kubernetes
Network plugins for kubernetesNetwork plugins for kubernetes
Network plugins for kubernetesinwin stack
 
Kubernetes Basic Operation
Kubernetes Basic OperationKubernetes Basic Operation
Kubernetes Basic OperationSimon Su
 
K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210Che-Chia Chang
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMartin Etmajer
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKevin Lynch
 
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014brendandburns
 
DEVNET-1157 Meet Magnum, OpenStack¹s New Containers-as-a-Service Project
DEVNET-1157	Meet Magnum, OpenStack¹s New Containers-as-a-Service ProjectDEVNET-1157	Meet Magnum, OpenStack¹s New Containers-as-a-Service Project
DEVNET-1157 Meet Magnum, OpenStack¹s New Containers-as-a-Service ProjectCisco DevNet
 
Container Runtimes and Tooling
Container Runtimes and ToolingContainer Runtimes and Tooling
Container Runtimes and ToolingKublr
 
Learning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNILearning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNIHungWei Chiu
 
How to Achieve Canary Deployment on Kubernetes
How to Achieve Canary Deployment on KubernetesHow to Achieve Canary Deployment on Kubernetes
How to Achieve Canary Deployment on KubernetesHanLing Shen
 
The state of containerd
The state of containerdThe state of containerd
The state of containerdDocker, Inc.
 
A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)
A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)
A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)Dam Viet
 

What's hot (20)

KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101KubeCon EU 2016: Kubernetes Storage 101
KubeCon EU 2016: Kubernetes Storage 101
 
Intro into Rook and Ceph on Kubernetes
Intro into Rook and Ceph on KubernetesIntro into Rook and Ceph on Kubernetes
Intro into Rook and Ceph on Kubernetes
 
Magnum first-class-resource
Magnum first-class-resourceMagnum first-class-resource
Magnum first-class-resource
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratch
 
Network plugins for kubernetes
Network plugins for kubernetesNetwork plugins for kubernetes
Network plugins for kubernetes
 
Kubernetes Basic Operation
Kubernetes Basic OperationKubernetes Basic Operation
Kubernetes Basic Operation
 
K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the Datacenter
 
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
 
DEVNET-1157 Meet Magnum, OpenStack¹s New Containers-as-a-Service Project
DEVNET-1157	Meet Magnum, OpenStack¹s New Containers-as-a-Service ProjectDEVNET-1157	Meet Magnum, OpenStack¹s New Containers-as-a-Service Project
DEVNET-1157 Meet Magnum, OpenStack¹s New Containers-as-a-Service Project
 
Container Runtimes and Tooling
Container Runtimes and ToolingContainer Runtimes and Tooling
Container Runtimes and Tooling
 
Learning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNILearning how AWS implement AWS VPC CNI
Learning how AWS implement AWS VPC CNI
 
How to Achieve Canary Deployment on Kubernetes
How to Achieve Canary Deployment on KubernetesHow to Achieve Canary Deployment on Kubernetes
How to Achieve Canary Deployment on Kubernetes
 
The state of containerd
The state of containerdThe state of containerd
The state of containerd
 
A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)
A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)
A deep dive into container technology - Vietnam Web Summit 2020 (18/12/2020)
 
Demystfying container-networking
Demystfying container-networkingDemystfying container-networking
Demystfying container-networking
 
Rex gke-clustree
Rex gke-clustreeRex gke-clustree
Rex gke-clustree
 

Similar to Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup

Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibilityDocker, Inc.
 
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019Karl Isenberg
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationHank Preston
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxmacchiang
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-finalMichel Schildmeijer
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesQAware GmbH
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacySteve Wong
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesQAware GmbH
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLee Calcote
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfLibbySchulze
 
Kubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfKubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfArzooGupta16
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesDoKC
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesDoKC
 
Openstack days taiwan 2016 0712
Openstack days taiwan 2016 0712Openstack days taiwan 2016 0712
Openstack days taiwan 2016 0712Naoto Gohko
 
JDO 2019: What you should be aware of before setting up kubernetes on premise...
JDO 2019: What you should be aware of before setting up kubernetes on premise...JDO 2019: What you should be aware of before setting up kubernetes on premise...
JDO 2019: What you should be aware of before setting up kubernetes on premise...PROIDEA
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudJung-Hong Kim
 

Similar to Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup (20)

Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linux
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Pro2516 10 things about oracle and k8s.pptx-final
Pro2516   10 things about oracle and k8s.pptx-finalPro2516   10 things about oracle and k8s.pptx-final
Pro2516 10 things about oracle and k8s.pptx-final
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacy
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & Kubernetes
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
 
Kubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfKubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdf
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
 
Running a database on local NVMes on Kubernetes
Running a database on local NVMes on KubernetesRunning a database on local NVMes on Kubernetes
Running a database on local NVMes on Kubernetes
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Openstack days taiwan 2016 0712
Openstack days taiwan 2016 0712Openstack days taiwan 2016 0712
Openstack days taiwan 2016 0712
 
JDO 2019: What you should be aware of before setting up kubernetes on premise...
JDO 2019: What you should be aware of before setting up kubernetes on premise...JDO 2019: What you should be aware of before setting up kubernetes on premise...
JDO 2019: What you should be aware of before setting up kubernetes on premise...
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
 

Recently uploaded

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 

Recently uploaded (20)

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 

Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup

  • 1. featuring Julien Girardin R&D Engineer @Scality Kubernetes Meetup Paris May 31st, 2018 Metal-k8s: an opinionated Kubernetes distribution Zenko
  • 2. Agenda - Intro: Who is Scality? - A brief history: transitioning (Zenko) from Docker Swarm to Kubernetes - Intro to Metal-K8s: why bare-metal? - Zoom in: Opinionated choices of plugins - Demo Metal-K8s deployment - Demo Zenko deployment - Q&A
  • 4. FOR ANY STANDARD x86 SERVER PLATFORM 100% SOFTWARE SOLUTION PRIVATE CLOUD PUBLIC CLOUDS …… MULTI-CLOUD DATA CONTROLLER TO ACCESS AND MANAGE DATA ACROSS CLOUDS object & file storage in a single system · peer to peer architecture · unlimited scalability · unbounded scale-out performance · most adaptive set of robust data protection mechanisms · autonomous self-healing · designed in close collaboration with the biggest (cloud-scale) service providers in the world a single, unified API across all clouds to simplify application development · the only multi-cloud data management solution independent of the storage system · stores data in standard cloud format to make the data consumable directly by native cloud apps and services · true multi-cloud IT · global search across all managed data independent of cloud location ……… … …
  • 5. An opinionated Kubernetes distribution with a focus on long-term on-prem deployments - S3 connector (RING product) is based on Docker - Swarm was the logical extension - Docker Swarm was THE solution to orchestrate Docker over a cluster in 2016 Why Docker/Docker Swarm ?
  • 6. Why Kubernetes ? - Run everywhere, on any cloud => provide API abstraction - Control plane run server side (compared to docker compose) - Self-healing - Auto-scaling (of pods, of cluster, of resources requests) - Huge set of plugins (centralised logging, monitoring, ingress) - Big community - Docker announcement to support Kubernetes in 2017 - Customers trust and want it
  • 10. Kubernetes source https://x-team.com/blog/introduction-kubernetes-architecture/ 3.b) Job for me ? YES ! 3.a) New object might interest controller manager ↓
  • 11. Kubernetes source https://x-team.com/blog/introduction-kubernetes-architecture/ 4.a) It seems that 3 more pods are needed 4.b) Ok for 3 pods, store in etcd 4.c) pods * 3 ↓
  • 13. Kubernetes source https://x-team.com/blog/introduction-kubernetes-architecture/ 6.a) Computation: - 2 pods for first node - 1 pod for second node 6.b) Affectation OK, store in etcd 6.c) The list of pod of each node is updated
  • 14. Kubernetes source https://x-team.com/blog/introduction-kubernetes-architecture/ 7.a) Nodes: your list has changed 7.b) Jobs for me ? I have 2 pods to run 7.b) Jobs for me ? I have 1 pod to run
  • 15. An opinionated Kubernetes distribution with a focus on long-term on-prem deployments A commitment to bare-metal Metal-k8s ● KOPS ● EKS (one day ?) AWS ● GKE GCP ● AKS Azure ● ? Bare Metal
  • 16. What is Bare-Metal for us ? North Pole Network ? VS
  • 19. 1) Inventory precheck 2) ping (connectivity check) 3) precheck about centos (kernel) 4) precheck on storage 5) create lvm vg/lv 6) => call kubespray ! <= 7) register lv into kubespray 8) deploy nginx ingress 9) deploy prometheus + grafana 10) deploy elasticsearch + kibana Metal-k8s: quality Inventory netcd % 2 = 1 nmaster > 1 nnode > 0 Connectivity
  • 22. Docker ! YES: ● We have experience ● Customer have experience ○ But kubernetes only supports 1.11.2 to 1.13.1 and 17.03.x ■ We decided on 17.03.x… stable but old
  • 23. 1) Inventory precheck 2) ping (connectivity check) 3) precheck about centos (kernel) 4) precheck on storage 5) create lvm vg/lv 6) => call kubespray ! <= 7) register lv into kubespray 8) deploy nginx ingress 9) deploy prometheus + grafana 10) deploy elasticsearch + kibana Metal-k8s: quality Storage driver ⇕ OS release ⇕ kernel version
  • 24. Btrfs/Zfs AUFS DEVICE- MAPPER OVERLAY OVERLAY2 Require disk formatting Not supported by kernel anymore since 3.18 Warning : bad performance for loopback-lvm Run out of inode easily Require disabling selinux, require Centos7.4 (kernel 3.10.0-693) Docker storage driver = overlay2 - Best performance/stability with less requirements - With docker < 18.02, detection over kernel capabilities for overlay2 is buggy (require force storage driver for docker 17.03) - Educated bet on future Docker Storage Driver: which and why?
  • 25. 1) Inventory precheck 2) ping (connectivity check) 3) precheck about centos (kernel) 4) precheck on storage 5) create lvm vg/lv 6) => call kubespray ! <= 7) register lv into kubespray 8) deploy nginx ingress 9) deploy prometheus + grafana 10) deploy elasticsearch + kibana Metal-k8s: light local storage
  • 26. Efficient storage for small to medium clusters Centos 7 LVM LVM Pre-provisioning of all LV → no need for monitoring of host resources Dynamic provisioning? Waiting for native Kubernetes support Local Storage
  • 27. 1) Inventory precheck 2) ping (connectivity check) 3) precheck about centos (kernel) 4) precheck on storage 5) create lvm vg/lv 6) => call kubespray ! <= 7) register lv into kubespray 8) deploy nginx ingress 9) deploy prometheus + grafana 10) deploy elasticsearch + kibana Metal-k8s: light local storage
  • 28. Ingress: Best friend of an S3 backend Ingress: - http routing - ssl termination PodPod Pod Pod USERSIngress: “Map HTTP outside world to kubernetes services” - Routing based on virtual hostname, path - Could automatically get certificate (letsencrypt, Internal CA) with cert-manager Nginx ingress deployed as a daemonset with hostPort
  • 29. 1) Inventory precheck 2) ping (connectivity check) 3) precheck about centos (kernel) 4) precheck on storage 5) create lvm vg/lv 6) => call kubespray ! <= 7) register lv into kubespray 8) deploy nginx ingress 9) deploy prometheus + grafana 10) deploy elasticsearch + kibana Metal-k8s: monitoring at scale
  • 30. AWS GKE Kubespray Metal-k8s Logs X-ray Stackdriver - Fluentd - ES - Kibana Metrology Cloudwatch Stackdriver - Prometheus - Grafana Storage EBS GCB - Local drive Monitoring: a matter of choice
  • 31. 1) Inventory precheck 2) ping (connectivity check) 3) precheck about centos (kernel) 4) precheck on storage 5) create lvm vg/lv 6) => call kubespray ! <= 7) register lv into kubespray 8) deploy nginx ingress 9) deploy prometheus 10) deploy elasticsearch Metal-k8s: a Kubespray backbone - Opensource - Battle tested
  • 32. Metal-k8s: How to keep up - Follow kubespray PR, Contribute - Follow Storage SIG, and other SIG - CI for install path, upgrade path
  • 33. Metal-k8s: mais au fait pourquoi?
  • 34.
  • 35. A metal-k8s deployment A Zenko over metal-k8s deployment Demos https://github.com/scality/metal-k8s https://github.com/Zempashi/metal-k8s-meetup https://github.com/scality/Zenko
  • 36. An opinionated Kubernetes distribution with a focus on long-term on-prem deployments Too shy? https://forum.zenko.io zenko@scality.com @zenko @GiorgioRegni @eikke Q&A