SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Cloud Foundry on Kubernetes
Yun Sang Jun
April 5, 2018
chris.sj.yun@gmail.com
Cloud Foundry Pain Point
● IaaS(Hypervisor) required
○ Impossible to install on baremetal
● Difficult to install
○ Leaning Curve about Bosh
● High Cost
○ Cloud Foundry have many components such as UAA, GoRouter..
Kubernetes?
● Container orchestration open source (powered by Google)
● Docker container lifecycle Management
● Easily deploy & upgrade application using Helm(package manager)
● Possible to install on baremetal
Comparison in infrastructure
VM x N
IaaS(Hypervisor)
Go
Router
UAA
Diego
Cell
Traditional Cloud Foundry Cloud Foundry on Kubernetes
...
Kubernetes Cluster
Baremetal or VM
Go
Router
UAA
Diego
Cell
...
● IaaS(Hypervisor) required ● Any Infrastructure with Kubernetes
installed
Comparison in installation
Comparison in cost
Component Traditional Cloud Foundry Cloud Foundry on Kubernetes
api
diego
loggregator
nats
router
uaa
...
At least 2GB memory
ecommened
At least 256MB memory
recommened
Total ≅ 60GB(with 16GB Cell, not HA) ≅ 30GB(with 16GB Cell, not HA)
● Traditional Cloud Foundry requires more memory due to VM’s guest OS
How?
● Cloud Foundry components are containerized
○ https://github.com/SUSE/scf
● Easily install using Helm
○ https://github.com/SUSE/scf/wiki/How-to-Install-SCF
Hands-on Exercise
1. Prepare kubernetes cluster
● Deployed on AWS kubernetes cluster
● 1 Master Node
○ t2.large(2 vCPU, 8GB Memory)
● 3 Worker Node
○ t2.xlarge(4 vCPU, 16GB Memory)
2. Configuring the deployment
<scf-config-values.yaml>
env:
CLUSTER_ADMIN_PASSWORD: changeme
DOMAIN: cf-dev.io
UAA_ADMIN_CLIENT_SECRET: uaa-admin-client-secret
UAA_HOST: uaa.cf-dev.io
kube:
external_ip: 192.168.77.77
storage_class:
persistent: persistent
auth: rbac
3. Deploy UAA
# helm install helm/uaa-opensuse 
--namespace uaa 
--values scf-config-values.yaml
NAME READY STATUS RESTARTS AGE
mysql-0 1/1 Running 0 4d
uaa-f697656cb-ssh8b 1/1 Running 0 4d
# CA_CERT="$(kubectl get secret secret --namespace uaa -o jsonpath="{.data['internal-ca-cert']}" | base64
--decode -)"
4. Deploy CF
NAME READY STATUS RESTARTS
api-0 1/1 Running 0
blobstore-0 1/1 Running 0
cc-clock-66947dfdc-rpftx 1/1 Running 0
cc-uploader-789cd6f9d6-qdjrs 1/1 Running 0
cc-worker-598984c7cd-qtwd7 1/1 Running 0
cf-usb-64b67b45f6-q2h6f 1/1 Running 0
diego-access-97864fdd6-g42hz 1/1 Running 0
diego-api-56c499d88b-h8bxh 1/1 Running 0
diego-brain-b44897599-rvxxx 1/1 Running 0
diego-cell-0 1/1 Running 0
diego-cell-1 1/1 Running 0
diego-locket-69d48ㅇ 1/1 Running 0
doppler-57f5b85497 1/1 Running 0
NAME READY STATUS RESTARTS
loggregator-5cd488 1/1 Running 0
mysql-0 1/1 Running 0
mysql-proxy-6c9b5 1/1 Running 1
nats-0 1/1 Running 0
nfs-broker-6f48f5fc 1/1 Running 0
router-bd866b695 1/1 Running 1
router-bd866b695 1/1 Running 0
routing-api-0 1/1 Running 0
syslog-adapter-55d 1/1 Running 0
syslog-rlp-66f79d4 1/1 Running 0
syslog-scheduler 1/1 Running 1
tcp-router-85f49d 1/1 Running 0
# helm install helm/cf-opensuse --namespace scf --values scf-config-values.yaml 
--set "env.UAA_CA_CERT=${CA_CERT}"
5. Expose endpoint
For the items below, change service type from ClusterIP to NodePort
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
uaa-public NodePort 10.3.0.71 xxx.xxx.xxx 2793:30266/TCP
diego-access-public NodePort 10.3.0.222 xxx.xxx.xxx 2222:30938/TCP
router-public NodePort 10.3.0.43 xxx.xxx.xxx 80:32102/TCP,443:31250/TCP,4443:31407/TCP
6. Configure Load Balancer
Bonus #1 Cloud Foundry Console
Cloud Foundry Console
1. git clone
https://github.com/cl
oudfoundry-incubato
r/stratos
2. cf push -b
nodejs-buildpack
3. Possible to modify
branding
Bonus #2 Ops Manager
Kubernetes Dashboard
1. Monitoring Host, CF
Components status
Bonus #2 Ops Manager
Kubernetes Dashboard
2. Easily Scale-out CF
Components

Weitere ähnliche Inhalte

Was ist angesagt?

Seastar @ NYCC++UG
Seastar @ NYCC++UGSeastar @ NYCC++UG
Seastar @ NYCC++UGAvi Kivity
 
Kubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> StatefulKubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> Statefulsmalltown
 
Build an affordable Cloud Stroage
Build an affordable Cloud StroageBuild an affordable Cloud Stroage
Build an affordable Cloud StroageAlex Lau
 
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...OpenStack Korea Community
 
Introduction to OpenStack Cinder
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack CinderSean McGinnis
 
Glauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformGlauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformDon Marti
 
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...Vietnam Open Infrastructure User Group
 
Powershell dcpp
Powershell dcppPowershell dcpp
Powershell dcppartisriva
 
Sheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstackSheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstackLiu Yuan
 
Object Storage in a Cloud-Native Container Envirnoment
Object Storage in a Cloud-Native Container EnvirnomentObject Storage in a Cloud-Native Container Envirnoment
Object Storage in a Cloud-Native Container EnvirnomentMinio
 
OSMC 2017 | Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...
OSMC 2017 |  Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...OSMC 2017 |  Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...
OSMC 2017 | Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...NETWAYS
 
openSUSE storage workshop 2016
openSUSE storage workshop 2016openSUSE storage workshop 2016
openSUSE storage workshop 2016Alex Lau
 
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...OpenNebula Project
 
Optimizing FUSE for Cloud Storage
Optimizing FUSE for Cloud StorageOptimizing FUSE for Cloud Storage
Optimizing FUSE for Cloud StorageOpenVZ
 
Seastar at Linux Foundation Collaboration Summit
Seastar at Linux Foundation Collaboration SummitSeastar at Linux Foundation Collaboration Summit
Seastar at Linux Foundation Collaboration SummitDon Marti
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Deepak Shetty
 
Enjoying k8s cluster with Minikube and Helm
Enjoying k8s cluster with Minikube and HelmEnjoying k8s cluster with Minikube and Helm
Enjoying k8s cluster with Minikube and Helmロフト くん
 
Open stack cinder
Open stack cinderOpen stack cinder
Open stack cinderYong Luo
 
London open stack meet up - nov 2015
London open stack meet up - nov 2015London open stack meet up - nov 2015
London open stack meet up - nov 2015Darryl Weaver
 
Openstack CPI cloudfoundry
Openstack CPI cloudfoundryOpenstack CPI cloudfoundry
Openstack CPI cloudfoundryYitao Jiang
 

Was ist angesagt? (20)

Seastar @ NYCC++UG
Seastar @ NYCC++UGSeastar @ NYCC++UG
Seastar @ NYCC++UG
 
Kubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> StatefulKubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
Kubernetes Summit 2018 - Kubernetes: Stateless -> Stateful
 
Build an affordable Cloud Stroage
Build an affordable Cloud StroageBuild an affordable Cloud Stroage
Build an affordable Cloud Stroage
 
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
[OpenInfra Days Korea 2018] (Track 3) - CephFS with OpenStack Manila based on...
 
Introduction to OpenStack Cinder
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack Cinder
 
Glauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformGlauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platform
 
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
 
Powershell dcpp
Powershell dcppPowershell dcpp
Powershell dcpp
 
Sheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstackSheepdog: yet another all in-one storage for openstack
Sheepdog: yet another all in-one storage for openstack
 
Object Storage in a Cloud-Native Container Envirnoment
Object Storage in a Cloud-Native Container EnvirnomentObject Storage in a Cloud-Native Container Envirnoment
Object Storage in a Cloud-Native Container Envirnoment
 
OSMC 2017 | Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...
OSMC 2017 |  Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...OSMC 2017 |  Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...
OSMC 2017 | Icinga 2 + Director, flexible Thresholds with Ansible by Kevin H...
 
openSUSE storage workshop 2016
openSUSE storage workshop 2016openSUSE storage workshop 2016
openSUSE storage workshop 2016
 
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
OpenNebulaConf 2016 - Icinga2 - APIFY them all by Achim Ledermüller, Netways ...
 
Optimizing FUSE for Cloud Storage
Optimizing FUSE for Cloud StorageOptimizing FUSE for Cloud Storage
Optimizing FUSE for Cloud Storage
 
Seastar at Linux Foundation Collaboration Summit
Seastar at Linux Foundation Collaboration SummitSeastar at Linux Foundation Collaboration Summit
Seastar at Linux Foundation Collaboration Summit
 
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
Ceph & OpenStack talk given @ OpenStack Meetup @ Bangalore, June 2015
 
Enjoying k8s cluster with Minikube and Helm
Enjoying k8s cluster with Minikube and HelmEnjoying k8s cluster with Minikube and Helm
Enjoying k8s cluster with Minikube and Helm
 
Open stack cinder
Open stack cinderOpen stack cinder
Open stack cinder
 
London open stack meet up - nov 2015
London open stack meet up - nov 2015London open stack meet up - nov 2015
London open stack meet up - nov 2015
 
Openstack CPI cloudfoundry
Openstack CPI cloudfoundryOpenstack CPI cloudfoundry
Openstack CPI cloudfoundry
 

Ähnlich wie Cloud foundry on kubernetes

Bdc from bare metal to k8s
Bdc   from bare metal to k8sBdc   from bare metal to k8s
Bdc from bare metal to k8sChris Adkin
 
CERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sBelmiro Moreira
 
Lessons from Driverless AI going to Production
Lessons from Driverless AI going to ProductionLessons from Driverless AI going to Production
Lessons from Driverless AI going to ProductionSri Ambati
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardwayDave Pitts
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleRafał Leszko
 
JUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinderJUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrindermarekgoldmann
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayAltoros
 
How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014Puppet
 
Guaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike TutkowskiGuaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike Tutkowskibuildacloud
 
JavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jcloudsJavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jcloudszshoylev
 
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014zshoylev
 
ProxySQL on Kubernetes
ProxySQL on KubernetesProxySQL on Kubernetes
ProxySQL on KubernetesRené Cannaò
 
What’s new in cas 4.2
What’s new in cas 4.2 What’s new in cas 4.2
What’s new in cas 4.2 Misagh Moayyed
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesJimmy Angelakos
 
Django deployment with PaaS
Django deployment with PaaSDjango deployment with PaaS
Django deployment with PaaSAppsembler
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environmentsShapeBlue
 
Oracle goldengate and RAC12c
Oracle goldengate and RAC12cOracle goldengate and RAC12c
Oracle goldengate and RAC12cSiraj Ahmed
 
Sprint 148
Sprint 148Sprint 148
Sprint 148ManageIQ
 

Ähnlich wie Cloud foundry on kubernetes (20)

Bdc from bare metal to k8s
Bdc   from bare metal to k8sBdc   from bare metal to k8s
Bdc from bare metal to k8s
 
CERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8s
 
Lessons from Driverless AI going to Production
Lessons from Driverless AI going to ProductionLessons from Driverless AI going to Production
Lessons from Driverless AI going to Production
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
 
JUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinderJUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinder
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with Kubespray
 
kubernetes practice
kubernetes practicekubernetes practice
kubernetes practice
 
How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014
 
Guaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike TutkowskiGuaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike Tutkowski
 
JavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jcloudsJavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jclouds
 
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
 
ProxySQL on Kubernetes
ProxySQL on KubernetesProxySQL on Kubernetes
ProxySQL on Kubernetes
 
What’s new in cas 4.2
What’s new in cas 4.2 What’s new in cas 4.2
What’s new in cas 4.2
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
Django deployment with PaaS
Django deployment with PaaSDjango deployment with PaaS
Django deployment with PaaS
 
Geode on Docker
Geode on DockerGeode on Docker
Geode on Docker
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environments
 
Oracle goldengate and RAC12c
Oracle goldengate and RAC12cOracle goldengate and RAC12c
Oracle goldengate and RAC12c
 
Sprint 148
Sprint 148Sprint 148
Sprint 148
 

Kürzlich hochgeladen

CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsAlirezaBagherian3
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionSneha Padhiar
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 

Kürzlich hochgeladen (20)

Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal Compressors
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
Cost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based questionCost estimation approach: FP to COCOMO scenario based question
Cost estimation approach: FP to COCOMO scenario based question
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 

Cloud foundry on kubernetes

  • 1. Cloud Foundry on Kubernetes Yun Sang Jun April 5, 2018 chris.sj.yun@gmail.com
  • 2. Cloud Foundry Pain Point ● IaaS(Hypervisor) required ○ Impossible to install on baremetal ● Difficult to install ○ Leaning Curve about Bosh ● High Cost ○ Cloud Foundry have many components such as UAA, GoRouter..
  • 3. Kubernetes? ● Container orchestration open source (powered by Google) ● Docker container lifecycle Management ● Easily deploy & upgrade application using Helm(package manager) ● Possible to install on baremetal
  • 4. Comparison in infrastructure VM x N IaaS(Hypervisor) Go Router UAA Diego Cell Traditional Cloud Foundry Cloud Foundry on Kubernetes ... Kubernetes Cluster Baremetal or VM Go Router UAA Diego Cell ... ● IaaS(Hypervisor) required ● Any Infrastructure with Kubernetes installed
  • 6. Comparison in cost Component Traditional Cloud Foundry Cloud Foundry on Kubernetes api diego loggregator nats router uaa ... At least 2GB memory ecommened At least 256MB memory recommened Total ≅ 60GB(with 16GB Cell, not HA) ≅ 30GB(with 16GB Cell, not HA) ● Traditional Cloud Foundry requires more memory due to VM’s guest OS
  • 7. How? ● Cloud Foundry components are containerized ○ https://github.com/SUSE/scf ● Easily install using Helm ○ https://github.com/SUSE/scf/wiki/How-to-Install-SCF
  • 9. 1. Prepare kubernetes cluster ● Deployed on AWS kubernetes cluster ● 1 Master Node ○ t2.large(2 vCPU, 8GB Memory) ● 3 Worker Node ○ t2.xlarge(4 vCPU, 16GB Memory)
  • 10. 2. Configuring the deployment <scf-config-values.yaml> env: CLUSTER_ADMIN_PASSWORD: changeme DOMAIN: cf-dev.io UAA_ADMIN_CLIENT_SECRET: uaa-admin-client-secret UAA_HOST: uaa.cf-dev.io kube: external_ip: 192.168.77.77 storage_class: persistent: persistent auth: rbac
  • 11. 3. Deploy UAA # helm install helm/uaa-opensuse --namespace uaa --values scf-config-values.yaml NAME READY STATUS RESTARTS AGE mysql-0 1/1 Running 0 4d uaa-f697656cb-ssh8b 1/1 Running 0 4d # CA_CERT="$(kubectl get secret secret --namespace uaa -o jsonpath="{.data['internal-ca-cert']}" | base64 --decode -)"
  • 12. 4. Deploy CF NAME READY STATUS RESTARTS api-0 1/1 Running 0 blobstore-0 1/1 Running 0 cc-clock-66947dfdc-rpftx 1/1 Running 0 cc-uploader-789cd6f9d6-qdjrs 1/1 Running 0 cc-worker-598984c7cd-qtwd7 1/1 Running 0 cf-usb-64b67b45f6-q2h6f 1/1 Running 0 diego-access-97864fdd6-g42hz 1/1 Running 0 diego-api-56c499d88b-h8bxh 1/1 Running 0 diego-brain-b44897599-rvxxx 1/1 Running 0 diego-cell-0 1/1 Running 0 diego-cell-1 1/1 Running 0 diego-locket-69d48ㅇ 1/1 Running 0 doppler-57f5b85497 1/1 Running 0 NAME READY STATUS RESTARTS loggregator-5cd488 1/1 Running 0 mysql-0 1/1 Running 0 mysql-proxy-6c9b5 1/1 Running 1 nats-0 1/1 Running 0 nfs-broker-6f48f5fc 1/1 Running 0 router-bd866b695 1/1 Running 1 router-bd866b695 1/1 Running 0 routing-api-0 1/1 Running 0 syslog-adapter-55d 1/1 Running 0 syslog-rlp-66f79d4 1/1 Running 0 syslog-scheduler 1/1 Running 1 tcp-router-85f49d 1/1 Running 0 # helm install helm/cf-opensuse --namespace scf --values scf-config-values.yaml --set "env.UAA_CA_CERT=${CA_CERT}"
  • 13. 5. Expose endpoint For the items below, change service type from ClusterIP to NodePort NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) uaa-public NodePort 10.3.0.71 xxx.xxx.xxx 2793:30266/TCP diego-access-public NodePort 10.3.0.222 xxx.xxx.xxx 2222:30938/TCP router-public NodePort 10.3.0.43 xxx.xxx.xxx 80:32102/TCP,443:31250/TCP,4443:31407/TCP
  • 14. 6. Configure Load Balancer
  • 15. Bonus #1 Cloud Foundry Console Cloud Foundry Console 1. git clone https://github.com/cl oudfoundry-incubato r/stratos 2. cf push -b nodejs-buildpack 3. Possible to modify branding
  • 16. Bonus #2 Ops Manager Kubernetes Dashboard 1. Monitoring Host, CF Components status
  • 17. Bonus #2 Ops Manager Kubernetes Dashboard 2. Easily Scale-out CF Components