Julien Girardin presents metal-k8s, an opinionated Kubernetes distribution designed for bare-metal deployments. Julien explains why we chose certain Kubespray plugins over others for Zenko's needs of scalability and petabyte-scale storage over multiple public and private clouds.
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
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
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
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?
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
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
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