SlideShare a Scribd company logo
Azure Kubernetes Service
What is a container?
Containers = operating system virtualizationTraditional virtual machines = hardware virtualization
OS
Kernel
Applications
Container Container Container
HardwareHardware
OS
Application
VM VM VM
App
OS
App
OS
App
OS
Virtualization versus containerization?
Virtualization Containerization
Type 1
Hardware
Hypervisor 1
VM VM VM
Hardware
Type 2
Host OS
Hypervisor 2
VM VM VM
Virtual machine
Guest OS
Dependencies
Application
Hardware
Host OS
Docker Engine
Dependency 1 Dependency 2
C C C C C
Container
App dependencies
Application XYZ
Image
How Container are Launched ?
Docker
Docker is a Open-Source computer program that
performs operating-system-level virtualization, also known
as "containerization". It was first released in 2013 and is
developed by Docker, Inc.
Docker is used to run software packages called
"containers". In a typical example use case, one container
runs a web server and web application, while a second
container runs a database server that is used by the web
application.
• Launched in March 2013
• Over 37 billion+ Downloads
• Over 3,5million+ Docker-ized applications
• 100+ Case Studies worldwide
https://en.wikipedia.org/wiki/Docker_(software)
The benefits of using containers
Agility
Ship apps
faster
Portability
Easily move
workloads
Rapid scale
Scale easily
to meet
demand
Density
Achieve
resource
efficiency
On-premises
Cloud
Anywhere
Monolith
Microservice
Any app
.Net
Java
Python
Node
Any language
Linux
Windows
Any OS
Choice of developer tools and clients
Azure Container Registry Docker Hub
App Service
Deploy web apps
or APIs using
containers in a
PaaS environment
Service Fabric
Modernize .NET
applications to
microservices
using Windows
Server containers
Kubernetes Service Container Instance
Scale and orchestrate
Linux containers using
Kubernetes
Ecosystem
Bring your
Partner solutions
that run great on
Azure
Elastically burst
from your Azure
Kubernetes Service
(AKS) cluster
Containers in Azure
Container Challenges
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
VM Host
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Container
Application
Dependencies
App code
Environmental
Variables
Files
Libraries Drivers
Things can get
complicated very
quickly
Container Management at Scale
Load
Balancing:
evenly
distribute traffic
Lifecycle and
Health:
keep containers
running despite
failure
Cluster
Management:
deploy and
manage cluster
resources
Scheduling:
where
containers run
Naming and
Discovery:
where are my
containers
Logging and
Monitoring:
track what’s
happening in
containers and
cluster
Image
repository:
centralized,
secure Docker
container
images
Storage
volumes:
persistent data
for containers
Scaling:
make sets of
containers
elastic in
number
Continuous
Delivery:
CI/CD pipeline
and workflow
At the end of the day we need something to
help us with all the orchestration..
An orchestrator!
Kubernetes
k8s
κυβερνήτης
 Most discussed repo in GitHub last year.
 Over 1,700 authors and releases every three month
 To learn more about the ideas behind Kubernetes: read the
Large-scale cluster management at Google with Borg paper
2020-07-17 NOVASQL Presentation - Azure Kubernetes Service
Kubernetes ArchitectureKubernetes
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
master
components
node
components
Recap – K8s Components
api-server
controller-manager
etcd
scheduler
kubelet kube-proxy
docker dns
master
components
node
components
Reference:
https://github.com/kelseyhightower/k
ubernetes-the-hard-way
Kubernetes in Azure (AKS)
Managed k8s service
Kubernetes on its own is not enough
Unlock the agility for containerized
applications using:
• Infrastructure automation that simplifies
provisioning, patching, and upgrading
• Tools for containerized app development
and CI/CD workflows
• Services that support security, governance,
and identity and access management
Save time from infrastructure management and roll out updates faster without compromising security
IDE container
support
Registry
supporting
Helm
CI/CD
Monitoring
Microservice
debugging
NetworkingVirtual machines
Security Governance Identity
Source code
repository<>
Kubernetes
Storage Data
Infrastructure automation
Deploy, manage, and
monitor Kubernetes
with ease
Scale
applications on
the fly
Roll out
new features
seamlessly (CI/CD)
Accelerate
containerized app
development
Secure your
environment with
layers of isolation
Ship-faster
Focus on your containers
not the infrastructure
Extensible
Modular, pluggable,
hookable, composable
Self-healing
Auto-placement, auto-restart,
auto-replication, auto-scaling
Azure Kubernetes Service (AKS)
A fully managed Kubernetes cluster
Managed
Azure infrastructure services
Container Runtime Engine
Kubernetes
Application
architect
Infrastructure
architect
Applications
Operations
Managed KubernetesKubernetes
control
API server
replication, namespace,
serviceaccounts, etc.
-controller-
manager -scheduler
etcd
Master node
Worker node
kubelet kube-proxy
Docker
Pod Pod
Containers Containers
Worker node
kubelet kube-proxy
Docker
Pod Pod
Containers Containers
Internet
master
components
node
components
Azure managed control plane
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
• Auto Scaling of Nodes
Customer Worker Node 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
Visible to the users/administrators
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
Get started easily
> az aks create
> az aks install-cli
> az aks get-credentials
> kubectl get nodes
Azure makes Kubernetes easy
Manage an AKS cluster
> az aks list
➢ az aks upgrade
➢ az aks scale
Azure makes Kubernetes easy
Cluster Upgrade
Upgrade to version 1.11.4
$ az aks upgrade --name myAKSCluster --resource-group myResourceGroup --
kubernetes-version 1.11.4
• The Kubernetes community releases minor versions roughly every
three months
• AKS supports *4* minor versions of Kubernetes
• The latest stable version upstream and the previous 3
• Each supported minor version also supports *2* stable patches.
Azure makes Kubernetes easy
AKS – Portal Experience
Azure Portal Experience
Azure Container Instances (ACI)
Increase agility
with containers on
demand
Secure applications
with isolation
Run containers
without managing
servers
Azure Container Instances (ACI)
Easily run containers on Azure without managing servers
Release automation tools
Simplifying the Kubernetes experience
Streamlined
Kubernetes
development
Event-driven
scripting for
Kubernetes
The package
manager for
Kubernetes
helm.sh
Looking for sample charts?
Visit the Chart Directory at kubeapps.com to explore and use community charts.
Helm
Resources
AKS Workshop MS Learn – AKS Workshop
AKS on GitHub AKS Issues and feature Tracking
k8s on Azure Kubernetes on Azure
AKS DevOps
labs
Deploying multi-container apps in AKS
AKS Azure Kubernetes Services
Thank You

More Related Content

PDF
Building and Deploying a Static Application using Jenkins and Docker in AWS
PDF
Net Pipeline on Windows Kubernetes
PDF
Anatomy of a Build Server Attack
PPTX
DevNation
PPTX
Techdays SE 2016 - Micros.. err Microcosmos
PDF
Cloud On-Ramp Project Briefing
PDF
Introduction to Dev Ops and Containerisation with Docker
PPTX
All you need for Containerized application in Microsoft Azure
Building and Deploying a Static Application using Jenkins and Docker in AWS
Net Pipeline on Windows Kubernetes
Anatomy of a Build Server Attack
DevNation
Techdays SE 2016 - Micros.. err Microcosmos
Cloud On-Ramp Project Briefing
Introduction to Dev Ops and Containerisation with Docker
All you need for Containerized application in Microsoft Azure

What's hot (11)

PPTX
Docker In Cloud
PDF
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
PDF
HPC Cloud Burst Using Docker
PPTX
Microservices and docker
PDF
Docker with Micro Service and WebServices
PDF
PPTX
DevOps with Kubernetes and Helm - Jenkins World Edition
PDF
C219 - Docker and PureApplication Patterns: Better Together
PPTX
The container ecosystem @ Microsoft A story of developer productivity
PPTX
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
PPTX
Microservices with Docker
Docker In Cloud
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
HPC Cloud Burst Using Docker
Microservices and docker
Docker with Micro Service and WebServices
DevOps with Kubernetes and Helm - Jenkins World Edition
C219 - Docker and PureApplication Patterns: Better Together
The container ecosystem @ Microsoft A story of developer productivity
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Microservices with Docker
Ad

Similar to 2020-07-17 NOVASQL Presentation - Azure Kubernetes Service (20)

PDF
MS Azure Kubernetes Service explaining containers and challenges
PPTX
Containers in the Microsoft ecosystem
PPTX
Containerization with Azure
PPTX
Containerization in microsoft azure
PPTX
Intro to docker and kubernetes
PPTX
Introduction to Containers & Diving a little deeper into the benefits of Con...
PPTX
Containerization with Microsoft Azure
PDF
A curtain-raiser to the container world Docker & Kubernetes
PPTX
Docker
PPTX
Docker for developers - The big picture
PDF
Whales, Clouds, and Bubbles...?
PPTX
Containers: DevOp Enablers of Technical Solutions
PPTX
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
PDF
The ABC of Docker: The Absolute Best Compendium of Docker
PPTX
Container on azure
PDF
Introduction to Docker - IndiaOpsUG
PDF
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
PDF
Application Deployment on Openstack
PPTX
Real dev ops with containers
PDF
7_OPEN17_Azure_Next-gen Development with PaaS & Containers
MS Azure Kubernetes Service explaining containers and challenges
Containers in the Microsoft ecosystem
Containerization with Azure
Containerization in microsoft azure
Intro to docker and kubernetes
Introduction to Containers & Diving a little deeper into the benefits of Con...
Containerization with Microsoft Azure
A curtain-raiser to the container world Docker & Kubernetes
Docker
Docker for developers - The big picture
Whales, Clouds, and Bubbles...?
Containers: DevOp Enablers of Technical Solutions
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
The ABC of Docker: The Absolute Best Compendium of Docker
Container on azure
Introduction to Docker - IndiaOpsUG
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Application Deployment on Openstack
Real dev ops with containers
7_OPEN17_Azure_Next-gen Development with PaaS & Containers
Ad

More from Timothy McAliley (8)

PDF
Azure Data Certifications and Training - Timothy McAliley
PPTX
Go Serverless with Cosmos DB, Azure Functions and Blazor
PPTX
Building near real-time HTAP solutions using Synapse Link for Azure Cosmos DB
PDF
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
PPTX
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
PDF
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
PPTX
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
PDF
A Tour of Azure SQL Databases (NOVA SQL UG 2020)
Azure Data Certifications and Training - Timothy McAliley
Go Serverless with Cosmos DB, Azure Functions and Blazor
Building near real-time HTAP solutions using Synapse Link for Azure Cosmos DB
Data Migration to Azure SQL and Azure SQL Managed Instance - June 19 2020
Azure Cloud Adoption Framework + Governance - Sana Khan and Jay Kumar
NOVA SQL MeetUp Webinar Slides - June 5, 2020 Chris Seferlis - Azure SQL Mana...
NOVA SQL User Group - Azure Synapse Analytics Overview - May 2020
A Tour of Azure SQL Databases (NOVA SQL UG 2020)

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Modernizing your data center with Dell and AMD
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
A Presentation on Artificial Intelligence
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Cloud computing and distributed systems.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Modernizing your data center with Dell and AMD
Spectral efficient network and resource selection model in 5G networks
A Presentation on Artificial Intelligence
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Cloud computing and distributed systems.
Building Integrated photovoltaic BIPV_UPV.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Network Security Unit 5.pdf for BCA BBA.

2020-07-17 NOVASQL Presentation - Azure Kubernetes Service

  • 2. What is a container? Containers = operating system virtualizationTraditional virtual machines = hardware virtualization OS Kernel Applications Container Container Container HardwareHardware OS Application VM VM VM App OS App OS App OS
  • 3. Virtualization versus containerization? Virtualization Containerization Type 1 Hardware Hypervisor 1 VM VM VM Hardware Type 2 Host OS Hypervisor 2 VM VM VM Virtual machine Guest OS Dependencies Application Hardware Host OS Docker Engine Dependency 1 Dependency 2 C C C C C Container App dependencies Application XYZ Image
  • 4. How Container are Launched ?
  • 5. Docker Docker is a Open-Source computer program that performs operating-system-level virtualization, also known as "containerization". It was first released in 2013 and is developed by Docker, Inc. Docker is used to run software packages called "containers". In a typical example use case, one container runs a web server and web application, while a second container runs a database server that is used by the web application. • Launched in March 2013 • Over 37 billion+ Downloads • Over 3,5million+ Docker-ized applications • 100+ Case Studies worldwide https://en.wikipedia.org/wiki/Docker_(software)
  • 6. The benefits of using containers Agility Ship apps faster Portability Easily move workloads Rapid scale Scale easily to meet demand Density Achieve resource efficiency On-premises Cloud Anywhere Monolith Microservice Any app .Net Java Python Node Any language Linux Windows Any OS
  • 7. Choice of developer tools and clients Azure Container Registry Docker Hub App Service Deploy web apps or APIs using containers in a PaaS environment Service Fabric Modernize .NET applications to microservices using Windows Server containers Kubernetes Service Container Instance Scale and orchestrate Linux containers using Kubernetes Ecosystem Bring your Partner solutions that run great on Azure Elastically burst from your Azure Kubernetes Service (AKS) cluster Containers in Azure
  • 9. VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers VM Host Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Container Application Dependencies App code Environmental Variables Files Libraries Drivers Things can get complicated very quickly
  • 10. Container Management at Scale Load Balancing: evenly distribute traffic Lifecycle and Health: keep containers running despite failure Cluster Management: deploy and manage cluster resources Scheduling: where containers run Naming and Discovery: where are my containers Logging and Monitoring: track what’s happening in containers and cluster Image repository: centralized, secure Docker container images Storage volumes: persistent data for containers Scaling: make sets of containers elastic in number Continuous Delivery: CI/CD pipeline and workflow At the end of the day we need something to help us with all the orchestration.. An orchestrator!
  • 12. k8s κυβερνήτης  Most discussed repo in GitHub last year.  Over 1,700 authors and releases every three month  To learn more about the ideas behind Kubernetes: read the Large-scale cluster management at Google with Borg paper
  • 14. Kubernetes ArchitectureKubernetes 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 master components node components
  • 15. Recap – K8s Components api-server controller-manager etcd scheduler kubelet kube-proxy docker dns master components node components
  • 17. Kubernetes in Azure (AKS) Managed k8s service
  • 18. Kubernetes on its own is not enough Unlock the agility for containerized applications using: • Infrastructure automation that simplifies provisioning, patching, and upgrading • Tools for containerized app development and CI/CD workflows • Services that support security, governance, and identity and access management Save time from infrastructure management and roll out updates faster without compromising security IDE container support Registry supporting Helm CI/CD Monitoring Microservice debugging NetworkingVirtual machines Security Governance Identity Source code repository<> Kubernetes Storage Data Infrastructure automation
  • 19. Deploy, manage, and monitor Kubernetes with ease Scale applications on the fly Roll out new features seamlessly (CI/CD) Accelerate containerized app development Secure your environment with layers of isolation Ship-faster Focus on your containers not the infrastructure Extensible Modular, pluggable, hookable, composable Self-healing Auto-placement, auto-restart, auto-replication, auto-scaling
  • 20. Azure Kubernetes Service (AKS) A fully managed Kubernetes cluster Managed Azure infrastructure services Container Runtime Engine Kubernetes Application architect Infrastructure architect Applications Operations
  • 21. Managed KubernetesKubernetes control API server replication, namespace, serviceaccounts, etc. -controller- manager -scheduler etcd Master node Worker node kubelet kube-proxy Docker Pod Pod Containers Containers Worker node kubelet kube-proxy Docker Pod Pod Containers Containers Internet master components node components Azure managed control plane
  • 22. 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 • Auto Scaling of Nodes Customer Worker Node 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 Visible to the users/administrators
  • 23. 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
  • 24. Get started easily > az aks create > az aks install-cli > az aks get-credentials > kubectl get nodes Azure makes Kubernetes easy
  • 25. Manage an AKS cluster > az aks list ➢ az aks upgrade ➢ az aks scale Azure makes Kubernetes easy
  • 26. Cluster Upgrade Upgrade to version 1.11.4 $ az aks upgrade --name myAKSCluster --resource-group myResourceGroup -- kubernetes-version 1.11.4 • The Kubernetes community releases minor versions roughly every three months • AKS supports *4* minor versions of Kubernetes • The latest stable version upstream and the previous 3 • Each supported minor version also supports *2* stable patches. Azure makes Kubernetes easy
  • 27. AKS – Portal Experience Azure Portal Experience
  • 29. Increase agility with containers on demand Secure applications with isolation Run containers without managing servers Azure Container Instances (ACI) Easily run containers on Azure without managing servers
  • 30. Release automation tools Simplifying the Kubernetes experience Streamlined Kubernetes development Event-driven scripting for Kubernetes The package manager for Kubernetes
  • 31. helm.sh Looking for sample charts? Visit the Chart Directory at kubeapps.com to explore and use community charts. Helm
  • 32. Resources AKS Workshop MS Learn – AKS Workshop AKS on GitHub AKS Issues and feature Tracking k8s on Azure Kubernetes on Azure AKS DevOps labs Deploying multi-container apps in AKS AKS Azure Kubernetes Services