fundamentals of kubernetes on microsoft azure

35
Fundamentals of Kubernetes on Microsoft Azure

Upload: others

Post on 08-Apr-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentals of Kubernetes on Microsoft Azure

Fundamentals of Kubernetes on Microsoft Azure

Page 2: Fundamentals of Kubernetes on Microsoft Azure

Introduction

AKSOverview

Introduction

Topscenarios

Open source culture

Resources

Page 3: Fundamentals of Kubernetes on Microsoft Azure

Containers and Kubernetes momentum

Nearly 50% of organizations1

running 1000 or more hosts

have adopted containers.

Larger companiesare leading theadoption.1

50%

Half of container environment is orchestrated.1 77%77%of companies2 who use

container orchestrators choose

Kubernetes.

75%

The average size of a container deployment has grown 75% in one year. 1

“By 2020, more than 50% of enterprises

will run mission-critical, containerized

cloud-native applications in production.”

1 Datadog report: 8 Surprising Facts About Real Docker Adoption 2 CNCF survey: cloud-native-technologies-scaling-production-applications

Page 4: Fundamentals of Kubernetes on Microsoft Azure

Kubernetes: the industry leading orchestrator

Portable

Public, private, hybrid,

multi-cloud

Extensible

Modular, pluggable,

hookable, composable

Self-healing

Auto-placement, auto-restart,

auto-replication, auto-scaling

Page 5: Fundamentals of Kubernetes on Microsoft Azure

1. Kubernetes users communicate

with API server and apply desired

state

2. Master nodes actively enforce

desired state on worker nodes

3. Worker nodes support

communication between

containers

Kubernetes 101

Kubernetes

control

API server

replication, namespace,

serviceaccounts, etc.

-controller-

manager -scheduler

etcd

Master node

Worker node

kubelet kube-proxy

Docker

Prod Prod

Containers Containers

Worker node

kubelet kube-proxy

Docker

Prod Prod

Containers Containers

Internet

4. Worker nodes support

communication from the

Internet

Page 6: Fundamentals of Kubernetes on Microsoft Azure

API server

Controller

ManagerScheduler

etcd

Store

Cloud

Controller

Self-managed master node(s)

How managed Kubernetes on Azure works

• Automated upgrades, patches

• High reliability, availability

• Easy, secure cluster scaling

• Self-healing

• API server monitoring

• At no charge

Customer VMs

App/

workload

definitionUser

Docker

Pods

Docker

Pods

Docker

Pods

Docker

Pods

Docker

Pods

Schedule pods over

private tunnel

Kubernetes

API endpoint

Azure managed control plane

Page 7: Fundamentals of Kubernetes on Microsoft Azure

From infrastructure to innovation

Responsibilities DIY with Kubernetes Managed Kubernetes on Azure

Containerization

Application iteration,

debugging

CI/CD

Cluster hosting

Cluster upgrade

Patching

Scaling

Monitoring and logging

Customer

Microsoft

Managed Kubernetes

empowers you to do more

Focus on your containers

and code, not the plumbing of them

Page 8: Fundamentals of Kubernetes on Microsoft Azure

Azure Kubernetes Service (AKS) Overview

AKSOverview

Introduction

Topscenarios

Open source culture

Resources

Page 9: Fundamentals of Kubernetes on Microsoft Azure

AKS: Simplify the deployment, management,

and operations of Kubernetes

Deploy and manage

Kubernetes with ease

Scale and run applications

with confidence

Secure your Kubernetes

environment

Accelerate containerized

application development

Work how you want with

open-source tools & APIs

Set up CI/CD in a

few clicks

Page 10: Fundamentals of Kubernetes on Microsoft Azure

Azure Kubernetes momentum

10xKubernetes on Azure

usage grew 10x

5xKubernetes on Azure

customers grew 5x

Last 12 months

Page 11: Fundamentals of Kubernetes on Microsoft Azure

Deploy and manage Kubernetes with ease

Task The old way With Azure

Create a cluster Provision network and VMs

Install dozens of system components including etcd

Create and install certificates

Register agent nodes with control plane

az aks create

Upgrade a cluster Upgrade your master nodes

Cordon/drain and upgrade worker nodes individually

az aks upgrade

Scale a cluster Provision new VMs

Install system components

Register nodes with API server

az aks scale

Azure makes Kubernetes easy

Page 12: Fundamentals of Kubernetes on Microsoft Azure

Database tier

AKS production cluster

Source

code control

Helm

chart

Inner loop

Test

Debug

Azure

DevSpaces

AKS dev

cluster

Azure

Container

Registry

Azure Pipelines/

DevOps Project

Auto-build

Business

logic

Front end

Azure

Monitor

CI/CD

Page 13: Fundamentals of Kubernetes on Microsoft Azure

Secure your Kubernetes environment

Compliant Kubernetes

service with

certifications covering

SOC, HIPAA, and PCI

Control access through

AAD and RBAC

Safeguard keys and

secrets with Key Vault

Secure network

communications with

VNET and CNI

Page 14: Fundamentals of Kubernetes on Microsoft Azure

Scale and run with confidence

Built-in

auto scaling

Global

data center

Geo-replicated

container registry

Elastically burst

using ACI

Browser

Traffic

manager

Geo-replicated

container registry

AKS clusters

Azure Container Instances

Pod Pod

Pod Pod

Pod Pod

Page 15: Fundamentals of Kubernetes on Microsoft Azure

Top scenarios

AKSOverview

Introduction

Topscenarios

Open source culture

Resources

Page 16: Fundamentals of Kubernetes on Microsoft Azure

Performance

Low latency processing

Machine learning

Portability

Build once, run anywhere

IoT

Agility

Faster application development

Microservices

Top scenarios for Kubernetes on Azure

Cost saving

without refactoring your app

Lift and shift to containers

Page 17: Fundamentals of Kubernetes on Microsoft Azure

Lift and shift to

containers

Microservices Machine learning IoT

App modernization without code changes

• Speed application deployments

by using container technology

• Defend against infrastructure

failures with container

orchestration

• Increase agility with continuous

integration and continuous

delivery

Azure

Container

Registry

Existing

application

Kubernetes cluster

Cloud

Database

Modernized

application

Modernized

application

Modernized

application

CI/CD

Page 18: Fundamentals of Kubernetes on Microsoft Azure

Lift and shift to

containers

Microservices Machine learning IoT

Microservices: for faster app development

• Independent deployments

• Improved scale and resource

utilization per service

• Smaller, focused teams

Monolithic

APP APP APP

Microservices

Large, all-inclusive app Small, independent services

Page 19: Fundamentals of Kubernetes on Microsoft Azure

Lift and shift to

containers

Microservices Machine learning IoT

Microservices: for faster app development

1. Use Azure Dev Spaces to iteratively

develop, test, and debug microservices

targeted for AKS clusters.

2. Easily access to SLA-backed Azure

Services such as Azure Database for

MySQL using Open Service Broker for

Azure (OSBA)

3. Azure Monitor provides a single pane

of glass for monitoring over app

telemetry, cluster-to-container level

health analytics.

Monolithic

APP APP APP

Microservices

Large, all-inclusive app Small, independent services

Page 20: Fundamentals of Kubernetes on Microsoft Azure
Page 21: Fundamentals of Kubernetes on Microsoft Azure

Maersk uses AKS for a customer service process to elevate

NSAT, an industry-wide challenge

Needs: Get near-real-time data to provide better customer service

Collect data for future Machine Learning driven features

Challenges: Compute & memory intensive features

Data integration difficulties

Limited organisational experience in Cloud & Kubernetes

Requirements: Spend less time on container software management

Automation and continuous delivery

Full visibility to application, container and infrastructure

Fine grained security and access control

Click icon to learn more

Page 22: Fundamentals of Kubernetes on Microsoft Azure

Architectural approach

1. Azure Pipelines for automation

and CI/CD pipelines; adding

Terraform for further automation

2. Key Vault to secure secrets and

for persistent configuration store

3. Azure Monitor for containers

provides better logging,

troubleshooting, with no direct

container access

4. RBAC control for fine grained

Kubernetes resources access

control

Firewall

App Gateway

AKS w/

RBAC

Azure

Monitor

Azure

Pipeline

SQL

Database

Cosmos

DB

Performance Document DB

Key

Vault

Event Hub

Batch processingEvent Simulation

Data

Factory

Data

Management

Gateway

On-premises

database

Express

Route

Service Bus

Internal Queuing

SQL

Database

Page 23: Fundamentals of Kubernetes on Microsoft Azure

Results

Reduced environment

provisioning time from

1+ weeks to 2.5 hours

Deploy times reduced to minuets with the

introduction of terraform

Increased developer

autonomy with ARM

and terraform

<\>

Less time spend on

managing secrets with

AKS and Key Vault

AKS and CaaS can

potentially save 33%

on run cost

100% automated

production

deployments

Page 24: Fundamentals of Kubernetes on Microsoft Azure

Lift and shift to

containers

Microservices Machine learning IoT

Data science in a box

• Quick deployment and high

availability

• Low latency data processing

• Consistent environment across

test, control and production

https://github.com/Azure/kubeflow-labsCompute

Training

data

Algorithm

GPU-enabled VMs

AKS trained

model

AI model in

production

Developer

<\>

Data

Scientist

Serve the

model

Page 25: Fundamentals of Kubernetes on Microsoft Azure

OpenAI uses cloud to drive flexibility and scalability for deep

learning experiments

Challenge: OpenAI needed infrastructure for deep learning that would

allow experiments to run either in the cloud or in its own data

center, and to easily scale.

Solution: OpenAI migrated its Kubernetes clusters to Azure, running key

experiments in fields including robotics and gaming both in

Azure and in its own data centers.

Outcome: Researchers now spend far less time launching experiments and

scaling them out to hundreds of GPUs. OpenAI has also

benefited from greater portability and lower costs given the

ability to use its own data centers when appropriate.

Because Kubernetes provides a consistent API, we can move our research experiments very easily between clusters… [We] have a number of teams that run their experiments both in Azure and in our own data centers, just depending on which cluster has free capacity, and that's hugely valuable.”

— Christopher Berner, Head of Infrastructure

OpenAI

Click icon to learn more

Page 26: Fundamentals of Kubernetes on Microsoft Azure

Lift and shift to

containers

Microservices Machine learning IoT

Scalable Internet of Things solutions

• Portable code, runs anywhere

• Elastic scalability and

manageability

• Quick deployment and high

availability

AKS

Database

for MySQLAzure

Cosmos DBSQL

Database

IoT Hub

IoT Edge

devices

IoT Edge

Connector

Page 27: Fundamentals of Kubernetes on Microsoft Azure

Azure IoT Edge

Compress

Encrypt

Send to Cloud

Azure

Lift and shift to

containers

Microservices Machine learning IoT

Consistent management between cloud and edge

2. Virtual node, an implementation

of Virtual Kubelet, serves as the

translator between cloud and edge

3. IoT Edge Provider in virtual node

redirects containers to IoT Edge

and extend AKS cluster to target

millions of Edge devices

4. Consistent update, manage, and

monitoring as one unit in AKS

using single pod definition

Kubernetes cluster

Node

Docker

container

Docker

container

Node

Docker

container

Docker

container

Virtual node

IoT Edge

Provider

Docker

container

Docker

containers

Decrypt

Decompress

Send to Storage

1. Azure IoT Edge encrypts data and

send to Azure, which then decrypts

the data and send to storage

Page 28: Fundamentals of Kubernetes on Microsoft Azure

ACI burst from AKS Private preview

Signup:

aka.ms/aksvirtual

nodes

Kubernetes on Azure

Page 29: Fundamentals of Kubernetes on Microsoft Azure

Open source culture

AKSOverview

Introduction

Topscenarios

Open source culture

Resources

Page 30: Fundamentals of Kubernetes on Microsoft Azure

Development DevOps Monitoring Networking Storage Security

Take advantage

of services and

tools in the

Kubernetes

ecosystem

…or…

Leverage growing

Azure support

RBAC

VS Code

Azure

DevOps

ARMAzure Monitor Azure VNET Azure Storage

Azure Container Registry

AAD

Key Vault

Work how you want with opensource tools and APIs

Page 31: Fundamentals of Kubernetes on Microsoft Azure

#2 overall

individual

contributor to

Kubernetes

(Brendan Burns)

#4 overall individual

contributor to Docker

(John Howard)

#1-3 overall

individual

contributors to

Helm

70 Microsoft

employees have

made

contributions to

Kubernetes

Microsoft contributes open source containers

Page 32: Fundamentals of Kubernetes on Microsoft Azure

Resources

AKSOverview

Introduction

Topscenarios

Open source culture

Resources

Page 34: Fundamentals of Kubernetes on Microsoft Azure

Start today at Microsoft.com/Learn

Page 35: Fundamentals of Kubernetes on Microsoft Azure