©2019 VMware, Inc.
vSphere 7 With Kubernetes
Modern Application Infrastructure
Bernard Park Solution Engineer VMware
Prasanna Upperi Solution Engineer VMware
2
Agenda
● Introductions
● Quick announcements
○ Polls
○ Questions
● Presentation
○ Tanzu Overview
○ vSphere with Kubernetes
○ Tanzu Mission Control
● Demos
● Q&A
3
Prasanna Upperi, Senior Platform Architect, VMware
Trusted Advisor, Senior Platform and Solutions Architect with years
of industry experience in several digital transformation initiatives. As
a Tanzu specialist, Prasanna is obsessed with customer success
and help fortune 500 clients deliver impeccable customer
experience, achieve agility and operational efficiency by architecting
Multi/Hybrid Cloud solutions. Recommend, transform and transition
cloud native applications, container and event driven workloads
from OnPrem to multi cloud architectures. An Infrastructure
Architect by trade, AWS Certified Architect Associate and a Certified
Kubernetes Developer. With the notion of "Use Kubernetes to
Deliver and Manage Kubernetes", Prasanna is helping enterprises
deliver/manage their infrastructure with Kubernetes through Tanzu
portfolio of products from VMware.
Bernard Park, Platform Architect, VMware
A prior Consultant, Bernard Park is a Platform Architect at VMware. He has an extensive background in
application development and architecture and years of experience with Java and Spring. As a Certified
Kubernetes Application Developer, Bernard has helped many enterprises through application
modernization. With his professional expertise in modern cloud platforms, including Tanzu, Cloud
Foundry, and Kubernetes, he works closely with customers every day to change the way they Build,
Run, and Manage software.
4
VMware Tanzu
Introducing
Build Modern Apps
Run Enterprise Kubernetes
Manage Kubernetes for Developers AND IT
5
VMware Tanzu Portfolio
Tanzu Kubernetes Grid
vSphere 7 With Kubernetes | VMware PKS
Single Control Point
Tanzu Mission Control
Modern Applications
Bitnami | Pivotal
Run
Build Manage
6
Tanzu Kubernetes Grid
VMware Tanzu
RUN a Kubernetes grid across any environment
Run
vSphere 6.5 / 6.7
VMware Cloud
on AWS Public Clouds Edge
vSphere 7
With Kubernetes
[Future Release]
VMware Tanzu
Kubernetes Grid
Service for
vSphere
7
VM App
VM
Database
VM
VM
VM
What’s a workload?
Kubernetes Cluster
Node Node Node
Control Plane
Native Pods
Function 1 Function 2
Function Function
k8s Native
Applications
8
Challenges
DevOps VI Admin
Deploy this app
Operate it on Day 2
Tool choice
Ensure availability
Ensure security
Deliver quality of service
Cost control
VM App
VM
Database
VM
VM
VM
Kubernetes Cluster
Node Node Node
Control Plane
Native Pods
Function 1 Function 2
Function Function
k8s Native
Applications
9
Using Kubernetes to manage workloads!
kind: VirtualMachine
apiVersion: vms.vmware.com/v1
metadata:
name: COTSapp
spec:
className: large
imageName: my-app.ova
powerState: poweredOn
policy:
restartPolicy: OnFailure
kind: HanaDatabase
apiVersion: hana.sap.com/v1
metadata:
name: ERP database
spec:
nodes: 3
class: extra-large
kind: KubernetesCluster
apiVersion: vks.vmware.com/v1
metadata:
name: My Application
spec:
topology:
workers:
count: 3
class: small
distribution: v1.15.1
kind: Pod
apiVersion: v1
metadata:
name: Function 1
spec:
containers:
- name: func1
image: func1
ports:
- containerPort: 80
VM App
VM
Database
VM
VM
VM
Kubernetes Cluster
Node Node Node
Control Plane
Native Pods
Function 1 Function 2
Function Function
k8s Native
Applications
10
Namespace
Namespaces as the unit of management
VM App
VM
Database
VM
VM
VM
Kubernetes Cluster
Node Node Node
Control Plane
Native Pods
Function 1 Function 2
Function Function
k8s Native
Applications
11
Namespace
Namespaces as the unit of management
VM App
VM
Database
VM
VM
VM
Kubernetes Cluster
Node Node Node
Control Plane
Native Pods
Function 1 Function 2
Function Function
k8s Native
Applications
Security
• Encrypt all persistent data
• Disallow all ports but 443
• Audit developer changes
Availability
• Failures to tolerate: 2
• Disaster recovery site: us-east
• Hourly snapshots to backup
Access controls
• Users in group app-admin: Write
• Users in group ops: Read Only
• Disallow MySQL
Quality of Service
• Priority: High
• Reserved vCPUs: 128
• Reserved Memory: 1 TB
12
Namespace D
Namespace C
VM App
VM
Database
VM
VM
VM
Kubernetes Cluster
Node Node Node
Control Plane
Native Pods
Function 1 Function 2
Function Function
K8s Native
Applications
Application C
Application D
Namespaces map to applications
Namespace B
Namespace A
Kubernetes Cluster VM
Native Pods
Database
Application A
Application B
13
vSphere With Kubernetes
On-premises | Hybrid cloud | Public cloud
Tanzu
Kubernetes
Grid Service
ESX NSX vSAN
Or Partner Storage
vCenter
Developer
IT Ops
Virtual
Machine
Service
VMware Cloud Foundation Services
Developer Self-Service Using Kubernetes API
vSphere Supervisor Cluster
Network
Service
Storage
Service
vSphere
Pod
Service
Registry
Service
FCD
FCD
Ecosystem
Services
Developer
Native Pods :
• Standard Kubernetes Resource
• Run Directly on ESXi
We have a new
Dev Project and
Need Resources
Supervisor Cluster
ESXi ESXi ESXiESXiESXi ESXiESXi
M
ESXi
M
ESXi
M
Virtual
machine
Kubernetes Cluster
I Need a Jenkins
Pipeline
Kubectl apply –f Jenkins-pods.yaml
Pod Pod Pod
Native
Pods
Kubectl apply –f Virtual-machine.yaml
I Need a VM
VM
Kubectl apply –f kubernetes-cluster.yaml
Virtual machine Operator
ClusterAPI Operator
Tanzu Kubernetes Cluster
Controller Custom
Resources
Machine
I Need a
Kubernetes
Cluster
Machine
Deployment
Cluster
VM VMVM VMVMVMVMVMVMVMVMVM
Custom Resources:
• Hold Declarative Specification of Objects
• Managed In Standard Way
Kubectl get “object”
Standard
Resources
kind: Pod
apiVersion: v1
metadata:
name: Function 1
spec:
containers:
- name: func1
image: func1
ports:
- containerPort: 80
kind: VirtualMachine
apiVersion: vms.vmware.com/v1
metadata:
name: LegacyApp
spec:
className: large
imageName: my-app.ova
powerState: poweredOn
policy:
restartPolicy: OnFailure
kind: KubernetesCluster
apiVersion: vks.vmware.com/v1
metadata:
name: My Application
spec:
topology:
workers:
count: 3
class: small
distribution: v1.14.1
kind: Postgres
apiVersion: postgres.com/v1
metadata:
name: database
spec:
nodes: 3
class: extra-large
Kubectl apply –f database.yaml
Database Operator
I Need a
Database
Operator
Authentication: Development team
Storage Policy: High-Performance-ssd
Resource Limits: 8Ghz CPU
1 TB RAM
20 TB from High-Performance-ssd
Operators: VM, Kubernetes, Managed Kubernetes
I will create a
Namespace
System Namespace
VM Operator ResourceQuotas
ClusterAPI Operator Rolebindings
Kubernetes Service Operator Storageclasses
Database
VM VM VM
Pod
Namespace
Pod Pod
Namespace
Pod
I Have Visibility
Into K8 From
VCenter
15
Centralized management of policy and security for all clusters across all teams
Tanzu Mission Control
Observability &
diagnostics
Provision Attach
Tanzu Mission Control
Identity &
access
Security &
configuration
Audit &
compliance
Data
protection
Connectivity & traffic
management
Optimization
Cluster
lifecycle
management
Confidential │ ©2020 VMware, Inc.
1
6
Learning Artifacts
● Blog: vSphere 7 and Tanzu Kubernetes Grid = Powerful Platform for Architecting Modern Apps
● Free Kubernetes Level-Up Training: https://kube.academy/
Potential Relevant Next Steps
● Kubernauts On-Site: ½ Day onsite with kubernauts to set-up and containerize a workload with you
● 1:1 for K8s 100-400 Level / Hands-on
● K8s for Ops + Apps: Outcomes driven by High-Performing Teams
● What the hell is included in “Tanzu”...tell me more
How to integrate K8s on vSphere
To catalyze enterprise transformation through software
17
Demo
Confidential │ ©2019 VMware, Inc.
Thank You

VMware Tanzu Introduction- June 11, 2020

  • 1.
    ©2019 VMware, Inc. vSphere7 With Kubernetes Modern Application Infrastructure Bernard Park Solution Engineer VMware Prasanna Upperi Solution Engineer VMware
  • 2.
    2 Agenda ● Introductions ● Quickannouncements ○ Polls ○ Questions ● Presentation ○ Tanzu Overview ○ vSphere with Kubernetes ○ Tanzu Mission Control ● Demos ● Q&A
  • 3.
    3 Prasanna Upperi, SeniorPlatform Architect, VMware Trusted Advisor, Senior Platform and Solutions Architect with years of industry experience in several digital transformation initiatives. As a Tanzu specialist, Prasanna is obsessed with customer success and help fortune 500 clients deliver impeccable customer experience, achieve agility and operational efficiency by architecting Multi/Hybrid Cloud solutions. Recommend, transform and transition cloud native applications, container and event driven workloads from OnPrem to multi cloud architectures. An Infrastructure Architect by trade, AWS Certified Architect Associate and a Certified Kubernetes Developer. With the notion of "Use Kubernetes to Deliver and Manage Kubernetes", Prasanna is helping enterprises deliver/manage their infrastructure with Kubernetes through Tanzu portfolio of products from VMware. Bernard Park, Platform Architect, VMware A prior Consultant, Bernard Park is a Platform Architect at VMware. He has an extensive background in application development and architecture and years of experience with Java and Spring. As a Certified Kubernetes Application Developer, Bernard has helped many enterprises through application modernization. With his professional expertise in modern cloud platforms, including Tanzu, Cloud Foundry, and Kubernetes, he works closely with customers every day to change the way they Build, Run, and Manage software.
  • 4.
    4 VMware Tanzu Introducing Build ModernApps Run Enterprise Kubernetes Manage Kubernetes for Developers AND IT
  • 5.
    5 VMware Tanzu Portfolio TanzuKubernetes Grid vSphere 7 With Kubernetes | VMware PKS Single Control Point Tanzu Mission Control Modern Applications Bitnami | Pivotal Run Build Manage
  • 6.
    6 Tanzu Kubernetes Grid VMwareTanzu RUN a Kubernetes grid across any environment Run vSphere 6.5 / 6.7 VMware Cloud on AWS Public Clouds Edge vSphere 7 With Kubernetes [Future Release] VMware Tanzu Kubernetes Grid Service for vSphere
  • 7.
    7 VM App VM Database VM VM VM What’s aworkload? Kubernetes Cluster Node Node Node Control Plane Native Pods Function 1 Function 2 Function Function k8s Native Applications
  • 8.
    8 Challenges DevOps VI Admin Deploythis app Operate it on Day 2 Tool choice Ensure availability Ensure security Deliver quality of service Cost control VM App VM Database VM VM VM Kubernetes Cluster Node Node Node Control Plane Native Pods Function 1 Function 2 Function Function k8s Native Applications
  • 9.
    9 Using Kubernetes tomanage workloads! kind: VirtualMachine apiVersion: vms.vmware.com/v1 metadata: name: COTSapp spec: className: large imageName: my-app.ova powerState: poweredOn policy: restartPolicy: OnFailure kind: HanaDatabase apiVersion: hana.sap.com/v1 metadata: name: ERP database spec: nodes: 3 class: extra-large kind: KubernetesCluster apiVersion: vks.vmware.com/v1 metadata: name: My Application spec: topology: workers: count: 3 class: small distribution: v1.15.1 kind: Pod apiVersion: v1 metadata: name: Function 1 spec: containers: - name: func1 image: func1 ports: - containerPort: 80 VM App VM Database VM VM VM Kubernetes Cluster Node Node Node Control Plane Native Pods Function 1 Function 2 Function Function k8s Native Applications
  • 10.
    10 Namespace Namespaces as theunit of management VM App VM Database VM VM VM Kubernetes Cluster Node Node Node Control Plane Native Pods Function 1 Function 2 Function Function k8s Native Applications
  • 11.
    11 Namespace Namespaces as theunit of management VM App VM Database VM VM VM Kubernetes Cluster Node Node Node Control Plane Native Pods Function 1 Function 2 Function Function k8s Native Applications Security • Encrypt all persistent data • Disallow all ports but 443 • Audit developer changes Availability • Failures to tolerate: 2 • Disaster recovery site: us-east • Hourly snapshots to backup Access controls • Users in group app-admin: Write • Users in group ops: Read Only • Disallow MySQL Quality of Service • Priority: High • Reserved vCPUs: 128 • Reserved Memory: 1 TB
  • 12.
    12 Namespace D Namespace C VMApp VM Database VM VM VM Kubernetes Cluster Node Node Node Control Plane Native Pods Function 1 Function 2 Function Function K8s Native Applications Application C Application D Namespaces map to applications Namespace B Namespace A Kubernetes Cluster VM Native Pods Database Application A Application B
  • 13.
    13 vSphere With Kubernetes On-premises| Hybrid cloud | Public cloud Tanzu Kubernetes Grid Service ESX NSX vSAN Or Partner Storage vCenter Developer IT Ops Virtual Machine Service VMware Cloud Foundation Services Developer Self-Service Using Kubernetes API vSphere Supervisor Cluster Network Service Storage Service vSphere Pod Service Registry Service FCD FCD Ecosystem Services
  • 14.
    Developer Native Pods : •Standard Kubernetes Resource • Run Directly on ESXi We have a new Dev Project and Need Resources Supervisor Cluster ESXi ESXi ESXiESXiESXi ESXiESXi M ESXi M ESXi M Virtual machine Kubernetes Cluster I Need a Jenkins Pipeline Kubectl apply –f Jenkins-pods.yaml Pod Pod Pod Native Pods Kubectl apply –f Virtual-machine.yaml I Need a VM VM Kubectl apply –f kubernetes-cluster.yaml Virtual machine Operator ClusterAPI Operator Tanzu Kubernetes Cluster Controller Custom Resources Machine I Need a Kubernetes Cluster Machine Deployment Cluster VM VMVM VMVMVMVMVMVMVMVMVM Custom Resources: • Hold Declarative Specification of Objects • Managed In Standard Way Kubectl get “object” Standard Resources kind: Pod apiVersion: v1 metadata: name: Function 1 spec: containers: - name: func1 image: func1 ports: - containerPort: 80 kind: VirtualMachine apiVersion: vms.vmware.com/v1 metadata: name: LegacyApp spec: className: large imageName: my-app.ova powerState: poweredOn policy: restartPolicy: OnFailure kind: KubernetesCluster apiVersion: vks.vmware.com/v1 metadata: name: My Application spec: topology: workers: count: 3 class: small distribution: v1.14.1 kind: Postgres apiVersion: postgres.com/v1 metadata: name: database spec: nodes: 3 class: extra-large Kubectl apply –f database.yaml Database Operator I Need a Database Operator Authentication: Development team Storage Policy: High-Performance-ssd Resource Limits: 8Ghz CPU 1 TB RAM 20 TB from High-Performance-ssd Operators: VM, Kubernetes, Managed Kubernetes I will create a Namespace System Namespace VM Operator ResourceQuotas ClusterAPI Operator Rolebindings Kubernetes Service Operator Storageclasses Database VM VM VM Pod Namespace Pod Pod Namespace Pod I Have Visibility Into K8 From VCenter
  • 15.
    15 Centralized management ofpolicy and security for all clusters across all teams Tanzu Mission Control Observability & diagnostics Provision Attach Tanzu Mission Control Identity & access Security & configuration Audit & compliance Data protection Connectivity & traffic management Optimization Cluster lifecycle management
  • 16.
    Confidential │ ©2020VMware, Inc. 1 6 Learning Artifacts ● Blog: vSphere 7 and Tanzu Kubernetes Grid = Powerful Platform for Architecting Modern Apps ● Free Kubernetes Level-Up Training: https://kube.academy/ Potential Relevant Next Steps ● Kubernauts On-Site: ½ Day onsite with kubernauts to set-up and containerize a workload with you ● 1:1 for K8s 100-400 Level / Hands-on ● K8s for Ops + Apps: Outcomes driven by High-Performing Teams ● What the hell is included in “Tanzu”...tell me more How to integrate K8s on vSphere To catalyze enterprise transformation through software
  • 17.
  • 18.
    Confidential │ ©2019VMware, Inc. Thank You