Azure Kubernetes Service

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Azure Kubernetes Service

What is a container?

Traditional virtual machines = hardware virtualization Containers = operating system virtualization

VM VM VM Container Container Container


Application Applications
App App App
OS
OS OS OS OS Kernel

Hardware Hardware
Virtualization versus containerization?

Virtual machine Container

Application XYZ
Application
App dependencies
Dependencies

Image
Guest OS
C C C C C

VM VM VM
Dependency 1 Dependency 2
VM VM VM
Hypervisor 2 Docker Engine

Hypervisor 1 Host OS Host OS

Hardware Hardware Hardware

Type 1 Type 2

Virtualization Containerization
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 Any OS Anywhere

Linux On-premises

Windows Cloud

Agility Portability Density Rapid scale


Any language Any app
Ship apps Easily move Achieve Scale easily
faster workloads resource to meet Java

efficiency demand
.Net
Monolith

Python

Node Microservice
Containers in Azure

App Service Service Fabric Kubernetes Service Container Instance Ecosystem

Deploy web apps Modernize .NET Scale and orchestrate Elastically burst Bring your
or APIs using applications to Linux containers using from your Azure Partner solutions
containers in a microservices Kubernetes Kubernetes Service that run great on
PaaS environment using Windows (AKS) cluster Azure
Server containers

Azure Container Registry Docker Hub

Choice of developer tools and clients


Container Challenges
VM Host VM Host VM Host VM Host VM Host VM Host VM Host VM Host VM Host
Container Container Container Container Container Container Container Container Container
Application Application Application Application Application Application Application Application Application
App code App code App code App code App code App code App code App code App code
Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies
Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental
Files Files Files Files Files Files Files Files Files
Variables Variables Variables Variables Variables Variables Variables Variables Variables
Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers

Container Container Container Container Container Container Container Container Container


Application Application Application Application Application Application Application Application Application
App code App code App code App code App code App code App code App code App code
Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies
Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental
Files Files Files Files Files Files Files Files Files
Variables Variables Variables Variables Variables Variables Variables Variables Variables
Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers

Container Container Container Container Container Container Container Container Container

Things can get


Application Application Application Application Application Application Application Application Application
App code App code App code App code App code App code App code App code App code
Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies
Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental
Files Files Files Files Files Files Files Files Files
Variables Variables Variables Variables Variables Variables Variables Variables Variables

complicated very
Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers

VM Host VM Host VM Host VM Host VM Host VM Host VM Host VM Host VM Host


Container Container Container Container Container Container Container Container Container

quickly
Application Application Application Application Application Application Application Application Application
App code App code App code App code App code App code App code App code App code
Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies
Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental
Files Files Files Files Files Files Files Files Files
Variables Variables Variables Variables Variables Variables Variables Variables Variables
Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers

Container Container Container Container Container Container Container Container Container


Application Application Application Application Application Application Application Application Application
App code App code App code App code App code App code App code App code App code
Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies
Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental
Files Files Files Files Files Files Files Files Files
Variables Variables Variables Variables Variables Variables Variables Variables Variables
Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers

Container Container Container Container Container Container Container Container Container


Application Application Application Application Application Application Application Application Application
App code App code App code App code App code App code App code App code App code
Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies Dependencies
Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental Environmental
Files Files Files Files Files Files Files Files Files
Variables Variables Variables Variables Variables Variables Variables Variables Variables
Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers Libraries Drivers
Container Management at Scale
Cluster Scheduling: Lifecycle and Naming and Load
Management: where Health: Discovery: Balancing:
deploy and containers run keep containers where are my evenly
manage cluster running despite containers distribute traffic
resources failure

At the end of the day we need something to


help us with all the orchestration..
Scaling:
An
make sets of
orchestrator!
Image
repository:
Continuous
Delivery:
Logging and
Monitoring:
Storage
volumes:
containers centralized, CI/CD pipeline track what’s persistent data
elastic in secure Docker and workflow happening in for containers
number container containers and
images cluster
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
Kubernetes Architecture Kubernetes
Internet

control Worker node

master kubelet kube-proxy

components
Docker
Master node
Prod Prod

API server Containers Containers

-controller-
manager -scheduler
Worker node

kubelet kube-proxy

replication, namespace,
serviceaccounts, etc. etcd

Docker

Prod Prod

Containers Containers

node
components
Recap – K8s Components
api-server etcd
master
components
controller-manager scheduler

kubelet kube-proxy
node
components
docker dns
Reference:
https://github.com/kelseyhightower/k
ubernetes-the-hard-way
Kubernetes in Azure (AKS)
Managed k8s service
Kubernetes on its own is not enough
Save time from infrastructure management and roll out updates faster without compromising security

Unlock the agility for containerized


applications using: IDE container
support
Security Governance Identity
• Infrastructure automation that simplifies
provisioning, patching, and upgrading <\> Source code
repository

Tools for containerized app development



and CI/CD workflows
Registry
supporting
Kubernetes
Helm
• Services that support security, governance,
and identity and access management CI/CD Infrastructure automation

Monitoring Virtual machines Networking

Microservice
debugging Storage Data
Ship-faster Extensible Self-healing
Focus on your containers Modular, pluggable, Auto-placement, auto-restart,
not the infrastructure hookable, composable auto-replication, auto-scaling

Deploy, manage, and Accelerate Roll out Secure your Scale


monitor Kubernetes containerized app new features environment with applications on
with ease development seamlessly (CI/CD) layers of isolation the fly
Azure Kubernetes Service (AKS)
A fully managed Kubernetes cluster

Managed

Application
architect Applications

Operations
Kubernetes

Infrastructure Container Runtime Engine


architect

Azure infrastructure services


Managed Kubernetes Kubernetes
Internet

control Worker node


kubelet kube-proxy

Docker
Master node
Pod Pod
API server Containers Containers

-controller-
manager -scheduler
Worker node
kubelet kube-proxy

replication, namespace,
serviceaccounts, etc. etcd

Docker

Pod Pod
Azure managed control plane Containers Containers

master node
components components
How managed Kubernetes on Azure works

Azure managed control plane


• Automated upgrades, patches
Self-managed master node(s)
App/
workload Kubernetes etcd
• High reliability, availability User definition API endpoint API server Store

• Easy, secure cluster scaling


Controller Cloud
Scheduler Manager Controller

• Self-healing

• API server monitoring


Schedule pods
over private tunnel
• At no charge Customer Worker Node VMs
Docker Docker Docker Docker Docker

• Auto Scaling of Nodes Pods Pods Pods Pods Pods

Visible to the users/administrators


Azure makes Kubernetes easy

Deploy and manage Kubernetes with ease

Task The old way With Azure


Create a cluster Provision network and VMs az aks create
Install dozens of system components
including etcd
Create and install certificates
Register agent nodes with control plane

Upgrade a cluster Upgrade your master nodes az aks upgrade


Cordon/drain and upgrade worker nodes
individually

Scale a cluster Provision new VMs az aks scale


Install system components
Register nodes with API server
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.


AKS – Portal Experience
Azure Portal Experience
Azure Container Instances (ACI)
Azure Container Instances (ACI)
Easily run containers on Azure without managing servers

Run containers Increase agility Secure applications


without managing with containers on with isolation
servers demand
Release automation tools
Simplifying the Kubernetes experience

The package Streamlined Event-driven


manager for Kubernetes scripting for
Kubernetes development Kubernetes
Helm

helm.sh

Looking for sample charts?

Visit the Chart Directory at kubeapps.com to explore and use community charts.
Resources

AKS Workshop MS Learn – AKS Workshop

k8s on Azure Kubernetes on Azure

AKS Azure Kubernetes Services

AKS on GitHub AKS Issues and feature Tracking

AKS DevOps
Deploying multi-container apps in AKS
labs
Thank You

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy