SpringOne Platform 2019
Title: Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019- Keynote Day 1 (Cornelia Davis)
Youtube: https://youtu.be/aJKQifLkhXI
3. Build
Run
Kubernetes for
Developers and IT
Multi-cloud
Multi-cluster
Multi-teamEnterprise Kubernetes
On-premises | Public cloud | Edge
Modern applications
Traditional | COTS | Cloud-native
Manage
5. Build
Build modern applications
Bring Services to Kubernetes
Leverage Kubernetes for Application Services
Continue Leadership in Application Service
Pivotal Platform
6. Build
Build modern applications
Bring Services to Kubernetes
Leverage Kubernetes for Application Services
Continue Leadership in Application Service
Pivotal Platform
7. Native rolling application deployments
Self-service app redeployments and revisions
Improved App SysLog
Improved Java running in user-provided
sidecars
Pivotal Application Service 2.7 available
8. Build
Build modern applications
Bring Services to Kubernetes
Leverage Kubernetes for Application Services
Continue Leadership in Application Service
Pivotal Platform
9. BOSH-deployed VMs
PKS Control Plane
Cody
Application
Developer
BOSH
K8s cluster: pas-k8s
k8s-master/0
k8s-worker/0
namespace: pas-eirini
PAS for K8s
Control Plane
$ cf push myApp
eirini/0
Cloud
Controller
$ cf logs myApp
$ cf scale myApp -i 5
Alana
Platform
Engineer
$ kubectl get pods -n pas-eirini
10. Build
Build modern applications
Bring Services to Kubernetes
Leverage Kubernetes for Application Services
Continue Leadership in Application Service
Pivotal Platform
11. Build
Build Modern Applications
Bring Services to Kubernetes
Leverage Kubernetes for Application Services
Continue Leadership in Application Service
Pivotal Platform
The process of building code
needs to be repeatable
12. source:
git:
https://github.com/myapp
revision: dev
v1.0.0-M7 released - Apr 10
v1.0.0-M6 released - Apr 1
v1.0.0-M5 released - Jan 31
v1.0.0-M4 released - Jan 16
v1.0.0-M3 released - Dec 10
v1.0.0-M2 released - Nov 29
cflinuxfs3 releases
0.92.0 released - 22 hours ago
0.91.0 released - 22 hours ago
0.90.0 released - 22 hours ago
0.89.0 released - 6 days ago
0.88.0 released - 9 days ago
0.87.0 released - 9 days ago
openjdk CNB releases
example.com/myapp/mytag
Build # 1
Build # 2
Build # 3
Latest Build
CI/CD tools
Pivotal Build
Service
13. Build
Build Modern Applications
Bring Services to Kubernetes
Leverage Kubernetes for Application Services
Continue Leadership in Application Service
Pivotal Platform
App teams need to be
self-sufficient
14. K8s (PKS)
Master Worker
App
Load Balancer
K8s API client (kubectl) Workload Client
K8s (PKS)
Master Worker
App
Load Balancer Load Balancer Load Balancer
With the creation of
each load balancer
comes the creation
of DNS records
Is that via
ticket?
15. K8s (PKS)
Master Worker
App
Dynamic Routing
Load Balancer
K8s API client (kubectl) Workload Client
K8s (PKS)
Master Worker
App
This allows app
teams to work
autonomously!
AND securely!
A routing functionality
designed for greater
levels of dynamism
Tenant aware
3-4 messages for Cornelias section:
We continue to push the bar on PAS
We bring k8s to PAS
We are bringing proven capabilities to k8s (example of build service, and routing service
We have been serving you in this build layer for the last 4-6 years
Taking it to the next level with PAS 2.7
Taking what the industry has known about CI/CD and is upping the ante for CD
(we’ve long conflated CI and CD)
We’re exposing those in our flagship product
The other thing we’re turning up the dial on is Kubernetes
You know we built PAS on the best abstractions we had at the time (VMs, virtual storage… virtual networking was in it’s infancy)
Now we have K8s, and that will let us deliver even greater outcomes
PAS on K8s
But that still for PAS, which is optimized for cloud-native workloads
What are some capabilities in PAS and bringing those capabilities that over to k8s
Last theme, implementation of those things that we bring over are a distributed system
So how do you manage all of these services? We leverage k8s itself
Most people know k8s as being really good at orchestrating containers… but that’s jsut the first implementation
Beyond container scheduling being implemented on k8s…
Beginning to be these examples in the community
Build service and ingress service are examples of this..
K8s is fundamentally a platform for installing infinite loops… within that you can do whatever you want
Example: k8s has a “replication set” and a controller that runs infinitely that checks how many you want and works when actual drifts…
Routing tables also needs to be kept up to date… on an infinite loop, k8s can check if the number of routes in a routing table
It’s an infitine loop that controls something other than containers
Infinite loops are essential for distributed
Native rolling application deployments
Instead of requiring two apps and client orchestration, developers to perform this scenario natively with each app in PAS.
API is GA; corresponding cli is beta
Offers near-zero downtime push & restarts
Launched as a beta in PAS 2.4
Previously exposed as
cf v3-zdt-push
cf v3-zdt-restart
Now exposed via the v7 cli beta
cf push --strategy rolling
We’re also bringing PAS to Kubernetes. This is in alpha today.
For PAS for Kubernetes, you can currently you can do cf push and cf log
Alana
Install Ops Manager on vSphere
Deploy PKS tile
Create a K8s cluster with PKS
Configure pas-k8s to accept Eirini workloads
Configure PAS for K8s tile
Deploy PAS for K8s tile