Resources aka msAPPS 40 Repo aka msmymsignitethetour MSIgnite

  • Slides: 53
Download presentation

Resources aka. ms/APPS 40 Repo aka. ms/mymsignitethetour #MSIgnite. The. Tour

Resources aka. ms/APPS 40 Repo aka. ms/mymsignitethetour #MSIgnite. The. Tour

Agenda App Intro AKS architecture Scale Network & Security Handling Failures

Agenda App Intro AKS architecture Scale Network & Security Handling Failures

App Intro Tailwind Traders

App Intro Tailwind Traders

Tailwind Traders components

Tailwind Traders components

Management's Ask of Us

Management's Ask of Us

Why Kubernetes?

Why Kubernetes?

AKS Architecture

AKS Architecture

Kubernetes Architecture Kubernetes control Internet Worker node kubelet kube-proxy Docker Master node Pods API

Kubernetes Architecture Kubernetes control Internet Worker node kubelet kube-proxy Docker Master node Pods API server -controllermanager Pods Containers -scheduler Worker node kubelet replication, namespace, serviceaccounts, etc. Containers kube-proxy etcd Docker Pods Containers

AKS Architecture Azure managed control plane Self-managed master node(s) App/ workload definition User Kubernetes

AKS Architecture Azure managed control plane Self-managed master node(s) App/ workload definition User Kubernetes API endpoint API server etcd Store Scheduler Controller Manager Schedule pods over private tunnel Customer VMs Docker Pods Cloud Controller Docker Pods

AKS Architecture - Networking App Gateway Kubernetes cluster: Azure VNET Internal Load Balancer External

AKS Architecture - Networking App Gateway Kubernetes cluster: Azure VNET Internal Load Balancer External DNS Ingress Controller Control plane Worker node kubelet Worker node Pods Containers Namespace kubelet

AKS Architecture - Virtual Node Pods Kubernetes control plane Azure Container Instances (ACI) Pods

AKS Architecture - Virtual Node Pods Kubernetes control plane Azure Container Instances (ACI) Pods Virtual node

AKS Architecture - Availability Zones Region* AKS AZs

AKS Architecture - Availability Zones Region* AKS AZs

az commands Create a resource group This is holding all the resources for our

az commands Create a resource group This is holding all the resources for our cluster az group create -l <Azure region> -n my. Res. Group

az commands Create vnet Also we create a subnet for our cluster az network

az commands Create vnet Also we create a subnet for our cluster az network vnet create --resource-group my. Res. Group --name my. Vnet --address-prefixes 10. 0/8 --subnet-name my. Vnet. Sub --subnet-prefix 10. 240. 0. 0/16

az commands Create a subnet for virtual node az network vnet subnet create

az commands Create a subnet for virtual node az network vnet subnet create --resource-group my. Res. Group --vnet-name my. Vnet --name VNSubnet --address-prefix 10. 241. 0. 0/16

az commands Create a service principal The service principal allows us to create other

az commands Create a service principal The service principal allows us to create other cloud resources my. SPk 8 s

az commands Create a base AKS Cluster Basic cluster az aks create  --resource-group

az commands Create a base AKS Cluster Basic cluster az aks create --resource-group my. Res. Group --name my. AKSCluster --node-count 3 --generate-ssh-keys

az commands Create an AKS Cluster All addon flags az aks create  --resource-group

az commands Create an AKS Cluster All addon flags az aks create --resource-group my. Res. Group --name my. AKSCluster --node-count 3 --service-principal <app. Id> --client-secret <password> --generate-ssh-keys --network-plugin azure --dns-service-ip $KUBE_DNS_IP --docker-bridge-address 172. 17. 0. 1/16 --vnet-subnet-id <vnet id> --load-balancer-sku standard --enable-vmss --node-zones 1 2 3 --network-policy calico

az commands Add virtual node Add the virtual node addon my. Res. Group my.

az commands Add virtual node Add the virtual node addon my. Res. Group my. AKSCluster VNsubnet

Future proof your cluster by enabling virtual node, CNI and availability zones

Future proof your cluster by enabling virtual node, CNI and availability zones

Scale

Scale

Feature Request From Management • • •

Feature Request From Management • • •

Solution to the new request

Solution to the new request

Scaling Technologies Cluster Autoscaler

Scaling Technologies Cluster Autoscaler

Scaling Technologies Horizontal Pod Autoscaler (HPA)

Scaling Technologies Horizontal Pod Autoscaler (HPA)

Virtual Node is Based Off Virtual Kubelet

Virtual Node is Based Off Virtual Kubelet

Virtual Node Supports Tip In the backend Virtual node is using Helm to deploy

Virtual Node Supports Tip In the backend Virtual node is using Helm to deploy the binary needed to connect to ACI

Example. yaml Tell Your Pods to Use Virtual Node node. Selector: beta. kubernetes. io/os:

Example. yaml Tell Your Pods to Use Virtual Node node. Selector: beta. kubernetes. io/os: linux kubernetes. io/role: agent type: virtual-kubelet tolerations: - key: virtual-kubelet. io/provider operator: Equal value: azure effect: No. Schedule

Demo: Scaling with Virtual Node

Demo: Scaling with Virtual Node

Network and Security

Network and Security

Introduction into AKS security

Introduction into AKS security

Introduction into Pod Identity

Introduction into Pod Identity

Introduction into Pod Identity Node Management Identity (NMI) Managed Identity Controller (MIC)

Introduction into Pod Identity Node Management Identity (NMI) Managed Identity Controller (MIC)

Pod Identity

Pod Identity

Network Policy Options in AKS

Network Policy Options in AKS

Network Policy Options in AKS

Network Policy Options in AKS

Azure Network Policy

Azure Network Policy

Calico Network Policy

Calico Network Policy

Demo: Network policies

Demo: Network policies

Handling Failures

Handling Failures

Availability Zones Region* AKS AZs

Availability Zones Region* AKS AZs

Availability Zones

Availability Zones

Availability zones is in public beta aka. ms/AKSavailability

Availability zones is in public beta aka. ms/AKSavailability

Handling Application Failure

Handling Application Failure

Example. yaml Example deployment To handle failure api. Version: apps/v 1 kind: Deployment metadata:

Example. yaml Example deployment To handle failure api. Version: apps/v 1 kind: Deployment metadata: name: webapp-deployment spec: selector: match. Labels: app: webapp replicas: 3 template: metadata: labels: app: webapp spec: containers: - name: webapp image: scottyc/webapp: latest ports: - container. Port: 3000 host. Port: 3000

Demo: Avalibility Zones

Demo: Avalibility Zones

/MS Learn alert aka. ms/APPS 40 MSLearn. Collection

/MS Learn alert aka. ms/APPS 40 MSLearn. Collection

/Microsoft Certification alert aka. ms/Azure. Dev. Cert aka. ms/Dev. Ops. Engineer. Cert Get hired,

/Microsoft Certification alert aka. ms/Azure. Dev. Cert aka. ms/Dev. Ops. Engineer. Cert Get hired, stay ahead, and receive the recognition you deserve #MSIgnite. The. Tour

Microsoft. com/Certifications Microsoft. com/Learn aka. ms/Learning. Partner

Microsoft. com/Certifications Microsoft. com/Learn aka. ms/Learning. Partner

Resources aka. ms/APPS 40 Repo aka. ms/mymsignitethetour #MSIgnite. The. Tour

Resources aka. ms/APPS 40 Repo aka. ms/mymsignitethetour #MSIgnite. The. Tour