Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rock Solid, yet flexible Single Page Applications professionell mit Kubernetes betreiben

Rock Solid, yet flexible Single Page Applications professionell mit Kubernetes betreiben

Kubernetes – das Cloud-Betriebssystem dieser Dekade – bietet auch für den Betrieb von Single Page Applications (SPAs) eine hohe Flexibilität und Individualisierbarkeit. In diesem Halbtages-Workshop zeigt Thorsten Hans, wie Sie Ihre SPA in Docker Images verpacken, und in Kubernetes betreiben können. Lernen Sie essenzielle Konzepte und Techniken für das Hosting von SPAs anhand einer exemplarischen Angular-Anwendung kennen. Hierbei werden wir iterativ vom Standardbetrieb, bis hin zur Abbildung einer professionellen Multi-Tenant-Umgebung mit Canary-Deployments vorgehen.

Thorsten Hans

March 24, 2021
Tweet

More Decks by Thorsten Hans

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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
  4. 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
  5. Kubernetes Control Plane Kubernetes Architecture Kubernetes Node Pool 1 Kubernetes

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

    Node Kubernetes Node Kubernetes Node Pool 2 Kubernetes Node Kubernetes Node Azure Container Instances
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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?
  12. 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
  13. 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)
  14. 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
  15. 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
  16. 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
  17. Containerization of frontend workloads - Docker refresher - Containerization of

    frontend workloads - Local execution - Docker Image distribution Demo
  18. 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
  19. 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
  20. Running Single Page Applications in Kubernetes - Kubernetes Deployments -

    Exposing Apps using NGINX Ingress - Horizontal Pod Autoscaling - Canary Deployments with NGINX Ingress Demo