SlideShare a Scribd company logo
Rook/Ceph on K8S Introduction
Oleg Chunikhin | CTO, Kublr
Oleg Chunikhin
CTO, Kublr
‱ 25 years in software architecture & development
‱ Working w/ Kubernetes since its release in 2015
‱ Software architect behind Kublr—an enterprise
ready container management platform
‱ @olgch
Introductions
Automation
Ingress
Custom
Clusters
Infrastructure
Logging Monitoring
Observability
API
Usage
Reporting
RBAC IAM
Air Gap TLS
Certificate
Rotation
Audit
Storage Networking Container
Registry
CI / CD App Mgmt
Infrastructure
Container Runtime Kubernetes
OPERATIONS SECURITY &
GOVERNANCE
Application DevOps Automation
Developers
SRE/Ops/DevOps/
SecOps
‱ Self-service
‱ Compatible
‱ Conformant
‱ Configurable
‱ Open & flexible
‱ Governance
‱ Org multi-tenancy
‱ Single pane of glass
‱ Operations
‱ Monitoring
‱ Log collection
‱ Image management
‱ Identity management
‱ Security
‱ Reliability
‱ Performance
‱ Portability
Hybrid Architecture
● Hybrid ~ Distributed ~ Complex
● Services
○ Connectivity
○ Discovery
● Data
○ Sharding
○ Mirroring / Replication
● BCDR
○ Failure and recovery scenarios
● Architecture
○ Application
○ Middleware
○ Infrastructure
● PoC
● Hardening and Optimization
● Operations
Kubernetes as Container Management
K8s is a solution for:
‱ Uniform application management
‱ Uniform resource management
‱ In-cluster failover, load balancing, traffic management (service mesh)
Challenges:
‱ Heterogeneous middleware ⇒ distributed data is difficult
‱ Heterogeneous infrastructure ⇒ distributed load balancing and ingress is difficult
Infrastructure
K8S
Applications
Infrastructure
K8S
Applications
Managed Middleware
(e.g. RDS, EFS, ...)
Managed Middleware
(e.g. Azure SQL, FS, ...)
?
Kubernetes as Infrastructure and Platform
Adds:
● Homogenous middleware
○ Ceph/Rook, Portworx, Vitess, Strimzi/Kafka
● Open cross-vendor inter-cluster connectivity
○ Submariner
● Uniform BCDR
○ Velero
● Uniform (operator-based) and portable middleware management
● Flexible and portable infrastructure mapping for middleware
Infrastructure
K8S
Applications
VPN
/
WAN
Self-hosted Middleware
(e.g. Ceph/Rook, Vitess, ...)
Infrastructure
K8S
Applications
Managed Middleware
(e.g. RDS, EFS, ...)
Managed Middleware
(e.g. Azure SQL, FS, ...)
VPN
/
WAN
Self-hosted Middleware
(e.g. Ceph/Rook, Vitess, ...)
BCDR
(e.g.
Velero)
BCDR
(e.g.
Velero)
IPSec, Wireguard, ...
Mirroring, Sharding, ...
Demo: Stateful App in Hybrid Environment
● AWS and Azure
● Kublr for Infrastructure and K8S provisioning
● Submariner as reliable VPN
● Ceph / Rook as an example of portable storage middleware
● HA PoC: multi-zone, HA storage
● BCDR PoC: mirroring, failover
● Cost control PoC: spot instances
Infrastructure
K8S
Applications
Submariner
Ceph / Rook storage
Infrastructure
K8S
Applications
AZ, EBS Zones, Azure Disks
Submariner
Ceph / Rook storage
IPSec
Mirroring, Snapshots
Kubernetes Operators
● Operator Pattern
● CRD
○ Spec: component definition
○ Status: component status
● Operator
○ Links the component and CRD
● Operator in this demo
○ Submariner
○ Rook
○ ~ Kublr
VPN: Submariner
Worker Node
Worker Node
Passive Gateway Node
Active Gateway Node
Gateway Label
Gateway Label
Public Network
Passive Gateway Node
Active Gateway Node
Gateway Label
Gateway Label
Worker Node
Worker Node
Cluster Node
Route Agent
Gateway Engine
VxLAN Traffic
IPSEC Traffic
Storage: Rook / Ceph
Data pool
mon
mon
mon
config
data
raw data
osd
raw data
osd
raw data
mds
osd
Data pool
Image Image
Ceph
Filesystem
Components
Abstractions
Ceph
rgw
S3/Swift
Object Store
mgr
Rook
Operator
CSI plugins
osd
osd
ganesha
NFS
CephCluster
Block Pool
Object Store
Filesystem
NFS
Object Store User
Provisioners
rbd-mirror
Stack DeïŹnition
SOURCE TYPE DESCRIPTION
Infrastructure Specification Virtual Machines, Networks, Disks, etc
Cloud Formation, ARM Templates, Terraform, Kublr
Kubernetes Specification Cluster topology, masters and workers number, groups, K8S components configuration, versions
System/support Software
Specification
Kubernetes system components: e.g. overlay network, DNS, etc
(Self-)managed application services: Cloud Native Storage (Ceph/Rook), DB (Vitess),
Messaging (Strimzi/Kafka, Nats), API Management (Ambassador, Kong), etc
DevOps tools: CI (Jenkins), CD (Spinnaker), Repositories (Nexus, Artifactory) etc
Provisioning scripts Provisioning procedures and processes: shell, Makefile, Jenkinsfile, CircleCI etc
kind: Cluster
metadata:
name: demo-hybrid-1-aws
spec:
...
network:
apiServerSecurePort: 6443
locations:
- name: aws1
aws:
...
master:
minNodes: 1
...
locations:
- aws:
...
nodes:
- name: group1
minNodes: 3
...
locations:
- aws:
...
features:
monitoring: { ... }
packages:
my-package: { ... }
Cluster SpeciïŹcation
Kublr metadata for the cluster - name,
space, labels
Cluster-wide non provider specific
configuration - network, cluster-wide
settings, k8s version, etc
Infrastructure provider specific cluster-wide
configuration - account, access creds, AZs
etc
Infrastructure provider specific group
configuration - AZs, image, group type,
zone locking, etc
Group-specific non provider specific
configuration - k8s options, autoscaling,
etc
Kublr-specific built-in K8S components
Additional custom helm packages
kind: Cluster
metadata:
name: demo-hybrid-1-aws
spec:
...
network:
clusterCIDR: 100.64.0.0/10
dnsDomain: cluster1.local
stubDomains:
- dns: cluster2.local
servers:
- 100.128.0.10
locations:
- name: aws1
aws:
resourcesCloudFormationExtras:
SgDefaultSubmariner500:
Type: AWS::EC2::SecurityGroupIngress
...
...
master:
minNodes: 1
...
locations:
- aws:
groupType: asg-mip
mixedInstancesPolicyCloudFormationExtras:
...
nodes:
- name: group1
minNodes: 3
...
locations:
- aws:
groupType: asg-mip
mixedInstancesPolicyCloudFormationExtras:
...
pinToZone: pin
availabilityZones:
- us-east-1a
- us-east-1b
- us-east-1c
Infrastructure
Additional ports
for VPN
kind: Cluster
metadata:
name: demo-hybrid-2-azure
spec:
...
network:
clusterCIDR: 100.128.0.0/10
dnsDomain: cluster2.local
stubDomains:
- dns: cluster1.local
servers:
- 100.64.0.10
locations:
- name: azure1
azure:
virtualNetworkSubnetCidrBlock: 172.18.0.0/16
armTemplateExtras:
securityGroup:
...
...
master:
minNodes: 1
...
locations:
- azure:
armTemplateExtras:
...
priority: Spot
nodes:
- name: group1
minNodes: 3
...
locations:
- azure:
armTemplateExtras:
...
priority: Spot
zones:
- '1'
- '2'
- '3'
pinToZone: pin
Non-intersecting
CIDR
Mutual
discoverability
Mixed instance policy
and spot instances
Multi-zone
kind: Cluster
metadata:
name: demo-hybrid-1-aws
spec:
...
packages:
submariner-broker: { ... }
rook-ceph: { ... }
rook-ceph-additional-configuration: { ... }
rook-ceph-cluster: { ... }
Middleware
Prepare namespace for Submariner
broker
Ceph cluster definition
Rook operator
Auxiliary preconfigured CRD (e.g.
snapshot class etc)
Kubernetes Persistence
Kubernetes Cluster
Namespace
Pod
Container 1 Container 2
Volume
Volume
Mount
Volume
Device
“actual”
storage
Persistent Volume
Volume
Claim
Spec
Spec
2 PVC with SC
5 Pod reference PVC
1 Storage Class
Storage
Class
Provisioner
3
Provision storage
Create PV
4 PVC bound to PV
Demo: RBD and CephFS
Data pool
Image
Data pool
mon
mon
mon
config
data
raw data
osd
raw data
osd
raw data
mds
osd
Data pool
Image Image
Ceph Filesystem
Data pool (data)
Data pool (md)
PV
Pod
PVC
PV
Pod
PVC
PV
Pod
PVC
PV
PVC
Pod Pod
Pod
sub-volumes
Rook
Operators
CephBlockPool
CephBlockPool CephFilesystem
StorageClass StorageClass
Demo: Mirroring
Data pool
Image
mon
mon
mon
config
data
raw data
osd
raw data
osd
raw data
osd
Data pool
Image
PV
Pod
PVC
rbd-mirror
Rook
Operators
Data pool
Image
mon
mon
mon
config
data
raw data
osd
raw data
osd
raw data
osd
Data pool
Image
PV
Pod
PVC
rbd-mirror
Rook
Operators
primary replay
CephBlockPool
mirroring:
enabled:
true
mode: image
peers: ...
CephBlockPool
mirroring:
enabled:
true
mode: image
peers: ...
VolumeReplicationClass VolumeReplicationClass
VolumeReplication VolumeReplication
Snapshot
Demo: Snapshots
PV
Pod
PVC
Rook
Operators
VolumeSnapshotClass
Snapshot PV
PVC
Demo: Cloning
PV
Pod
PVC
Rook
Operators
PV
PVC
Beyond the Demo
● Optimization: Resources, Throughput, ...
● Management: Quotas, Topology, ...
● Ceph: Object Store, NFS, ...
● BCDR: Velero
● Connectivity: VPN, Perring, Submariner, ...
References
@olgch; @kublr
github.com/kublr/hybrid-demo
rook.io/docs/rook/v1.7/
docs.ceph.com/en/pacific/
submariner.io/
docs.kublr.com/
docs.kublr.com/reference/kublr-cluster-spec/
Q&A
Oleg Chunikhin
CTO
oleg@kublr.com
@olgch
Follow Us
@kublr
Thank You

More Related Content

PPTX
Kafka 101
PDF
Cassandra Introduction & Features
PPTX
Ceph Performance and Sizing Guide
PPTX
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
PDF
[OpenStack] êł”ê°œ 소프튞웚얎 였픈슀택 ìž…ëŹž & 파헀ìč˜êž°
PPTX
kafka
PDF
SeaweedFS introduction
Kafka 101
Cassandra Introduction & Features
Ceph Performance and Sizing Guide
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
[OpenStack] êł”ê°œ 소프튞웚얎 였픈슀택 ìž…ëŹž & 파헀ìč˜êž°
kafka
SeaweedFS introduction

What's hot (20)

PPTX
Druid deep dive
PPTX
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
PDF
Prometheus
PPTX
Introduction to rook
PDF
Network-Connected Development with ZeroMQ
 
PDF
Storing 16 Bytes at Scale
PPTX
Introduction to Ansible
PDF
Analyzing Petabyte Scale Financial Data with Apache Pinot and Apache Kafka | ...
PDF
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
PPTX
Internal Hive
PPTX
Apache Arrow: In Theory, In Practice
PPTX
Real-time Analytics with Trino and Apache Pinot
PPTX
Interop 2018 - Understanding Kubernetes - Brian Gracely
PDF
ksqlDB로 싀시간 데읎터 변환 및 슀튞늌 ìȘ늏
PPTX
Distributed Applications with Apache Zookeeper
PDF
Apache Kafka Architecture & Fundamentals Explained
PDF
MapR Tutorial Series
PPTX
Spark
PDF
[pgday.Seoul 2022] 서ëč„슀개펞시 PostgreSQL 도입Ʞ - 진소늰 & êč€íƒœì •
PDF
Intro to Telegraf
Druid deep dive
Apache Spark Architecture | Apache Spark Architecture Explained | Apache Spar...
Prometheus
Introduction to rook
Network-Connected Development with ZeroMQ
 
Storing 16 Bytes at Scale
Introduction to Ansible
Analyzing Petabyte Scale Financial Data with Apache Pinot and Apache Kafka | ...
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Internal Hive
Apache Arrow: In Theory, In Practice
Real-time Analytics with Trino and Apache Pinot
Interop 2018 - Understanding Kubernetes - Brian Gracely
ksqlDB로 싀시간 데읎터 변환 및 슀튞늌 ìȘ늏
Distributed Applications with Apache Zookeeper
Apache Kafka Architecture & Fundamentals Explained
MapR Tutorial Series
Spark
[pgday.Seoul 2022] 서ëč„슀개펞시 PostgreSQL 도입Ʞ - 진소늰 & êč€íƒœì •
Intro to Telegraf
Ad

Similar to Intro into Rook and Ceph on Kubernetes (20)

PDF
Hybrid architecture solutions with kubernetes and the cloud native stack
 
PDF
Kubernetes stack reliability
PDF
How Self-Healing Nodes and Infrastructure Management Impact Reliability
 
PDF
Kubernetes in Hybrid Environments with Submariner
 
PDF
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
PDF
DevOps in AWS with Kubernetes
PPTX
DevOps with Kubernetes
PDF
WSO2 Kubernetes Reference Architecture - Nov 2017
PDF
Kubernetes
PPTX
Kubernetes Manchester - 6th December 2018
PDF
Kubernetes From Scratch .pdf
PDF
Kubernetes on AWS
PDF
Kubernetes on AWS
PDF
Mastering Kubernetes on AWS - Tel Aviv Summit
PDF
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
PPTX
Centralizing Kubernetes and Container Operations
 
PDF
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
 
PDF
Containers, orchestration and security, oh my!
PDF
EKS Workshop
PPTX
Introduction to kubernetes
Hybrid architecture solutions with kubernetes and the cloud native stack
 
Kubernetes stack reliability
How Self-Healing Nodes and Infrastructure Management Impact Reliability
 
Kubernetes in Hybrid Environments with Submariner
 
ContainerDayVietnam2016: Kubernetes State-of-the-art Container Management Pla...
DevOps in AWS with Kubernetes
DevOps with Kubernetes
WSO2 Kubernetes Reference Architecture - Nov 2017
Kubernetes
Kubernetes Manchester - 6th December 2018
Kubernetes From Scratch .pdf
Kubernetes on AWS
Kubernetes on AWS
Mastering Kubernetes on AWS - Tel Aviv Summit
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Centralizing Kubernetes and Container Operations
 
Portable CI/CD Environment as Code with Kubernetes, Kublr and Jenkins
 
Containers, orchestration and security, oh my!
EKS Workshop
Introduction to kubernetes
Ad

More from Kublr (20)

PDF
Container Runtimes and Tooling, v2
 
PDF
Container Runtimes and Tooling
 
PDF
Multi-cloud Kubernetes BCDR with Velero
 
PDF
Kubernetes Networking 101
 
PDF
Kubernetes Ingress 101
 
PDF
Kubernetes persistence 101
 
PDF
Kubernetes 101
 
PPTX
Advanced Scheduling in Kubernetes
 
PDF
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
 
PPTX
Canary Releases on Kubernetes with Spinnaker, Istio, & Prometheus (2020)
 
PDF
How to Run Kubernetes in Restrictive Environments
 
PPTX
Building Portable Applications with Kubernetes
 
PDF
Introduction to Kubernetes RBAC
 
PDF
Kubernetes as Infrastructure Abstraction
 
PDF
Centralizing Kubernetes Management in Restrictive Environments
 
PPTX
Kubernetes in Highly Restrictive Environments
 
PPTX
The Evolution of your Kubernetes Cluster
 
PPTX
Canary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
 
PPTX
Kubernetes data science and machine learning
 
PPTX
Implement Advanced Scheduling Techniques in Kubernetes
 
Container Runtimes and Tooling, v2
 
Container Runtimes and Tooling
 
Multi-cloud Kubernetes BCDR with Velero
 
Kubernetes Networking 101
 
Kubernetes Ingress 101
 
Kubernetes persistence 101
 
Kubernetes 101
 
Advanced Scheduling in Kubernetes
 
Setting up CI/CD Pipeline with Kubernetes and Kublr step by-step
 
Canary Releases on Kubernetes with Spinnaker, Istio, & Prometheus (2020)
 
How to Run Kubernetes in Restrictive Environments
 
Building Portable Applications with Kubernetes
 
Introduction to Kubernetes RBAC
 
Kubernetes as Infrastructure Abstraction
 
Centralizing Kubernetes Management in Restrictive Environments
 
Kubernetes in Highly Restrictive Environments
 
The Evolution of your Kubernetes Cluster
 
Canary Releases on Kubernetes w/ Spinnaker, Istio, and Prometheus
 
Kubernetes data science and machine learning
 
Implement Advanced Scheduling Techniques in Kubernetes
 

Recently uploaded (20)

PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Introduction to Artificial Intelligence
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
 
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
AI in Product Development-omnex systems
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPT
JAVA ppt tutorial basics to learn java programming
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
medical staffing services at VALiNTRY
PDF
Digital Strategies for Manufacturing Companies
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
history of c programming in notes for students .pptx
ManageIQ - Sprint 268 Review - Slide Deck
PTS Company Brochure 2025 (1).pdf.......
Wondershare Filmora 15 Crack With Activation Key [2025
How to Migrate SBCGlobal Email to Yahoo Easily
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Introduction to Artificial Intelligence
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
 
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
AI in Product Development-omnex systems
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
How Creative Agencies Leverage Project Management Software.pdf
JAVA ppt tutorial basics to learn java programming
Operating system designcfffgfgggggggvggggggggg
Odoo POS Development Services by CandidRoot Solutions
Materi_Pemrograman_Komputer-Looping.pptx
medical staffing services at VALiNTRY
Digital Strategies for Manufacturing Companies
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Online Work Permit System for Fast Permit Processing
history of c programming in notes for students .pptx

Intro into Rook and Ceph on Kubernetes

  • 1. Rook/Ceph on K8S Introduction Oleg Chunikhin | CTO, Kublr
  • 2. Oleg Chunikhin CTO, Kublr ‱ 25 years in software architecture & development ‱ Working w/ Kubernetes since its release in 2015 ‱ Software architect behind Kublr—an enterprise ready container management platform ‱ @olgch Introductions
  • 3. Automation Ingress Custom Clusters Infrastructure Logging Monitoring Observability API Usage Reporting RBAC IAM Air Gap TLS Certificate Rotation Audit Storage Networking Container Registry CI / CD App Mgmt Infrastructure Container Runtime Kubernetes OPERATIONS SECURITY & GOVERNANCE
  • 4. Application DevOps Automation Developers SRE/Ops/DevOps/ SecOps ‱ Self-service ‱ Compatible ‱ Conformant ‱ Configurable ‱ Open & flexible ‱ Governance ‱ Org multi-tenancy ‱ Single pane of glass ‱ Operations ‱ Monitoring ‱ Log collection ‱ Image management ‱ Identity management ‱ Security ‱ Reliability ‱ Performance ‱ Portability
  • 5. Hybrid Architecture ● Hybrid ~ Distributed ~ Complex ● Services ○ Connectivity ○ Discovery ● Data ○ Sharding ○ Mirroring / Replication ● BCDR ○ Failure and recovery scenarios ● Architecture ○ Application ○ Middleware ○ Infrastructure ● PoC ● Hardening and Optimization ● Operations
  • 6. Kubernetes as Container Management K8s is a solution for: ‱ Uniform application management ‱ Uniform resource management ‱ In-cluster failover, load balancing, traffic management (service mesh) Challenges: ‱ Heterogeneous middleware ⇒ distributed data is difficult ‱ Heterogeneous infrastructure ⇒ distributed load balancing and ingress is difficult Infrastructure K8S Applications Infrastructure K8S Applications Managed Middleware (e.g. RDS, EFS, ...) Managed Middleware (e.g. Azure SQL, FS, ...) ?
  • 7. Kubernetes as Infrastructure and Platform Adds: ● Homogenous middleware ○ Ceph/Rook, Portworx, Vitess, Strimzi/Kafka ● Open cross-vendor inter-cluster connectivity ○ Submariner ● Uniform BCDR ○ Velero ● Uniform (operator-based) and portable middleware management ● Flexible and portable infrastructure mapping for middleware Infrastructure K8S Applications VPN / WAN Self-hosted Middleware (e.g. Ceph/Rook, Vitess, ...) Infrastructure K8S Applications Managed Middleware (e.g. RDS, EFS, ...) Managed Middleware (e.g. Azure SQL, FS, ...) VPN / WAN Self-hosted Middleware (e.g. Ceph/Rook, Vitess, ...) BCDR (e.g. Velero) BCDR (e.g. Velero) IPSec, Wireguard, ... Mirroring, Sharding, ...
  • 8. Demo: Stateful App in Hybrid Environment ● AWS and Azure ● Kublr for Infrastructure and K8S provisioning ● Submariner as reliable VPN ● Ceph / Rook as an example of portable storage middleware ● HA PoC: multi-zone, HA storage ● BCDR PoC: mirroring, failover ● Cost control PoC: spot instances Infrastructure K8S Applications Submariner Ceph / Rook storage Infrastructure K8S Applications AZ, EBS Zones, Azure Disks Submariner Ceph / Rook storage IPSec Mirroring, Snapshots
  • 9. Kubernetes Operators ● Operator Pattern ● CRD ○ Spec: component definition ○ Status: component status ● Operator ○ Links the component and CRD ● Operator in this demo ○ Submariner ○ Rook ○ ~ Kublr
  • 10. VPN: Submariner Worker Node Worker Node Passive Gateway Node Active Gateway Node Gateway Label Gateway Label Public Network Passive Gateway Node Active Gateway Node Gateway Label Gateway Label Worker Node Worker Node Cluster Node Route Agent Gateway Engine VxLAN Traffic IPSEC Traffic
  • 11. Storage: Rook / Ceph Data pool mon mon mon config data raw data osd raw data osd raw data mds osd Data pool Image Image Ceph Filesystem Components Abstractions Ceph rgw S3/Swift Object Store mgr Rook Operator CSI plugins osd osd ganesha NFS CephCluster Block Pool Object Store Filesystem NFS Object Store User Provisioners rbd-mirror
  • 12. Stack DeïŹnition SOURCE TYPE DESCRIPTION Infrastructure Specification Virtual Machines, Networks, Disks, etc Cloud Formation, ARM Templates, Terraform, Kublr Kubernetes Specification Cluster topology, masters and workers number, groups, K8S components configuration, versions System/support Software Specification Kubernetes system components: e.g. overlay network, DNS, etc (Self-)managed application services: Cloud Native Storage (Ceph/Rook), DB (Vitess), Messaging (Strimzi/Kafka, Nats), API Management (Ambassador, Kong), etc DevOps tools: CI (Jenkins), CD (Spinnaker), Repositories (Nexus, Artifactory) etc Provisioning scripts Provisioning procedures and processes: shell, Makefile, Jenkinsfile, CircleCI etc
  • 13. kind: Cluster metadata: name: demo-hybrid-1-aws spec: ... network: apiServerSecurePort: 6443 locations: - name: aws1 aws: ... master: minNodes: 1 ... locations: - aws: ... nodes: - name: group1 minNodes: 3 ... locations: - aws: ... features: monitoring: { ... } packages: my-package: { ... } Cluster SpeciïŹcation Kublr metadata for the cluster - name, space, labels Cluster-wide non provider specific configuration - network, cluster-wide settings, k8s version, etc Infrastructure provider specific cluster-wide configuration - account, access creds, AZs etc Infrastructure provider specific group configuration - AZs, image, group type, zone locking, etc Group-specific non provider specific configuration - k8s options, autoscaling, etc Kublr-specific built-in K8S components Additional custom helm packages
  • 14. kind: Cluster metadata: name: demo-hybrid-1-aws spec: ... network: clusterCIDR: 100.64.0.0/10 dnsDomain: cluster1.local stubDomains: - dns: cluster2.local servers: - 100.128.0.10 locations: - name: aws1 aws: resourcesCloudFormationExtras: SgDefaultSubmariner500: Type: AWS::EC2::SecurityGroupIngress ... ... master: minNodes: 1 ... locations: - aws: groupType: asg-mip mixedInstancesPolicyCloudFormationExtras: ... nodes: - name: group1 minNodes: 3 ... locations: - aws: groupType: asg-mip mixedInstancesPolicyCloudFormationExtras: ... pinToZone: pin availabilityZones: - us-east-1a - us-east-1b - us-east-1c Infrastructure Additional ports for VPN kind: Cluster metadata: name: demo-hybrid-2-azure spec: ... network: clusterCIDR: 100.128.0.0/10 dnsDomain: cluster2.local stubDomains: - dns: cluster1.local servers: - 100.64.0.10 locations: - name: azure1 azure: virtualNetworkSubnetCidrBlock: 172.18.0.0/16 armTemplateExtras: securityGroup: ... ... master: minNodes: 1 ... locations: - azure: armTemplateExtras: ... priority: Spot nodes: - name: group1 minNodes: 3 ... locations: - azure: armTemplateExtras: ... priority: Spot zones: - '1' - '2' - '3' pinToZone: pin Non-intersecting CIDR Mutual discoverability Mixed instance policy and spot instances Multi-zone
  • 15. kind: Cluster metadata: name: demo-hybrid-1-aws spec: ... packages: submariner-broker: { ... } rook-ceph: { ... } rook-ceph-additional-configuration: { ... } rook-ceph-cluster: { ... } Middleware Prepare namespace for Submariner broker Ceph cluster definition Rook operator Auxiliary preconfigured CRD (e.g. snapshot class etc)
  • 16. Kubernetes Persistence Kubernetes Cluster Namespace Pod Container 1 Container 2 Volume Volume Mount Volume Device “actual” storage Persistent Volume Volume Claim Spec Spec 2 PVC with SC 5 Pod reference PVC 1 Storage Class Storage Class Provisioner 3 Provision storage Create PV 4 PVC bound to PV
  • 17. Demo: RBD and CephFS Data pool Image Data pool mon mon mon config data raw data osd raw data osd raw data mds osd Data pool Image Image Ceph Filesystem Data pool (data) Data pool (md) PV Pod PVC PV Pod PVC PV Pod PVC PV PVC Pod Pod Pod sub-volumes Rook Operators CephBlockPool CephBlockPool CephFilesystem StorageClass StorageClass
  • 18. Demo: Mirroring Data pool Image mon mon mon config data raw data osd raw data osd raw data osd Data pool Image PV Pod PVC rbd-mirror Rook Operators Data pool Image mon mon mon config data raw data osd raw data osd raw data osd Data pool Image PV Pod PVC rbd-mirror Rook Operators primary replay CephBlockPool mirroring: enabled: true mode: image peers: ... CephBlockPool mirroring: enabled: true mode: image peers: ... VolumeReplicationClass VolumeReplicationClass VolumeReplication VolumeReplication
  • 21. Beyond the Demo ● Optimization: Resources, Throughput, ... ● Management: Quotas, Topology, ... ● Ceph: Object Store, NFS, ... ● BCDR: Velero ● Connectivity: VPN, Perring, Submariner, ...
  • 23. Q&A