Slide 1

Slide 1 text

Rock Solid, yet flexible Single Page Applications professionell mit Kubernetes betreiben Thorsten Hans @ThorstenHans Consultant

Slide 2

Slide 2 text

Consultant @ Thinktecture #Azure #Kubernetes #CloudNative #Terraform [email protected] thinktecture.com thorsten-hans.com @ThorstenHans Thorsten Hans

Slide 3

Slide 3 text

What we will cover today • Introduction • What is Kubernetes? • Why should you care? • Azure Kubernetes Service (AKS) - Fully managed Kubernetes clusters • Containerization of frontend workloads • Moving frontends to Kubernetes Talking Points

Slide 4

Slide 4 text

Open-Source Container Orchestrator § Kubernetes is a Container Orchestrator § Founded at Google § Now maintained by Cloud Native Computing Foundation (CNCF) § Kubernetes is cloud-vendor agnostic § Successor of Google’s Borg § Original Codename Seven1 § Written in GoLang (go) 1 - https://en.wikipedia.org/wiki/Seven_of_Nine What is Kubernetes

Slide 5

Slide 5 text

As a container orchestrator, Kubernetes provides the following: § Runtime environment for containerized applications § Virtualized network environment § Hardware abstraction layer § Container Lifecycle Management § Deployment, Rolling Upgrades, Scaling, Load-Balancing What is Kubernetes

Slide 6

Slide 6 text

Kubernetes Control Plane Kubernetes Architecture Kubernetes Node Pool 1 Kubernetes Node Kubernetes Node

Slide 7

Slide 7 text

Kubernetes Control Plane Kubernetes Architecture Kubernetes Node Pool 1 (general-compute) Kubernetes Node Kubernetes Node Kubernetes Node Pool 2 (high-intense gpu) Kubernetes Node Kubernetes Node

Slide 8

Slide 8 text

Kubernetes Control Plane Kubernetes Architecture Kubernetes Node Pool 1 Kubernetes Node Kubernetes Node Kubernetes Node Pool 2 Kubernetes Node Kubernetes Node

Slide 9

Slide 9 text

Kubernetes Control Plane Kubernetes Architecture Kubernetes Node Pool 1 Kubernetes Node Kubernetes Node Kubernetes Node Pool 2 Kubernetes Node Kubernetes Node Azure Container Instances

Slide 10

Slide 10 text

What is a Kubernetes Control Plane § Think of the Control Plane as your clusters brain § Determine and reacts to events in the cluster § Set of control services § consistent and available storage leveraging etcd § Requires three (3) instances (virtual or physical servers) to be highly available Kubernetes

Slide 11

Slide 11 text

What is a Kubernetes Control Plane A Kubernetes Control Plane runs five mission-critical services § etcd § Controller Manager § Cloud Controller Manager § API Server § Scheduler Kubernetes Kubernetes Control Plane etcd API Server Scheduler Cloud Controller Manager Controller Manager

Slide 12

Slide 12 text

What is a Kubernetes Node A Kubernetes Node provides compute power, typically a node: § Is a physical or virtual machine § Runs containerized workloads § Consists of at least three main components Kubernetes Kubernetes Node Container Runtime kubelet kube-proxy

Slide 13

Slide 13 text

Kubernetes 101 - Cluster Walkthrough - kubectl - The Kubernetes CLI Demo

Slide 14

Slide 14 text

What we will cover today • Introduction • What is Kubernetes? • Why should you care? • Azure Kubernetes Service (AKS) - Fully managed Kubernetes clusters • Containerization of frontend workloads • Moving frontends to Kubernetes Talking Points

Slide 15

Slide 15 text

Kubernetes is everywhere Over the past years Kubernetes matured a lot § It is often referenced as the operation system of the cloud § We see more and more large enterprises building their own (also on-premises) clusters § Sometimes it is established due to strategic decisions § It empowers IT operations and devs to move faster Why should you care?

Slide 16

Slide 16 text

What we will cover today • Introduction • What is Kubernetes? • Why should you care? • Azure Kubernetes Service (AKS) - Fully managed Kubernetes clusters • Containerization of frontend workloads • Moving frontends to Kubernetes Talking Points

Slide 17

Slide 17 text

Kubernetes-as-a-Service Running Kubernetes is hard! However, public cloud vendors – such as Microsoft – offer managed Kubernetes environments. With AKS customers get § Fully managed Kubernetes cluster § Easy cluster administration § Simplified cluster ops like scaling, mutating, upgrading, … § Cost efficient – the Control Plane is free of charge § (optionally) since April 2020 you can pay, to get an SLA for your AKS Azure Kubernetes Service (AKS)

Slide 18

Slide 18 text

Connect & Consume other Azure services Using the Kubernetes Cloud-Controller-Manager, AKS integrates with surrounding cloud for different topics: § Network Ops § Handle inbound traffic (Ingress) § Integration via: Azure Load Balancer, Public IP address, § Cloud Storage Ops § Provision and attach cloud storage § Integration via: Azure Files Shares and Disks as Volumes Seamless integration into Azure

Slide 19

Slide 19 text

Connect & Consume other Azure services Surrounding Azure services help to build professional environments that are easy to run, manage, govern and monitor: § Consume protected Docker Images from Azure Container Registry § Secure via Azure Security Center and Azure Policy § Monitor via Azure Monitor and Container Insights § Use common services like databases, caching engines with low latency Seamless integration into Azure

Slide 20

Slide 20 text

What we will cover today • Introduction • What is Kubernetes? • Why should you care? • Azure Kubernetes Service (AKS) - Fully managed Kubernetes clusters • Containerization of frontend workloads • Moving frontends to Kubernetes Talking Points

Slide 21

Slide 21 text

Containerization of frontend workloads - Docker refresher - Containerization of frontend workloads - Local execution - Docker Image distribution Demo

Slide 22

Slide 22 text

What we will cover today • Introduction • What is Kubernetes? • Why should you care? • Azure Kubernetes Service (AKS) - Fully managed Kubernetes clusters • Containerization of frontend workloads • Moving frontends to Kubernetes Talking Points

Slide 23

Slide 23 text

The frontend is the first in line Hosting SPAs is Kubernetes is easy, yet flexible: § Ingress Controllers route inbound requests to containers § Containers can be scaled based upon individual requirements § Canary Deployments or A/B deployments are easy to implement Moving frontends to Kubernetes

Slide 24

Slide 24 text

Running Single Page Applications in Kubernetes - Kubernetes Deployments - Exposing Apps using NGINX Ingress - Horizontal Pod Autoscaling - Canary Deployments with NGINX Ingress Demo