Slide 1

Slide 1 text

Azure Kubernetes Service für .NET-Core-Entwickler Thorsten Hans @ThorstenHans Consultant

Slide 2

Slide 2 text

Focus: Cloud Native & Infrastructure as Code Consultant @ Thinktecture AG [email protected] [email protected] thinktecture.com thorsten-hans.com @ThorstenHans Thorsten Hans

Slide 3

Slide 3 text

Talking Points What is Kubernetes Azure Kubernetes Service Hands-On

Slide 4

Slide 4 text

Open-Source Container Orchestrator § Initially founded by Google / now maintained by CNCF § Successor of Google’s Borg § Original Codename Seven1 § Greek for pilot or helmsman of a ship § Written in go 1 - https://en.wikipedia.org/wiki/Seven_of_Nine Kubernetes

Slide 5

Slide 5 text

What is Kubernetes § Container Orchestrator § Runs Containers § Takes care about Networking / Isolation of workloads § Abstracts hardware from developers § Cloud-Agnostic § Container Lifecycle Management § Deployment, Rolling Upgrades, Scaling, Load-Balancing Kubernetes

Slide 6

Slide 6 text

Kubernetes Master Kubernetes Node Pool 1 Kubernetes Worker Node Kubernetes Worker Node Birds-View Kubernetes Architecture

Slide 7

Slide 7 text

Kubernetes Master Kubernetes Node Pool 1 Kubernetes Worker Node Kubernetes Worker Node Birds-View Kubernetes Architecture Kubernetes Node Pool 2 Kubernetes Worker Node Kubernetes Worker Node

Slide 8

Slide 8 text

Kubernetes Master Kubernetes Node Pool 1 Kubernetes Worker Node Kubernetes Worker Node Birds-View Kubernetes Architecture Kubernetes Node Pool 2 Kubernetes Worker Node Kubernetes Worker Node

Slide 9

Slide 9 text

Kubernetes Master Kubernetes Node Pool 1 Kubernetes Worker Node Kubernetes Worker Node Birds-View Kubernetes Architecture Kubernetes Node Pool 2 Kubernetes Worker Node Kubernetes Worker Node Azure Container Instances

Slide 10

Slide 10 text

What is a Kubernetes Master § Cluster control-plane § Set of control services § etcd based storage § Requires three instances to be highly available § Executing five essential master services Kubernetes

Slide 11

Slide 11 text

Services on a Kubernetes Master Kubernetes Master Kubernetes Master etcd API Server Scheduler Cloud Controller Manager Controller Manager

Slide 12

Slide 12 text

Services on a Kubernetes Master § Distributed Configuration Storage etcd § highly-available key-value store for all Kubernetes config-data § API Server kube-apiserver § Exposes the Kubernetes API via HTTPs § Scheduler kube-scheduler § Assigns Artefacts to Nodes Kubernetes

Slide 13

Slide 13 text

Services on a Kubernetes Master § Controller Manager kube-controller-manager § Runs five controllers (each controller is a separate process) § Controllers watch configuration state and ensure current state matches desired state § Node Controller (acting if a node goes down) § Replication Controller (maintain pods deployed by ReplicaSet) § Endpoints Controller (creates an maintains endpoints like Services) § Service Account & Token Controller (maintains tokens and service acc. namespaces) Kubernetes

Slide 14

Slide 14 text

Services on a Kubernetes Master § Cloud Controller Manager kube-cloud-controller-manager § Runs cloud specific controllers (Azure, AWS, GCE) § Cloud vendors can automate external resources by implementing controllers § Node Controller (checks if node has been deleted after it went down) § Route Controller (setup routes for underlying infrastructure) § Service Controller (automating cloud load-balancers) § Volume Controller (managing volumes offered by the cloud provider) Kubernetes

Slide 15

Slide 15 text

What is a Kubernetes Worker-Node § Physical or virtual machine § Responsible for running Pods § Consists of at least three main components Kubernetes

Slide 16

Slide 16 text

Services on a Kubernetes Worker-Node Kubernetes Worker-Node Kubernetes Worker-Node Container Runtime kubelet kube-proxy

Slide 17

Slide 17 text

Services on a Kubernetes Worker-Node § kubelet § Ensures containers are execute as requested by Pods § Performs Health- and Readiness-Checks § kube-proxy § Network proxy and load-balancer for services on the Worer-Node § Container Runtime § Software responsible to run containers Kubernetes

Slide 18

Slide 18 text

Talking Points What is Kubernetes Azure Kubernetes Service Hands-On

Slide 19

Slide 19 text

AKS § Fully managed Kubernetes cluster § Easy cluster administration e.g. Scaling or Upgrading Kubernetes § Seamless integration with other Azure services § Cost efficient – you pay just for your Worker-Nodes § Since April 2020 you can pay for AKS to get an SLA Azure Container Service

Slide 20

Slide 20 text

Seamless Azure Integration § Kubernetes Load-Balancer will spin up an Azure Load-Balancer § Mount Azure Files Shares and Disks as Volumes § Consume Docker Images from Azure Container Registry § Use other Azure Services like Redis, Azure SQL, … § Traffic inside the same region is always free § Get Container Insights using Azure Monitor § Protect applications using Azure Security Center AKS and Azure Integration

Slide 21

Slide 21 text

Talking Points What is Kubernetes Azure Kubernetes Service Hands-On

Slide 22

Slide 22 text

Running .NET Applications in Kubernetes - Containerize .NET Application - Create ACR and AKS - Create Deployment for the Application - Expose Application - Consume Configuration Values Demo