SlideShare a Scribd company logo
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
1979 2008 2011 2013 2014 2015 2016 2018
Early
Container
Concept
Linux
Containers
Cloud
Foundry CF + K8SKubernetes
chroot LXC Warden
Containers
Docker
Containers
RunC
OCI
Garden-
Docker
Garden-
RunC
https://www.cloudfoundry.org/cf-containerization/https://bosh.io
Deploy onto
Virtualization Platform
Deploy onto
Container Platform
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
Kubernetes-based Deployment
Reduce Cloud Foundry Resource
Footprint & Cost
Simplify Deployment and Day 2
Operations
Min. 32 Virtual Machines
(using managed kubernetes)
Total 56 vCore CPU + 256 GB
RAM
Min. 2 worker nodes
(using managed kubernetes)
Total 8 vCore CPU + 32 GB RAM
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
Source: https://hk.saowen.com/a/69566e8ab506f60477c82e081bb8e3ab90c0458a1d79cabc457577710e80a89d (Chinese Only)
Enterprise
Application
s
App AutoScaler
Job Scheduler
Cloud
Foundry
CLI
Stratos
Web UI
User Auth
Service
Connectors
On PremisePublic Cloud
SUSE Cloud Application Platform
API
https://www.youtube.com/watch?v=QwSMJd58SyQ
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
Launch a
Kubernetes
Cluster on
Alicloud
Use Helm to
deploy SUSE
Cloud Foundry
Start Using SUSE
Cloud Foundry on
Kubernetes
powered by
Alicloud
https://raw.githubusercontent.com/SUSE/scf/develop/bin/dev/kube-ready-state-check.sh
Run this script in
your cluster node to
check
Choose
Region
Instance of
min. 16GB
RAM
min. 60GB
Disk
2
3
1 Enter
Name
1
Click on the
kubernetes
cluster name 2
Follow instruction to
create your
kubeconfig file
$ kubectl version --short
Client Version: v1.10.7
Server Version: v1.11.2
$ helm version --short
Client: v2.9.1+g20adb27
Server: v2.9.1+g20adb27
$ helm repo add suse https://kubernetes-charts.suse.com/
"suse" has been added to your repositories
$ helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
suse https://kubernetes-charts.suse.com/
$ helm search suse
NAME CHART VERSION APP VERSION DESCRIPTION
suse/cf 2.13.3 A Helm chart for SUSE Cloud Foundry
suse/cf-usb-sidecar-mysql 1.0.1 A Helm chart for SUSE Universal Service Broker ...
suse/cf-usb-sidecar-postgres 1.0.1 A Helm chart for SUSE Universal Service Broker ...
suse/console 2.1.0 A Helm chart for deploying Stratos UI Console
suse/uaa 2.13.3 A Helm chart for SUSE UAA
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
$ helm repo add suse https://kubernetes-charts.suse.com/
"suse" has been added to your repositories
$ helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
suse https://kubernetes-charts.suse.com/
$ helm search suse
NAME CHART VERSION APP VERSION DESCRIPTION
suse/cf 2.13.3 A Helm chart for SUSE Cloud Foundry
suse/cf-usb-sidecar-mysql 1.0.1 A Helm chart for SUSE Universal Service Broker ...
suse/cf-usb-sidecar-postgres 1.0.1 A Helm chart for SUSE Universal Service Broker ...
suse/console 2.1.0 A Helm chart for deploying Stratos UI Console
suse/uaa 2.13.3 A Helm chart for SUSE UAA
$ helm install suse/uaa 
--name susecf-uaa --namespace uaa --values scf-config-values.yaml
$ SECRET=$(kubectl get pods --namespace uaa 
-o jsonpath='{.items[?(.metadata.name=="uaa-
0")].spec.containers[?(.name=="uaa")].env[?(.name=="INTERNAL_CA_CERT")].valueFrom.secretKeyRef.name
}’)
$ CA_CERT="$(kubectl get secret $SECRET --namespace uaa  -o jsonpath="{.data['internal-ca-cert']}"
| base64 --decode -)"
$ helm install suse/cf 
--name susecf-scf --namespace scf 
--values scf-config-values.yaml 
--set "secrets.UAA_CA_CERT=${CA_CERT}”
NAME READY STATUS RESTARTS AGE IP NODE
adapter-0 1/1 Running 1 1d 172.16.2.101 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
api-0 1/1 Running 3 1d 172.16.1.126 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
blobstore-0 1/1 Running 1 1d 172.16.1.130 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
cc-clock-0 1/1 Running 1 1d 172.16.2.98 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
cc-uploader-0 1/1 Running 1 1d 172.16.1.119 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
cc-worker-0 1/1 Running 1 1d 172.16.2.97 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
cf-usb-0 1/1 Running 1 1d 172.16.1.129 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
diego-access-0 1/1 Running 1 1d 172.16.1.120 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
diego-api-0 1/1 Running 1 1d 172.16.0.45 ap-southeast-1.i-t4n4u1jmuzikc2iikbt9
diego-brain-0 1/1 Running 1 1d 172.16.2.99 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
diego-cell-0 1/1 Running 5 1d 172.16.0.52 ap-southeast-1.i-t4n4u1jmuzikc2iikbt9
doppler-0 1/1 Running 1 1d 172.16.1.124 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
log-api-0 1/1 Running 1 1d 172.16.2.95 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
mysql-0 1/1 Running 1 1d 172.16.2.100 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
nats-0 1/1 Running 1 1d 172.16.1.123 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
nfs-broker-0 1/1 Running 1 1d 172.16.2.102 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
post-deployment-setup-1-4kvxz 0/1 Completed 0 1d 172.16.0.39 ap-southeast-1.i-t4n4u1jmuzikc2iikbt9
postgres-0 1/1 Running 1 1d 172.16.1.125 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
router-0 1/1 Running 1 1d 172.16.1.122 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
routing-api-0 1/1 Running 1 1d 172.16.2.94 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
secret-generation-1-kmjfr 0/1 Completed 0 1d 172.16.2.85 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
syslog-scheduler-0 1/1 Running 1 1d 172.16.1.127 ap-southeast-1.i-t4n4u1jmuzikc2iikbta
tcp-router-0 1/1 Running 1 1d 172.16.2.103 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8
$ watch –c ‘kubectl get pods –n scf –o wide’
$ helm install suse/console 
--name susecf-console --namespace stratos
--values scf-config-values.yaml
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
• Efforts led by SUSE
• Collaborating with IBM, SAP, and
many other contributors
• Modern UI Design with AngularJS
• Used by IBM, Orange, SAP and
other public cloud foundry projects.
• Efforts led by SUSE team, formerly working at
HPE
• Contribution include IBM, SAP, and other
technology vendors
• Convert BOSH release into Docker images and
generate helm charts
• Same Cloud Foundry Developer Experience
• Familiar Kubernetes Operator Experience
• Kubernetes Native Cloud Foundry Application Runtime
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
• Leverage the latest
Innovations to stay in
the game
• Earn bonus points by
improving business agility
• Take the Top Spot by
Transforming IT
• Wanna to simplify your
digital transformation
journey?
• Talk to the SUSE team to
see how they can help
• Visit suse.com for
more information
• Follow us on social media
Thank you for joining us today!

More Related Content

整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案

  • 5. 1979 2008 2011 2013 2014 2015 2016 2018 Early Container Concept Linux Containers Cloud Foundry CF + K8SKubernetes chroot LXC Warden Containers Docker Containers RunC OCI Garden- Docker Garden- RunC
  • 8. Kubernetes-based Deployment Reduce Cloud Foundry Resource Footprint & Cost Simplify Deployment and Day 2 Operations Min. 32 Virtual Machines (using managed kubernetes) Total 56 vCore CPU + 256 GB RAM Min. 2 worker nodes (using managed kubernetes) Total 8 vCore CPU + 32 GB RAM
  • 11. Enterprise Application s App AutoScaler Job Scheduler Cloud Foundry CLI Stratos Web UI User Auth Service Connectors On PremisePublic Cloud SUSE Cloud Application Platform API
  • 14. Launch a Kubernetes Cluster on Alicloud Use Helm to deploy SUSE Cloud Foundry Start Using SUSE Cloud Foundry on Kubernetes powered by Alicloud
  • 16. Choose Region Instance of min. 16GB RAM min. 60GB Disk 2 3 1 Enter Name
  • 17. 1 Click on the kubernetes cluster name 2 Follow instruction to create your kubeconfig file
  • 18. $ kubectl version --short Client Version: v1.10.7 Server Version: v1.11.2 $ helm version --short Client: v2.9.1+g20adb27 Server: v2.9.1+g20adb27
  • 19. $ helm repo add suse https://kubernetes-charts.suse.com/ "suse" has been added to your repositories $ helm repo list NAME URL stable https://kubernetes-charts.storage.googleapis.com local http://127.0.0.1:8879/charts suse https://kubernetes-charts.suse.com/ $ helm search suse NAME CHART VERSION APP VERSION DESCRIPTION suse/cf 2.13.3 A Helm chart for SUSE Cloud Foundry suse/cf-usb-sidecar-mysql 1.0.1 A Helm chart for SUSE Universal Service Broker ... suse/cf-usb-sidecar-postgres 1.0.1 A Helm chart for SUSE Universal Service Broker ... suse/console 2.1.0 A Helm chart for deploying Stratos UI Console suse/uaa 2.13.3 A Helm chart for SUSE UAA
  • 21. $ helm repo add suse https://kubernetes-charts.suse.com/ "suse" has been added to your repositories $ helm repo list NAME URL stable https://kubernetes-charts.storage.googleapis.com local http://127.0.0.1:8879/charts suse https://kubernetes-charts.suse.com/ $ helm search suse NAME CHART VERSION APP VERSION DESCRIPTION suse/cf 2.13.3 A Helm chart for SUSE Cloud Foundry suse/cf-usb-sidecar-mysql 1.0.1 A Helm chart for SUSE Universal Service Broker ... suse/cf-usb-sidecar-postgres 1.0.1 A Helm chart for SUSE Universal Service Broker ... suse/console 2.1.0 A Helm chart for deploying Stratos UI Console suse/uaa 2.13.3 A Helm chart for SUSE UAA $ helm install suse/uaa --name susecf-uaa --namespace uaa --values scf-config-values.yaml
  • 22. $ SECRET=$(kubectl get pods --namespace uaa -o jsonpath='{.items[?(.metadata.name=="uaa- 0")].spec.containers[?(.name=="uaa")].env[?(.name=="INTERNAL_CA_CERT")].valueFrom.secretKeyRef.name }’) $ CA_CERT="$(kubectl get secret $SECRET --namespace uaa -o jsonpath="{.data['internal-ca-cert']}" | base64 --decode -)" $ helm install suse/cf --name susecf-scf --namespace scf --values scf-config-values.yaml --set "secrets.UAA_CA_CERT=${CA_CERT}”
  • 23. NAME READY STATUS RESTARTS AGE IP NODE adapter-0 1/1 Running 1 1d 172.16.2.101 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 api-0 1/1 Running 3 1d 172.16.1.126 ap-southeast-1.i-t4n4u1jmuzikc2iikbta blobstore-0 1/1 Running 1 1d 172.16.1.130 ap-southeast-1.i-t4n4u1jmuzikc2iikbta cc-clock-0 1/1 Running 1 1d 172.16.2.98 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 cc-uploader-0 1/1 Running 1 1d 172.16.1.119 ap-southeast-1.i-t4n4u1jmuzikc2iikbta cc-worker-0 1/1 Running 1 1d 172.16.2.97 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 cf-usb-0 1/1 Running 1 1d 172.16.1.129 ap-southeast-1.i-t4n4u1jmuzikc2iikbta diego-access-0 1/1 Running 1 1d 172.16.1.120 ap-southeast-1.i-t4n4u1jmuzikc2iikbta diego-api-0 1/1 Running 1 1d 172.16.0.45 ap-southeast-1.i-t4n4u1jmuzikc2iikbt9 diego-brain-0 1/1 Running 1 1d 172.16.2.99 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 diego-cell-0 1/1 Running 5 1d 172.16.0.52 ap-southeast-1.i-t4n4u1jmuzikc2iikbt9 doppler-0 1/1 Running 1 1d 172.16.1.124 ap-southeast-1.i-t4n4u1jmuzikc2iikbta log-api-0 1/1 Running 1 1d 172.16.2.95 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 mysql-0 1/1 Running 1 1d 172.16.2.100 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 nats-0 1/1 Running 1 1d 172.16.1.123 ap-southeast-1.i-t4n4u1jmuzikc2iikbta nfs-broker-0 1/1 Running 1 1d 172.16.2.102 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 post-deployment-setup-1-4kvxz 0/1 Completed 0 1d 172.16.0.39 ap-southeast-1.i-t4n4u1jmuzikc2iikbt9 postgres-0 1/1 Running 1 1d 172.16.1.125 ap-southeast-1.i-t4n4u1jmuzikc2iikbta router-0 1/1 Running 1 1d 172.16.1.122 ap-southeast-1.i-t4n4u1jmuzikc2iikbta routing-api-0 1/1 Running 1 1d 172.16.2.94 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 secret-generation-1-kmjfr 0/1 Completed 0 1d 172.16.2.85 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 syslog-scheduler-0 1/1 Running 1 1d 172.16.1.127 ap-southeast-1.i-t4n4u1jmuzikc2iikbta tcp-router-0 1/1 Running 1 1d 172.16.2.103 ap-southeast-1.i-t4n4u1jmuzikc2iikbt8 $ watch –c ‘kubectl get pods –n scf –o wide’
  • 24. $ helm install suse/console --name susecf-console --namespace stratos --values scf-config-values.yaml
  • 27. • Efforts led by SUSE • Collaborating with IBM, SAP, and many other contributors • Modern UI Design with AngularJS • Used by IBM, Orange, SAP and other public cloud foundry projects.
  • 28. • Efforts led by SUSE team, formerly working at HPE • Contribution include IBM, SAP, and other technology vendors • Convert BOSH release into Docker images and generate helm charts
  • 29. • Same Cloud Foundry Developer Experience • Familiar Kubernetes Operator Experience • Kubernetes Native Cloud Foundry Application Runtime
  • 31. • Leverage the latest Innovations to stay in the game • Earn bonus points by improving business agility • Take the Top Spot by Transforming IT
  • 32. • Wanna to simplify your digital transformation journey? • Talk to the SUSE team to see how they can help • Visit suse.com for more information • Follow us on social media
  • 33. Thank you for joining us today!