CNA2009BU Run Stateful Apps on Kubernetes with PKS: Highlight WebLogic Server Rahul Srivastava, VMware, Inc. Simone Morellato, VMware, Inc. #vmworld #CNA2009BU
Disclaimer This presentation may contain product features or functionality that are currently under development. This overview of new technology represents no commitment from VMware to deliver these features in any generally available product. Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind. Technical feasibility and market demand will affect final delivery. Pricing and packaging for any new features/functionality/ technology discussed or presented, have not been determined. 2
Can I containerize and run Traditional Stateful Apps on PKS? YES 3
Agenda PKS overview Oracle WebLogic Server Why and how to containerize Why PKS and vsan for Traditional Apps Demo 4
Who Are We Morellato Simone @morellatosimone VMware Rahul Srivastava @srivar07869 VMware 5
PKS Overview 6
What is Kubernetes? App 1 Docker Host App 2 Container Engine OS App 3 7
What is Kubernetes? App 1 Docker Host App 2 Kubernetes Node Container Engine OS App 3 App 1 Docker Host App 2 Kubernetes Node Container Engine App 3 Docker Host App 1 App 2 App 3 Kubernetes Node Container Engine OS OS Kubernetes Master 8
What is PKS? App 1 Docker Host VM App 2 Kubernetes Node Container Engine OS App 3 App 1 Docker Host VM App 2 Kubernetes Node Container Engine App 3 Docker Host VM App 1 App 2 App 3 Kubernetes Node Container Engine OS OS Kubernetes Master 9
What is PKS? Kubernetes Master Node Node Node Kubernetes Master Node Node Node Kubernetes Master Node Node Node 10
What is PKS? Kubernetes Master Node Node Node Kubernetes Master Node Node Node Kubernetes Master Node Node Node 11
PKS and Kubernetes are complementary technologies Containers scheduling, scale, resiliency, and Day 2 Desired state of Application Kubernetes clusters scheduling, scale, resiliency, and Day 2 Desired state of Kubernetes 12 12
PKS Does a Lot More when Running on VMware SDDC Provides networking with NSX-T Provides container registry with Harbor Provides advance storage integration with vsan Provides monitoring, logging and Day 2 operations with advanced integration with vrealize 13
Why Oracle WebLogic as a test workload? Excellent example of a traditional application Majority of Enterprise Java apps built since 1990s run on Oracle WebLogic ( WLS ) or IBM WebSphere ( WAS ) Higher-level apps (Middleware, COTS, etc.) often run on top of WLS/WAS Enterprises looking to containerize and Lift & Shift existing WLS/WAS-based apps Risk/Resource factors prevent refactor to cloud native microservices 14
Current State versus Desired State Containerize WebLogic as-is and deploy atop Kubernetes Physical OS or VM Customer Datacenter DevOps VM 15
Why is Oracle WebLogic Hard to containerize? Complex requirements around state management Each instance has unique and fixed identity that must persist across restarts Instance Name: wls1 Instance URI: wls1.prod.appxzy.com Each instance has configuration and runtime state on filesystem/database hardwired to its unique identity Configuration XML Transaction & JMS logs 16
Instance identity & state must be preserved across container restarts wls1.prod.appxyz.com WLS Cluster WLS 1 WLS 2 wls2.prod.appxyz.com transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem 17
Instance identity & state must be preserved across container restarts wls1.prod.appxyz.com WLS Cluster WLS 1 wls2.prod.appxyz.co Failure! WLS 2 m transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem 18
Instance identity & state must be preserved across container restarts WLS 1 wls1.prod.appxyz.com WLS Cluster transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem WLS X wlsx.prod.appxyz.com 19
Instance identity & state must be preserved across container restarts WLS 1 wls1.prod.appxyz.com WLS Cluster transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem WLS X wlsx.prod.appxyz.com 20
Kubernetes StatefulSets to the Rescue Addresses WebLogic needs around fixed identities and state Source: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ 21
Stable, Unique Network Identifiers Identity primitives in Kubernetes StatefulSets 22
Kubernetes StatefulSets to the rescue wls1.prod.appxyz.com WLS Cluster WLS 1 WLS 2 wls2.prod.appxyz.com transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem 23
Instance identity & state must be preserved across container restarts wls1.prod.appxyz.com WLS Cluster WLS 1 wls2.prod.appxyz.co Failure! WLS 2 m transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem 24
Instance identity & state maintained across container restarts wls1.prod.appxyz.com WLS Cluster WLS 1 WLS 2 transaction log 2 (owner = wls2) transaction log 1 (owner = wls1) Shared Filesystem wls2.prod.appxyz.com 25
Demo Oracle WebLogic Server on PKS 26
WebLogic instances deployed as Kubernetes StatefulSets WLS1 wls1.prod.appxyz.com WLS2 wls2.prod.appxyz.com StatefulSet ms Java app deployed to Cluster of WLS Managed Servers WLS Admin Server as.prod.appxyz.com StatefulSet as WLS Admin Server manages global configuration & state VMware SDDC 27
Stable, Persistent Storage Persistence primitives in Kubernetes StatefulSets 28
Storage classes and dynamic provisioning Operator Developer 1 Configures Classes 2 Claim request specifies a class References claim in pod 10G GOLD JMS logs Claim for Classes 3 SILVER XMLs Pod claim 10G 29 29
Demo Oracle WebLogic Server on PKS 30
Kubernetes StatefulSets ensure persistent map to stable storage WLS Instance wls-jms-0.prod.appxyz.com StatefulSet wls-jms WLS JMS log VMDK VMware SDDC 31
Why is running WebLogic (WLS) on PKS better than BAU? Operational Task Business As Usual WLS on PKS Developer Productivity Provisioning of net new WLS environments Application monitoring and remediation (is App running ok on every WLS instance?) Application elasticity (spin up additional WLS cluster members on demand) Multi Cloud IaaS support Multi-step human workflow across systems, networking, storage and middleware teams WLS operations team monitoring individual server and app instance health Multi-step human workflow across systems, networking, storage and middleware teams Homegrown (Chef/Puppet/Ansible/..) scripts customized for various clouds One K8s command ( kubectl apply -f <YML-file> ). K8s will automatically provision desired stack and instances across (pre-allocated) resource pool K8s automatically tracks/(re)starts/stops desired # replicas One K8s command to increase # Replicas. K8s Headless Service automatically manages DNS mapping Out-of-the-box support for vsphere, GCP, AWS. Patch / Upgrades Multi-step human workflow across systems, networking, storage and middleware teams Out-of-the-box automation with Concourse, PKS(BOSH) and K8s 32
Why vsan for Kubernetes Persistent Storage Persistence primitives in Kubernetes 33
Why vsphere for Kubernetes persistent storage 1. Entire HCL of storage products under vsphere supported with Kubernetes 2. Operational consistency - Existing storage operations, tooling, and SPBM 3. Self service storage provisioning through storage class mapping to SPBM policies 4. PKS delivers the consistent, repeatable configuration & maintenance of Hatchway Datastore Any Supported Storage on HCL vsan VMFS NAS vsphere SPBM Thin SSD Encrypted Dedup K8s API Kubernetes Consumption Storage Class = Regular Storage Class = Fast Storage Class = Encrypted Storage Class = Dedup Storage Class = Project Hatchway https://github.com/vmware/hatchway 34
Bringing policy based provisioning to Kubernetes Storage Policy Based Management vsan Performance SSD Datastore (Tier 1) Performance DataStore (Tier 2) Capacity Datastore (Tier 3) 35
Why vsan for Kubernetes persistent storage Provides much greater flexibility & control in supporting diverse mix of traditional & cloud native apps deployed atop PKS diskformat, datastore, storagepolicyname, cachereservation, diskstripes, forceprovisioning, hostfailurestotolerate, iopslimit, objectspacereservation Supports the full capabilities of SPBM Other storage backends only support the tag-based placement capability of SPBM Single HCI platform, same operational model Provides unified volume monitoring & reporting console within PKS 36
To Summarize VMware value prop for application modernization Yes! I can containerize and run Traditional Stateful Apps on PKS Example: Oracle WebLogic Server PKS equally capable of hosting both Traditional and Cloud Native Apps vsan provide persistence capabilities to enable both types of apps atop PKS 37
Resources See PKS product page on VMware.com https://cloud.vmware.com/pivotal-container-service Read posts and tutorials about PKS on Cloud-Native Apps Blog https://blogs.vmware.com/cloudnative/ Try it out HOL-1930-02-CNA Pivotal Container Serivice Getting Started Follow us on Twitter https://twitter.com/cloudnativeapps 38
39
PLEASE FILL OUT YOUR SURVEY. Take a survey and enter a drawing for a VMware company store gift card. #vmworld #CNA2009BU
THANK YOU! #vmworld #CNA2009BU