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

Azure ACS and Kubernetes at Imagine Conference 2017

Azure ACS and Kubernetes at Imagine Conference 2017

Azure ACS/AKS Talk at Imagine Conference at Microsoft Munich 2017/11/27

Alexander Zeitler

November 27, 2017
Tweet

More Decks by Alexander Zeitler

Other Decks in Programming

Transcript

  1. Alexander Zeitler CEO / Cloud Solution Architect at PDMLab •

    Microsoft MVP / ASP.NET since 2004 • ASP.NET Web API Advisor since 2011 • Microsoft Azure Advisor since 2014 • Organizer of Azure Meetup Karlsruhe • Using Docker since 2013 https://pdmlab.com [email protected] @alexzeitler_ Azure ACS and Kubernetes 2
  2. Agenda • Deployments/Containers • Containers in Azure • Azure ACS

    / Kubernetes • Azure AKS Azure ACS and Kubernetes 3
  3. Microsoft Azure kostenfrei ausprobieren! 30 Tage Test-Account mit einem Guthaben

    von 170€ https://azure.microsoft.com/de-de/free/ (Voraussetzung: Kreditkarte als Authentifizierungsmethode) Microsoft Azure Pass - 100$/Monat für 3 Monate Amtsträger sowie Bedienstete des Öffentlichen Dienstes sind ausgeschlossen. Wir bitten darum die Bedingungen zur Nutzung auf dem Pass zu beachten sowie den Pass nur bei wirklichem Interesse und Nutzung bei dem Counter der Teilnehmerregistrierung abzuholen. Es ist nur eine begrenzte Anzahl vorhanden. (Voraussetzung: Microsoft Account der noch nicht mit Azure verknüpft ist.) Azure ACS and Kubernetes: Microservices On Steroids 10
  4. Azure ACS and Kubernetes k8s Architecture HTTPS Db Messaging Log

    Auth KV LB Orders Node 3 Node 2 18 Node 1
  5. Azure ACS and Kubernetes k8s Architecture { /* App */

    } Master Node Node Node Node Node Pods Pods Pods 19
  6. Azure ACS and Kubernetes k8s Architecture Master Node Node Node

    Linux Linux/Win Linux/Win Linux/Win ENV ENV ENV ENV 20
  7. Azure ACS and Kubernetes k8s Masters Master Linux ENV apiserver

    CM KV kube-apiserver Front end to control plane REST-API JSON (manifest files) KV-Store persistent state config of the cluster Uses etcd Controller Manager Node Controller Endpoints Controller Namespace Controller kube-scheduler watches apiserver Assigns work to nodes 22
  8. Azure ACS and Kubernetes k8s Masters Master apiserver KV Node

    Node Node kubectl Commands (JSON) CM 23
  9. Azure ACS and Kubernetes k8s Nodes Node Linux/Windows ENV K

    Kubelet kubernetes agent registers node with cluster watches apiserver instantiates pods reports to master endpoint at port :10225 /spec /healthz /pods CR P Container Runtime pull images start / stop containers Docker or rkt kube-proxy Networking Assign IP to Pod All containers in a Pod share IP LB across Pods in services 25
  10. Azure ACS and Kubernetes Desired State Master apiserver KV Node

    kubectl Manifest file (JSON/YAML) CM 3 x nginx Pod nginx Node Pod nginx Node Pod nginx Desired State: OK 27
  11. Azure ACS and Kubernetes Desired State Master apiserver KV Node

    kubectl Manifest file (JSON/YAML) CM 3 x nginx Pod nginx Node Pod nginx Node Pod nginx Desired State: FAILED 28
  12. Azure ACS and Kubernetes Desired State Master apiserver KV Node

    kubectl Manifest file (JSON/YAML) CM 3 x nginx Pod nginx Node Pod nginx Desired State: OK Pod nginx 29
  13. Azure ACS and Kubernetes k8s Pods Pod Environment Namespaces Network

    stack ... n Containers trnsprt link net IPC mount 32
  14. Azure ACS and Kubernetes k8s Scaling Pods Node Pod Node

    Pod Node Pod Node Pod Pod Pod Do Don’t 34
  15. Azure ACS and Kubernetes k8s Services Pod 10.244.2.4 Pod 10.244.2.5

    Pod 10.244.2.6 Pod 10.244.2.7 Pod 10.244.2.8 Service 10.244.2.10 DNS: upstream.myapp 39
  16. Azure ACS and Kubernetes k8s Labels Pod 10.244.2.4 Pod 10.244.2.5

    Pod 10.244.2.6 Pod 10.244.2.7 Pod 10.244.2.8 Service 10.244.2.10 DNS: upstream.myapp p p p p p db db lb p 41
  17. Azure ACS and Kubernetes k8s Deployments • Manifest files (YAML/JSON)

    • Rolling updates + rollbacks • Multiple concurrent versions • blue-green-deployment • Canary releases 43
  18. AKS - Managed Kubernetes in Azure Azure ACS and Kubernetes

    az aks create –n myCluster –g myResourceGroup 46
  19. AKS - Visual Studio Connected Environment Azure ACS and Kubernetes

    https://www.hanselman.com/blog/AnnouncingVisualStudioAndKubernetesVisualStudioConnectedEnvironment.aspx 47
  20. Resources Links • Commands for ACS/ACR/kubectl: https://github.com/PDMLab/acs-kubernetes-talk • Sample App:

    https://github.com/Azure-Samples/azure-voting-app • Kubernetes: https://kubernetes.io/ • Rolling Updates in k8s: https://kubernetes.io/docs/tutorials/kubernetes-basics/update-intro/ • Creating Secrets using kubectl: https://kubernetes.io/docs/concepts/configuration/secret/#creating-a-secret-using- kubectl-create-secret Azure ACS and Kubernetes 50