SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
Highly Available Cloud Foundry
on Kubernetes
Open Source Data Center Conference 2018
Cornelius Schumacher <cschum@suse.com>
Distinguished Engineer
SUSE Linux
2
Where are we?
3
Cloud Computing 101
Application
Runtime
Userland
Kernel
Virtualization
Hardware
Infrastructure
(IaaS)
Platform
(PaaS)
Software
(SaaS)
Application
Runtime
Userland
Kernel
Virtualization
Hardware
Application
Runtime
Userland
Kernel
Virtualization
Hardware
Application
Runtime
Userland
Kernel
Virtualization
Hardware
Container
(CaaS)
Managed by user:
Managed by provider:
4
Cloud Foundry
Operations
●
Failure & recovery
●
Scaling
●
Security & patching
●
Platform upgrades
●
Zero downtime
7
Cloud Foundry
User Applications
Services
Infrastructure
8
Cloud Foundry
User Applications
Services
Containers
IaaS
Buildpack
Operating System
Virtual Machines
Operating System
Operating System
Cloud
Foundry
Application
Runtime
Operating System
Buildpack
User application
Container
11
Application lifecycle management
12
User Applications
Containers
Buildpack
Operating SystemOperating System
Stack
13
Staging the runtime
Container
Operating SystemOperating System
Container
Buildpack
Operating SystemOperating System
User Applications
Container
Buildpack
Operating SystemOperating System
OS Base
Container
Buildpack builder Runtime
14
Benefits
●
Separation of concerns
●
Standardized operation
●
Transparency
●
Manage security of OS and middleware independent of application
15
Cloud Foundry Community
https://cloudfoundry.org/projects/
Extreme Programming
20
Deploying Cloud Foundry with BOSH
IaaS
Virtual Machines
Operating System
BOSH
23
BOSH
Deployment:
●
Upload stemcell
●
Upload release
●
Deploy manifest
cf-deployment
Footprint (HA on OpenStack)
●
22 virtual machines
●
118 GB of RAM
●
56 vCPUs
●
1 TB of storage
●
+ workload specific needs
Source: http://docs.pivotal.io/pivotalcf/2-0/customizing/openstack.html
27
Kubernetes
28
What is Kubernetes?
“Kubernetes is an open-source system for
automating deployment, scaling, and management
of containerized applications.”
– kubernetes.io
●
Nodes, Pods, Containers
●
Network, Storage, Services
●
YAML files to describe desired state
●
API driven service to manage state
29
Platform
(PaaS)
Application
Runtime
Userland
Kernel
Virtualization
Hardware
Application
Runtime
Userland
Kernel
Virtualization
Hardware
Container
(CaaS)
Container Container
30
Running Cloud Foundry on Kubernetes
31
Cloud Foundry
User Applications
Services
Containers
IaaS
Buildpack
Operating System
Virtual Machines
Operating System
Operating System
32
Cloud Foundry
User Applications
Services
Containers
IaaS
Buildpack
Operating SystemOperating System
Containers
Operating System
Kubernetes
CaaS Bare Metal
33
OS Base Image Layer
Stemcell Layer
Operating System (built with Kiwi)
Fissile stemcell
container image
Cloud Foundry
container image
Cloud Foundry release Fissile
Building Cloud Foundry container images
Helm
charts
The stemcell pipeline
openSUSE Leap Base OS Image
BOSH stemcell
Fissile container
base image
Kiwi
BOSH Linux
Stemcell Builder
Product Pipeline
(Concourse)
35
Installing with Helm
vi config.yaml
helm repo add suse <suse-helm-repo>
helm install suse/uaa –namespace uaa –values config.yaml
helm install suse/cf –namespace scf –values config.yaml
helm install suse/console –namespace stratos –values config.yaml
Footprint (HA on Kubernetes)
●
6 Kubernetes nodes (3 masters, 3 workers)
●
72 GB of RAM
●
300 GB of disk space
●
+ workload specific needs
Source: https://www.suse.com/documentation/cloud-application-platform-1/index.html
37
Kubernetes
User Applications
Containers
Buildpack
Operating SystemOperating System
User Applications
Containers
Buildpack
Operating SystemOperating System
Kubernetes
●
Nested containers
●
Two schedulers: Diego and Kubernetes
●
Reconcile: https://github.com/cloudfoundry-incubator/eirini
38
High Availability
Internals
Elastic Runtime
Diego Cell
Diego Cell
Cloud Foundry Services
Diego
Scheduler
APIs and management
Logging
Routing & Access
Services
diego-api
Diego Cell
grootfs garden
runc
buildpack/docker
application
cf-usb
nfs-broker
loggregator
doppler
router
tcp-router
routing-api
api
cc-worker cc-clock
uaa
Internal
Storage
mysql nats
blobstore
cc-uploader
diego-access
diego-brain
diego-locket
mysql-proxy
post-deployment-setup
secret-generation syslog-adapter
syslog-rlp
syslog-scheduler
Internals
Elastic Runtime
Diego Cell
Diego Cell
The critical pieces
Diego
Scheduler
APIs and management
Logging
Routing & Access
Services
diego-api
Diego Cell
grootfs garden
runc
buildpack/docker
application
cf-usb
nfs-broker
loggregator
doppler
router
tcp-router
routing-api
api
cc-worker cc-clock
uaa
Internal
Storage
mysql nats
blobstore
cc-uploader
diego-access
diego-brain
diego-locket
mysql-proxy
post-deployment-setup
secret-generation syslog-adapter
syslog-rlp
syslog-scheduler
Component Flavors
Simply load balanced
• Cloud Controller
• Routers
• Cells
Things that cluster
• MariaDB
• Nats
Active/Passive
• Routing API
• Diego Database
router-235-xrf 1/1
router-235-rgh 1/1
nats-0 1/1
nats-1 1/1
nats-2 1/1
routing-api-147-ftl 1/1
routing-api-147-zbl 0/1
42
HA: true
43
High Availability
config.yaml:
sizing:
api:
count: 2
nats:
count: 3
diego_cell:
count: 3
...
●
Using Kubernetes primitives
●
Pods
●
Storage classes
●
Services
●
Stateful sets
●
Deployments
●
Liveliness/readiness probes
●
...
Kube Services
“A Kubernetes Service is an abstraction
which defines a logical set of Pods and a
policy by which to access them -
sometimes called a micro-service.“
“api.cf.svc.cluster.local:8500”
Kube Stateful Sets
“StatefulSets manage Pods that are based
on an identical container spec. However,
although their specs are the same, the Pods
in a StatefulSet are not interchangeable.
Each Pod has a persistent identifier that it
maintains across any rescheduling.“
“nats-1.cf.svc.cluster.local:4222”
Kube Probes
“The kubelet uses liveliness probes to
know when to restart a Container.“
“The kubelet uses readiness probes to
know when a Container is ready to start
accepting traffic.“
Exposing it using Helm
• Opinionated defaults that allow
you to go from basic to HA by
changing replica count
• Operator is shielded from the
complexity of managing each
HA component individually
What we’ve achieved
• We can horizontally scale the critical pieces to make
sure user applications suffer no downtime
• We can make all Cloud Foundry components HA, so
when upgrades or failures occur, all features are still
available, and the service doesn’t need to be degraded
• We can survive the chaos monkey!
49
Demo
50
https://www.youtube.com/watch?v=BZy1L4F66TQ
●
Full deployment of Cloud Foundry on Kubernetes
●
Running user application with 4 instances
●
A chaos monkey script killing random things every 3 minutes
●
Constant application and API monitoring
●
3 hours compressed to 5 minutes
51
52
54 killings
99.5 % application availability
99.8 % API availability
53
What do we get?
54
Operators
●
IT-as-a-service for (internal) customers
●
Automatic provisioning, deployment and scaling of applications
within existing IT constraints
●
Controlled configuration of the middleware (buildpack and service
control)
●
Similar environment that can be run in private or public cloud
●
No more “templating" of VMs required
●
Visibility into the management, monitoring, logging of systems,
users and applications
$ cf push
Application Developers
“We are able to build a product in the amount of
time it used to take to estimate and decide.”
—Opal Perry, Allstate, Cloud Foundry Summit 2017
57
What are your questions?
References
● Cloud Foundry: https://cloudfoundry.org
● Cloud Foundry Documentation:
http://docs.cloudfoundry.org/
● Recordings of talks from last Cloud Foundry Summit:
https://www.youtube.com/playlist?
list=PLhuMOCWn4P9hsn9q-GRTa77gxavTOnHaa
● BOSH: https://bosh.io
● Kubernetes: https://kubernetes.io
● Helm: https://helm.sh
● SUSE Cloud Foundry: https://github.com/SUSE/scf
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher

Contenu connexe

Tendances

The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
Daniel Krook
 

Tendances (20)

Why kubernetes matters
Why kubernetes mattersWhy kubernetes matters
Why kubernetes matters
 
OSDC 2018 | Hardware-level data-center monitoring with Prometheus by Conrad H...
OSDC 2018 | Hardware-level data-center monitoring with Prometheus by Conrad H...OSDC 2018 | Hardware-level data-center monitoring with Prometheus by Conrad H...
OSDC 2018 | Hardware-level data-center monitoring with Prometheus by Conrad H...
 
OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)OpenStack on Kubernetes (BOS Summit / May 2017 update)
OpenStack on Kubernetes (BOS Summit / May 2017 update)
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
Dev opsec dockerimage_patch_n_lifecyclemanagement_2019
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
OSDC 2018 | Monitoring Kubernetes at Scale by Monica SarbuOSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
OSDC 2018 | Monitoring Kubernetes at Scale by Monica Sarbu
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Introduction to openshift
Introduction to openshiftIntroduction to openshift
Introduction to openshift
 
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep DiveKubecon US 2019: Kubernetes Multitenancy WG Deep Dive
Kubecon US 2019: Kubernetes Multitenancy WG Deep Dive
 
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
Architecture of Cisco Container Platform: A new Enterprise Multi-Cloud Kubern...
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
 
Big data and Kubernetes
Big data and KubernetesBig data and Kubernetes
Big data and Kubernetes
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd PfefferDelivering Cloud Native Batch Solutions - Dodd Pfeffer
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
 
2013 linux days final
2013 linux days final2013 linux days final
2013 linux days final
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
 

Similaire à OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher

Similaire à OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher (20)

Madrid meetup #7 deployment models
Madrid meetup #7   deployment modelsMadrid meetup #7   deployment models
Madrid meetup #7 deployment models
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
Operator Framework Overview
Operator Framework OverviewOperator Framework Overview
Operator Framework Overview
 
Toronto MuleSoft_Meetup_Run Time Fabric - Self Managed Kubernetes.pptx
Toronto MuleSoft_Meetup_Run Time Fabric - Self Managed Kubernetes.pptxToronto MuleSoft_Meetup_Run Time Fabric - Self Managed Kubernetes.pptx
Toronto MuleSoft_Meetup_Run Time Fabric - Self Managed Kubernetes.pptx
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
Francisco Javier Ramirez Urea - Hopla - OSL19
Francisco Javier Ramirez Urea - Hopla - OSL19Francisco Javier Ramirez Urea - Hopla - OSL19
Francisco Javier Ramirez Urea - Hopla - OSL19
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
Container & kubernetes
Container & kubernetesContainer & kubernetes
Container & kubernetes
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10
 
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
 
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor appsKube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
 

Dernier

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher