kubernetes - architecture fundamentals · • single-tier applications - anything written by ibm...

207
Inside Kubernetes Architecture Fundamentals Anthony E. Nocentino [email protected]

Upload: others

Post on 22-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Inside KubernetesArchitecture Fundamentals

Anthony E. [email protected]

Page 2: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services
Page 3: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Event Feedback (not optional!)

http://bit.ly/DataGrillen2019Event

Page 4: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Session Feedback Day 2 (not optional!)

http://bit.ly/DataGrillen2019Day2

Page 5: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Anthony E. Nocentino• Consultant and Trainer

• Founder and President of Centino Systems

• Specialize in system architecture and performance

• Masters Computer Science

• Microsoft MVP - Data Platform - 2017 - 2018

• Linux Foundation Certified Engineer

• Friend of Redgate - 2015-2019

• email: [email protected]

• Twitter: @nocentino

• Blog: www.centinosystems.com/blog

• Pluralsight Author: www.pluralsight.com

Page 6: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Agenda

• What is Kubernetes

• Kubernetes API Objects

• Exploring Kubernetes Architecture

• Deploying Applications

• Production Ready Clusters

Page 7: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Based Application Deployment

Physical Machine

Host Operating System

App1

Binaries/Libraries

Container

App2

Binaries/Libraries

Container

App3

Binaries/Libraries

Container

Page 8: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Based Application Deployment

• Single-tier applications - anything written by IBM

Physical Machine

Host Operating System

App1

Binaries/Libraries

Container

App2

Binaries/Libraries

Container

App3

Binaries/Libraries

Container

Page 9: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Based Application Deployment

• Single-tier applications - anything written by IBM

• Multi-tier applications - Service oriented, Client/Server…

Physical Machine

Host Operating System

App1

Binaries/Libraries

Container

App2

Binaries/Libraries

Container

App3

Binaries/Libraries

Container

Page 10: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Based Application Deployment

• Single-tier applications - anything written by IBM

• Multi-tier applications - Service oriented, Client/Server…

• Micro-services - smaller, more easily changed unitsPhysical Machine

Host Operating System

App1

Binaries/Libraries

Container

App2

Binaries/Libraries

Container

App3

Binaries/Libraries

Container

Page 11: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

Page 12: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

Web1

Binaries/Libraries

Container

Page 13: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

Web1

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 14: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

Web1

Binaries/Libraries

Container

Caching

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 15: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

Web1

Binaries/Libraries

Container

SQL

Binaries/Libraries

Container

Caching

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 16: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

• Where do I run the application?Web1

Binaries/Libraries

Container

SQL

Binaries/Libraries

Container

Caching

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 17: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

• Where do I run the application?

• How do I scale the application?

Web1

Binaries/Libraries

Container

SQL

Binaries/Libraries

Container

Caching

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 18: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

• Where do I run the application?

• How do I scale the application?

• How do I consistently deploy?

Web1

Binaries/Libraries

Container

SQL

Binaries/Libraries

Container

Caching

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 19: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Modern Application Deployment

• Where do I run the application?

• How do I scale the application?

• How do I consistently deploy?

• How do I provide access to services?

Web1

Binaries/Libraries

Container

SQL

Binaries/Libraries

Container

Caching

Binaries/Libraries

Container

Web2

Binaries/Libraries

Container

Page 20: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

What is Kubernetes?

Page 21: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

What is Kubernetes?

• Container Orchestrator

Page 22: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

What is Kubernetes?

• Container Orchestrator

• Infrastructure Abstraction

Page 23: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

What is Kubernetes?

• Container Orchestrator

• Infrastructure Abstraction

• Desired State

Page 24: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

Page 25: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

Page 26: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

• Speed and consistency of deployment

Page 27: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

• Speed and consistency of deployment

• Ability to absorb change quickly

Page 28: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

• Speed and consistency of deployment

• Ability to absorb change quickly

• Ability to recovery quickly

Page 29: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

• Speed and consistency of deployment

• Ability to absorb change quickly

• Ability to recovery quickly

• Workload placement in cluster

Page 30: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

• Speed and consistency of deployment

• Ability to absorb change quickly

• Ability to recovery quickly

• Workload placement in cluster

• Hide complexity in Cluster

Page 31: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Benefits

• Managing state, starting things and keeping them up

• Speed and consistency of deployment

• Ability to absorb change quickly

• Ability to recovery quickly

• Workload placement in cluster

• Hide complexity in Cluster

• Persistent application access endpoints

Page 32: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Cluster

Page 33: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Cluster

Cluster

Page 34: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Cluster

Web 1

Cluster

Page 35: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Cluster

Web 1

SQL

Cluster

Page 36: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Cluster

Web 1

SQL Web 2

Cluster

Page 37: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes Cluster

Web 1

SQL Web 2

Caching

Cluster

Page 38: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

Page 39: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

• Docker Swarm

Page 40: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

• Docker Swarm

• Red Hat OpenShift

Page 41: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

• Docker Swarm

• Red Hat OpenShift

• Managed Services

Page 42: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

• Docker Swarm

• Red Hat OpenShift

• Managed Services

• Azure Kubernetes Services (AKS)

Page 43: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

• Docker Swarm

• Red Hat OpenShift

• Managed Services

• Azure Kubernetes Services (AKS)

• Google Kubernetes Engine (GKE)

Page 44: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Container Orchestrators

• Docker Swarm

• Red Hat OpenShift

• Managed Services

• Azure Kubernetes Services (AKS)

• Google Kubernetes Engine (GKE)

• Amazon Elastic Container Service for Kubernetes (EKS)

Page 45: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Page 46: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Desktop

Page 47: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Desktop kubeadm

Page 48: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Desktop

From Scratch

kubeadm

Page 49: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Desktop

From Scratch

kubeadm

https://kubernetes.io/docs/setup/scratch/https://github.com/kelseyhightower/kubernetes-the-hard-way/

Page 50: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Desktop

From Scratch

kubeadm

Cloud Scenarios

https://kubernetes.io/docs/setup/scratch/https://github.com/kelseyhightower/kubernetes-the-hard-way/

Page 51: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Getting Kubernetes

Desktop

From Scratch

kubeadm

Cloud Scenarios

https://kubernetes.io/docs/setup/scratch/https://github.com/kelseyhightower/kubernetes-the-hard-way/

Kubernetes Installation and Configuration Fundamentals

Page 52: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

Page 53: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

Page 54: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

• Programmatically expose the resource in our data center

Page 55: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

• Programmatically expose the resource in our data center

• Pods - your container based applications

Page 56: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

• Programmatically expose the resource in our data center

• Pods - your container based applications

• Controllers - maintain desired state

Page 57: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

• Programmatically expose the resource in our data center

• Pods - your container based applications

• Controllers - maintain desired state

• Services - persistent access to your apps

Page 58: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

• Programmatically expose the resource in our data center

• Pods - your container based applications

• Controllers - maintain desired state

• Services - persistent access to your apps

• Storage - persistent storage for your data

Page 59: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Kubernetes API

• API Objects - Represent resources in your system

• Programmatically expose the resource in our data center

• Pods - your container based applications

• Controllers - maintain desired state

• Services - persistent access to your apps

• Storage - persistent storage for your data

• …and more

Page 60: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pods

Page 61: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pods

• One or more containers

Page 62: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pods

• One or more containers

• It’s your application or service

Page 63: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pods

• One or more containers

• It’s your application or service

• The most basic unit of work

Page 64: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pods

• One or more containers

• It’s your application or service

• The most basic unit of work

• Unit of scheduling

Page 65: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pods

• One or more containers

• It’s your application or service

• The most basic unit of work

• Unit of scheduling

• Ephemeral - no Pod is ever “redeployed”

Page 66: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Controllers

Page 67: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Controllers

• Create and manage Pods for you

Page 68: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Controllers

• Create and manage Pods for you

• Define your desired state

Page 69: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Controllers

• Create and manage Pods for you

• Define your desired state

• Respond to Pod State and Health

Page 70: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Controllers

• Create and manage Pods for you

• Define your desired state

• Respond to Pod State and Health

• ReplicaSet

Page 71: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Controllers

• Create and manage Pods for you

• Define your desired state

• Respond to Pod State and Health

• ReplicaSet

• Deployment

Page 72: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

Page 73: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

Page 74: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

• Pods can come and go based on health and Controller operations

Page 75: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

• Pods can come and go based on health and Controller operations

• Networking abstraction for Pod access

Page 76: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

• Pods can come and go based on health and Controller operations

• Networking abstraction for Pod access

• IP and DNS name for the service

Page 77: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

• Pods can come and go based on health and Controller operations

• Networking abstraction for Pod access

• IP and DNS name for the service

• Load balancing

Page 78: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

• Pods can come and go based on health and Controller operations

• Networking abstraction for Pod access

• IP and DNS name for the service

• Load balancing

• Recreated Pods endpoints are automatically updated

Page 79: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

• Adds persistency to our ephemeral world

• Pods can come and go based on health and Controller operations

• Networking abstraction for Pod access

• IP and DNS name for the service

• Load balancing

• Recreated Pods endpoints are automatically updated

• Scaled by adding/removing Pods

Page 80: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

Page 81: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

Page 82: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

Page 83: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

Page 84: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

Page 85: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

Page 86: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

Page 87: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

• StorageClass

Page 88: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

• StorageClass

• Dynamic Provisioning

Page 89: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

• StorageClass

• Dynamic Provisioning

Cluster

Page 90: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

• StorageClass

• Dynamic Provisioning

Cluster

Storage

Page 91: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

• StorageClass

• Dynamic Provisioning

SQL

Cluster

Storage

Page 92: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Storage

• Persistent Volumes

• Pod independent storage

• Administrator defined storage

• Persistent Volume Claims

• The Pod “claims” the PV

• Decouples the Pod and the storage

• StorageClass

• Dynamic Provisioning

SQL

Cluster

Storage

Page 93: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Page 94: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

Page 95: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Page 96: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Page 97: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Page 98: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Page 99: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

kubectl

Page 100: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

kubectl

Page 101: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Node

kubectl

Page 102: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Node

kubectl

Page 103: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Node

kubectl

Page 104: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxyNode

kubectl

Page 105: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxyNode

kubectl

Page 106: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Exploring Kubernetes Architecture

Master

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

kubectl

Page 107: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 108: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 109: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 110: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 111: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 112: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 113: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

kubectl

Pod

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Kubelet

Kube-proxy

Container Runtime

Node

Controller Operations - ReplicaSet

Page 114: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Services

Page 115: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

Services

Page 116: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

Services

ReplicaSet

Page 117: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod

Cluster

Services

ReplicaSet

Page 118: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Cluster

Services

ReplicaSet

Page 119: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod Pod

Cluster

Services

ReplicaSet

Page 120: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod

Cluster

Services

ReplicaSet

Page 121: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod

Cluster Service

Services

ReplicaSet

Page 122: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod HTTP

Cluster Service

Services

ReplicaSet

Page 123: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod HTTP

Cluster Service

Services

ReplicaSet

Page 124: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod HTTP

Cluster Service

XServices

ReplicaSet

Page 125: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod HTTP

Cluster Service

XServices

ReplicaSet

Page 126: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

PodPod

Pod

Pod HTTP

Cluster Service

Pod

XServices

ReplicaSet

Page 127: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

Controller Operations - Deployment

Page 128: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

Controller Operations - Deployment

ReplicaSet

Page 129: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1

Cluster

Controller Operations - Deployment

ReplicaSet

Page 130: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1

Cluster

Controller Operations - Deployment

Pod v1 ReplicaSet

Page 131: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1

Cluster Service

Controller Operations - Deployment

Pod v1 ReplicaSet

Page 132: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1 ReplicaSet

Page 133: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1 ReplicaSet

Page 134: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1 ReplicaSet

ReplicaSet

Page 135: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1 ReplicaSet

ReplicaSet

Page 136: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1

Pod v2

ReplicaSet

ReplicaSet

Page 137: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1

Pod v2

ReplicaSet

ReplicaSet

Page 138: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Pod v1 HTTP

Cluster Service

Controller Operations - Deployment

Pod v1

Pod v2 Pod v2

ReplicaSet

ReplicaSet

Page 139: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Deploying Applications

• Imperative

• Declarative

• YAML and JSON

Page 140: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

Page 141: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1

Page 142: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Pod

Page 143: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata:

Page 144: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-pod

Page 145: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec:

Page 146: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers:

Page 147: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers: - name: nginx

Page 148: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers: - name: nginx image: nginx

Page 149: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers: - name: nginx image: nginx ports:

Page 150: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers: - name: nginx image: nginx ports: - containerPort: 80

Page 151: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Declarative Deployment - Manifests

apiVersion: v1kind: Podmetadata: name: nginx-podspec: containers: - name: nginx image: nginx ports: - containerPort: 80

kubectl apply -f nginx.yaml

Page 152: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

Page 153: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

Master

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

Page 154: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

Page 155: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 156: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 157: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 158: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 159: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 160: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 161: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 162: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

Pod

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 163: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Application Deployment Process

Pod

kubectlMaster

AP

I Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Node

apply

Page 164: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster Service

Decoupling Data and Computation

Page 165: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

ReplicaSet

Service

Decoupling Data and Computation

Page 166: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1

Page 167: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1Storage

Page 168: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1Storage

Page 169: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1Storage

Page 170: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1Storage

Page 171: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1

ReplicaSet

Storage

Page 172: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1

ReplicaSet

Storage

Page 173: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1

SQL v2 ReplicaSet

Storage

Page 174: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

TCP/1433

Cluster

ReplicaSet

Service

Decoupling Data and Computation

SQL v1

SQL v2 ReplicaSetStorage

Page 175: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Demo!

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Page 176: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Demo!

• Deploy a stateless web appkubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Page 177: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Demo!

• Deploy a stateless web app

• Deploying SQL Server in a Deployment with Persistent Storage

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Page 178: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Demo!

• Deploy a stateless web app

• Deploying SQL Server in a Deployment with Persistent Storage

• Recovery Scenario

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Page 179: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Demo!

• Deploy a stateless web app

• Deploying SQL Server in a Deployment with Persistent Storage

• Recovery Scenario

• Upgrading SQL Server

kubectl

API Server

Cluster Store

Scheduler

Controller Manager

Kubelet

Kube-proxy

Container Runtime

Master

Node

Page 180: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

Page 181: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

Page 182: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

Page 183: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

• High Availability

Page 184: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

• High Availability

• API Server - Load Balanced

Page 185: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

• High Availability

• API Server - Load Balanced

• etcd - Multiple Replicas

Page 186: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

• High Availability

• API Server - Load Balanced

• etcd - Multiple Replicas

• Disaster Recovery

Page 187: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

• High Availability

• API Server - Load Balanced

• etcd - Multiple Replicas

• Disaster Recovery

• etcd Backups

Page 188: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Building Production Ready Clusters

• Scalability - number of Nodes

• Inter-cluster communication patterns (Network connectivity)

• High Availability

• API Server - Load Balanced

• etcd - Multiple Replicas

• Disaster Recovery

• etcd Backups

• Persistent Volumes

Page 189: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

From: https://docs.microsoft.com/en-us/sql/big-data-cluster/big-data-cluster-overview?view=sqlallproducts-allversions

Page 190: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Review

• What is Kubernetes

• Kubernetes API Objects

• Exploring Kubernetes Architecture

• Deploying Applications

• Production Ready Clusters

Page 191: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources

Page 195: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

Page 196: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

Page 197: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

Page 198: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

• Google Kubernetes Engine (GKE)

Page 199: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

• Google Kubernetes Engine (GKE)

• https://cloud.google.com/kubernetes-engine/docs/how-to/

Page 200: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

• Google Kubernetes Engine (GKE)

• https://cloud.google.com/kubernetes-engine/docs/how-to/

• Pluralsight! - https://app.pluralsight.com/profile/author/anthony-nocentino

Page 201: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

• Google Kubernetes Engine (GKE)

• https://cloud.google.com/kubernetes-engine/docs/how-to/

• Pluralsight! - https://app.pluralsight.com/profile/author/anthony-nocentino

• Kubernetes Installation and Configuration Fundamentals

Page 202: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

More Resources• Docker for Windows/Mac

• Managed Service Providers

• Azure Kubernetes Service (AKS)

• https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough

• Elastic Container Service for Kubernetes (EKS)

• https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/

• Google Kubernetes Engine (GKE)

• https://cloud.google.com/kubernetes-engine/docs/how-to/

• Pluralsight! - https://app.pluralsight.com/profile/author/anthony-nocentino

• Kubernetes Installation and Configuration Fundamentals

• Managing the API Server and Pods

Page 203: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Need more data or help?http://www.centinosystems.com/blog/talks/

Links to resources Demos

Presentation Pluralsight

[email protected]@nocentino

www.centinosystems.com

Solving tough business challenges with technical innovation

Page 204: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Questions?

Page 205: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Event Feedback (not optional!)

http://bit.ly/DataGrillen2019Event

Page 206: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Session Feedback Day 2 (not optional!)

http://bit.ly/DataGrillen2019Day2

Page 207: Kubernetes - Architecture Fundamentals · • Single-tier applications - anything written by IBM • Multi-tier applications - Service oriented, Client/Server… • Micro-services

Thank You!