SlideShare a Scribd company logo
Docker Orchestration on Azure with Rancher
Who am I?
Cloud Solution Architect
@ Xylos ICT
Started in IT about 15 years ago
Heterogeneous Background
Focused on Business Outcome
about.kvaes.be @kvaes blog.kvaes.be
Karim Vaes
Agenda
Let’s get sure everyone understands
the basics…
“Docker 101”
Show me the cake!
“Hands-on!”
Cooking up things is cool…
Though let’s talk about the
recipe first!
“The Recipe”
Sounds interesting… Show me!Say what?!?
Say what?!?
aka “Docker 101”
Traditional Current Emerging
Virtual Public Private
Container
Physical
Baremetal Virtual Machine
Private
N-tier Applications MicroservicesMonolithic Applications
Agile DevopsWaterfall
Build Ship
Run
Dev
QA
Source
Staging
Physical
Virtual
Cloud
Infrastructure Management
Infrastructure Management
DockerFile
Source Code
Repository
TESTTEST
TESTTEST
TEST
GCE RAX IBM
Mac/Win Dev
Machine
Boot2Docker
Docker
Analytics
DB
Prod Machine
Linux OS
DockerDocker
++
Users Collab
Provenance Policy
Docker Hub
Registries
Public Curated Private
Docker Hub API
Third Party Tools
Prod Machine
Linux OS
DockerDocker
Prod Machine
Linux OS
DockerDocker
VM
DockerDocker
VM
DockerDocker
VM
DockerDocker
QA Machine
Linux OS
DockerDocker
Build once, ship & run everywhere!
Containers vs Virtual Machines
Sample Dockerfile
# Pull the latest batch script
ENV HOME /root
COPY testblog.sh /data/bin/
COPY testblogcron /data/bin/
COPY startcron.sh /data/bin/
# Setup 755 on the scripts
RUN chmod 755 /data/bin/*.sh
# Setup Cron Job
RUN cat /data/bin/testblogcron >> /etc/crontab
# Setup Cron Log
RUN touch /var/log/testblog.log
# Define default command.
CMD ["/data/bin/startcron.sh"]
#
# BlogTest Dockerfile
#
# Source : https://bitbucket.org/kvaes/docker-testblog/
# Author : Karim Vaes
# Use Ubuntu 10.04 as a base
FROM ubuntu:10.04
# First let's do some updates!
RUN apt-get update && apt-get -y upgrade
# Install cron
RUN apt-get -y install cron
# Let's prep the directory
RUN mkdir -p /data/bin
Basic Docker Flow
What about changes & updates?
What makes containers lightweight?
Sounds Interesting…
aka “The Recipe”
The Recipe for today’s dish!
Ingredient : Azure
Resource
Manager
Traffic
Manager
Virtual
Machine
Scale Set
Storage
Account
Ingredient : Docker
Ingredient : Rancher
Ingredient : Community Contributions
Today’s Dish as a Stack
Show me!
aka “Hands-on”
Demo : Deploy our base setup
Demo : Deploy our base setup
Server
Leave “nodesApi” blank
Select “Server” for “deploymentType”
Base Configuration
Setup ACL
Browse to “Add Custom Host” & retrieve
API url
Nodes
Enter API url in “nodesApi”
Select “Nodes” for “deploymentType”
Choose “2” as “nodesCount”
https://github.com/Azure/azure-quickstart-templates/tree/master/docker-rancher
Demo : Service Upgrade
Demo : Service Upgrade
Version
1
Version
2
https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_upgrade-blog-test
Demo : Cross-Region/Host Networking
Demo : Cross-Region Networking
[Sidenote : the Azure quickstart deployment was a single region]
Demo : Service Scaling with a Shared Storage Account
Demo : Service Scaling
Demo : Service Scaling
Producer
AcsLoggingTestSimulate
Consumer
AcsLoggingTestAnalyze
Queue
Table
Storage Account
https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
Demo : Service Scaling
https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
Demo : Azure AutoScaling
Demo : Azure Autoscaling
[Sidenote: No Azure Quickstart templates available yet for Rancher & VMSS...]
Demo : Docker Volume Plugin for Azure File Storage
Volumes? #wtf
#
# OfxParser Dockerfile
#
# Source : https://bitbucket.org/kvaes/docker-ofxparser/
# Author : Karim Vaes
# Use Ubuntu 10.04 as a base
FROM ubuntu:10.04
# First let's do some updates!
RUN apt-get update && apt-get -y upgrade
# Install PHP5-cli, cron
RUN apt-get -y install php5-cli cron
# Let's prep the OfxParser install
RUN mkdir -p /ofx/bin && mkdir -p /ofx/in && mkdir -p
/ofx/out
# Pull the latest ofxparser source
ENV HOME /root
COPY config.php /ofx/bin/
COPY csv2oxf.php /ofx/bin/
COPY ofxcron /ofx/bin/
COPY parser.php /ofx/bin/
COPY startcron.sh /ofx/bin/
# Chmod 755 to scripts
RUN chmod 755 /ofx/bin/*.sh
# Setup Cron Job
RUN cat /ofx/bin/ofxcron >> /etc/crontab
# Setup Cron Log
RUN touch /var/log/ofx.log
# Setup Volumes
VOLUME ["/ofx/in"]
VOLUME ["/ofx/out"]
# Define default command.
CMD ["/ofx/bin/startcron.sh"]
Docker Volumes & Persistence
More info? https://kvaes.wordpress.com/2016/02/11/docker-storage-patterns-for-persistence/
Demo : Docker Volume Plugin for Azure File
Storage
Source : https://github.com/Azure/azurefile-dockervolumedriver
Demo : Docker Volume Plugin for Azure File
Storage
wget https://bitbucket.org/kvaes/azure-scriptbin/raw/888d4ff75d84839c8643fe0d9c49d95cd41c9a39/azurefile-dockervolumedriver/azurefile.sh
./azurefilebuild.sh my-storage-account-name my-storage-account-key
sudo docker volume create --name azure_volume-d azurefile-oshare=docker
azure_volume
docker run -i -t -v azure_volume:/data busybox
cd /data/
touch karim vaes docker with azure file storage test
ls -la
exit
docker run -i -t -v azure_volume:/data ubuntu
cd /data/
ls -la
mkdir testdirectory
echo "my little cloud storage share" > whoot.txt
exit
docker run -i -t -v azure_volume:/data busybox
cat /data/whoot.txt
exit
Source : https://kvaes.wordpress.com/2016/03/23/docker-azure-testdriving-the-azure-file-storage-volume-driver/
[Sidenote: Rancher currently does not support “options” for volume drivers]
[pending feature request]
One last thing…
Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg
The right approach to containers matters!
“Any questions I can help you with?”
Thank you for your time!
Xylos Cloud ServicesXylos Cloud Services

More Related Content

PPTX
Experts live2016 - Karim Vaes - end-to-end automation
PDF
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
PDF
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
PDF
Infrastructure as Code for Azure: ARM or Terraform?
PPTX
Neil Peterson - Azure CLI Deep Dive
PPTX
Rik Hepworth - ARM Yourself for Effective Azure Provisioning
PDF
Microsoft Azure Container Service - DockerCH
PPTX
Securing an Azure full-PaaS architecture - Data saturday #0001 Pordenone
Experts live2016 - Karim Vaes - end-to-end automation
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
Infrastructure as Code for Azure: ARM or Terraform?
Neil Peterson - Azure CLI Deep Dive
Rik Hepworth - ARM Yourself for Effective Azure Provisioning
Microsoft Azure Container Service - DockerCH
Securing an Azure full-PaaS architecture - Data saturday #0001 Pordenone

What's hot (12)

PDF
Quick and Solid - Baremetal on OpenStack | Rico Lin
PPTX
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
PDF
DevOps Toolbox: Infrastructure as code
PDF
Using amazon web services with cold fusion 11
PDF
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
PDF
Carlos Conde : AWS Game Days - TIAD Paris
PDF
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
PPTX
Caching in Windows Azure
PDF
Azure Kubernetes Service - benefits and challenges
PPTX
Azure virtual machine-network
PDF
Introduction into Cloud Foundry and Bosh | anynines
PDF
JClouds at San Francisco Java User Group
Quick and Solid - Baremetal on OpenStack | Rico Lin
Alex Magnay - Azure Infrastructure as Code with Hashicorp Terraform
DevOps Toolbox: Infrastructure as code
Using amazon web services with cold fusion 11
Microservices: 5 Things I Wish I'd Known - Code Motion Milan 2017
Carlos Conde : AWS Game Days - TIAD Paris
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
Caching in Windows Azure
Azure Kubernetes Service - benefits and challenges
Azure virtual machine-network
Introduction into Cloud Foundry and Bosh | anynines
JClouds at San Francisco Java User Group
Ad

Similar to Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher (20)

PDF
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
PDF
Developing and Deploying PHP with Docker
PDF
Docker module 1
PPTX
Architecting .NET Applications for Docker and Container Based Deployments
PPTX
Docker Container As A Service - Mix-IT 2016
PPTX
Deploying applications to Windows Server 2016 and Windows Containers
PPT
Docker, a new LINUX container technology based light weight virtualization
PDF
Docker fundamentals
PPTX
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
PDF
Killer Docker Workflows for Development
PDF
Production sec ops with kubernetes in docker
PPTX
[Codelab 2017] Docker 기초 및 활용 방안
PDF
時代在變 Docker 要會:台北 Docker 一日入門篇
PPTX
Docker Ecosystem on Azure
PPTX
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
PPTX
Docker Introduction and its Usage in Machine Learning
PPTX
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
PDF
Docker 進階實務班
PDF
廣宣學堂: 容器進階實務 - Docker進深研究班
PDF
手把手帶你學 Docker 入門篇
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Developing and Deploying PHP with Docker
Docker module 1
Architecting .NET Applications for Docker and Container Based Deployments
Docker Container As A Service - Mix-IT 2016
Deploying applications to Windows Server 2016 and Windows Containers
Docker, a new LINUX container technology based light weight virtualization
Docker fundamentals
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Killer Docker Workflows for Development
Production sec ops with kubernetes in docker
[Codelab 2017] Docker 기초 및 활용 방안
時代在變 Docker 要會:台北 Docker 一日入門篇
Docker Ecosystem on Azure
Docker Seattle Meetup April 2015 - The Docker Orchestration Ecosystem on Azure
Docker Introduction and its Usage in Machine Learning
Docker New York Meetup May 2015 - The Docker Orchestration Ecosystem on Azure
Docker 進階實務班
廣宣學堂: 容器進階實務 - Docker進深研究班
手把手帶你學 Docker 入門篇
Ad

More from Karim Vaes (9)

PDF
Security Essentials for Azure PaaS Lovers.pdf
PPTX
A Deepdive into Azure Networking
PPTX
Resiliency Patterns on Azure
PDF
ExpertsLive NL 2018 - A deepdive into Azure Networking
PDF
Global Azure Bootcamp 2018 - Oh no my organization went Azure
PDF
Global Azure Bootcamp 2017 - How to build a twitter bot in 15 minutes
PPTX
Xylos Clients Day - Public cloud and security go hand in hand, if you approac...
PPTX
The IT Crowd stance on writing advice documents
PDF
Four Simple Rules for an Effective Meeting Rules (kvaes.be)
Security Essentials for Azure PaaS Lovers.pdf
A Deepdive into Azure Networking
Resiliency Patterns on Azure
ExpertsLive NL 2018 - A deepdive into Azure Networking
Global Azure Bootcamp 2018 - Oh no my organization went Azure
Global Azure Bootcamp 2017 - How to build a twitter bot in 15 minutes
Xylos Clients Day - Public cloud and security go hand in hand, if you approac...
The IT Crowd stance on writing advice documents
Four Simple Rules for an Effective Meeting Rules (kvaes.be)

Recently uploaded (20)

PDF
The Internet -By the Numbers, Sri Lanka Edition
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PPTX
QR Codes Qr codecodecodecodecocodedecodecode
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
artificial intelligence overview of it and more
PPTX
durere- in cancer tu ttresjjnklj gfrrjnrs mhugyfrd
PPTX
cyber security Workshop awareness ppt.pptx
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPTX
Digital Literacy And Online Safety on internet
PDF
Sims 4 Historia para lo sims 4 para jugar
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
“Google Algorithm Updates in 2025 Guide”
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
Internet___Basics___Styled_ presentation
The Internet -By the Numbers, Sri Lanka Edition
introduction about ICD -10 & ICD-11 ppt.pptx
Job_Card_System_Styled_lorem_ipsum_.pptx
QR Codes Qr codecodecodecodecocodedecodecode
Slides PPTX World Game (s) Eco Economic Epochs.pptx
artificial intelligence overview of it and more
durere- in cancer tu ttresjjnklj gfrrjnrs mhugyfrd
cyber security Workshop awareness ppt.pptx
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Digital Literacy And Online Safety on internet
Sims 4 Historia para lo sims 4 para jugar
Cloud-Scale Log Monitoring _ Datadog.pdf
522797556-Unit-2-Temperature-measurement-1-1.pptx
Module 1 - Cyber Law and Ethics 101.pptx
“Google Algorithm Updates in 2025 Guide”
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PptxGenJS_Demo_Chart_20250317130215833.pptx
WebRTC in SignalWire - troubleshooting media negotiation
An introduction to the IFRS (ISSB) Stndards.pdf
Internet___Basics___Styled_ presentation

Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher

  • 1. Docker Orchestration on Azure with Rancher
  • 2. Who am I? Cloud Solution Architect @ Xylos ICT Started in IT about 15 years ago Heterogeneous Background Focused on Business Outcome about.kvaes.be @kvaes blog.kvaes.be Karim Vaes
  • 3. Agenda Let’s get sure everyone understands the basics… “Docker 101” Show me the cake! “Hands-on!” Cooking up things is cool… Though let’s talk about the recipe first! “The Recipe” Sounds interesting… Show me!Say what?!?
  • 5. Traditional Current Emerging Virtual Public Private Container Physical Baremetal Virtual Machine Private N-tier Applications MicroservicesMonolithic Applications Agile DevopsWaterfall
  • 6. Build Ship Run Dev QA Source Staging Physical Virtual Cloud Infrastructure Management Infrastructure Management DockerFile Source Code Repository TESTTEST TESTTEST TEST GCE RAX IBM Mac/Win Dev Machine Boot2Docker Docker Analytics DB Prod Machine Linux OS DockerDocker ++ Users Collab Provenance Policy Docker Hub Registries Public Curated Private Docker Hub API Third Party Tools Prod Machine Linux OS DockerDocker Prod Machine Linux OS DockerDocker VM DockerDocker VM DockerDocker VM DockerDocker QA Machine Linux OS DockerDocker Build once, ship & run everywhere!
  • 8. Sample Dockerfile # Pull the latest batch script ENV HOME /root COPY testblog.sh /data/bin/ COPY testblogcron /data/bin/ COPY startcron.sh /data/bin/ # Setup 755 on the scripts RUN chmod 755 /data/bin/*.sh # Setup Cron Job RUN cat /data/bin/testblogcron >> /etc/crontab # Setup Cron Log RUN touch /var/log/testblog.log # Define default command. CMD ["/data/bin/startcron.sh"] # # BlogTest Dockerfile # # Source : https://bitbucket.org/kvaes/docker-testblog/ # Author : Karim Vaes # Use Ubuntu 10.04 as a base FROM ubuntu:10.04 # First let's do some updates! RUN apt-get update && apt-get -y upgrade # Install cron RUN apt-get -y install cron # Let's prep the directory RUN mkdir -p /data/bin
  • 10. What about changes & updates?
  • 11. What makes containers lightweight?
  • 13. The Recipe for today’s dish!
  • 17. Ingredient : Community Contributions
  • 18. Today’s Dish as a Stack
  • 20. Demo : Deploy our base setup
  • 21. Demo : Deploy our base setup Server Leave “nodesApi” blank Select “Server” for “deploymentType” Base Configuration Setup ACL Browse to “Add Custom Host” & retrieve API url Nodes Enter API url in “nodesApi” Select “Nodes” for “deploymentType” Choose “2” as “nodesCount” https://github.com/Azure/azure-quickstart-templates/tree/master/docker-rancher
  • 22. Demo : Service Upgrade
  • 23. Demo : Service Upgrade Version 1 Version 2 https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_upgrade-blog-test
  • 25. Demo : Cross-Region Networking [Sidenote : the Azure quickstart deployment was a single region]
  • 26. Demo : Service Scaling with a Shared Storage Account
  • 27. Demo : Service Scaling
  • 28. Demo : Service Scaling Producer AcsLoggingTestSimulate Consumer AcsLoggingTestAnalyze Queue Table Storage Account https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
  • 29. Demo : Service Scaling https://bitbucket.org/kvaes/azure-bootcamp-2016/src => rancher-example_acs-logging-test
  • 30. Demo : Azure AutoScaling
  • 31. Demo : Azure Autoscaling [Sidenote: No Azure Quickstart templates available yet for Rancher & VMSS...]
  • 32. Demo : Docker Volume Plugin for Azure File Storage
  • 33. Volumes? #wtf # # OfxParser Dockerfile # # Source : https://bitbucket.org/kvaes/docker-ofxparser/ # Author : Karim Vaes # Use Ubuntu 10.04 as a base FROM ubuntu:10.04 # First let's do some updates! RUN apt-get update && apt-get -y upgrade # Install PHP5-cli, cron RUN apt-get -y install php5-cli cron # Let's prep the OfxParser install RUN mkdir -p /ofx/bin && mkdir -p /ofx/in && mkdir -p /ofx/out # Pull the latest ofxparser source ENV HOME /root COPY config.php /ofx/bin/ COPY csv2oxf.php /ofx/bin/ COPY ofxcron /ofx/bin/ COPY parser.php /ofx/bin/ COPY startcron.sh /ofx/bin/ # Chmod 755 to scripts RUN chmod 755 /ofx/bin/*.sh # Setup Cron Job RUN cat /ofx/bin/ofxcron >> /etc/crontab # Setup Cron Log RUN touch /var/log/ofx.log # Setup Volumes VOLUME ["/ofx/in"] VOLUME ["/ofx/out"] # Define default command. CMD ["/ofx/bin/startcron.sh"]
  • 34. Docker Volumes & Persistence More info? https://kvaes.wordpress.com/2016/02/11/docker-storage-patterns-for-persistence/
  • 35. Demo : Docker Volume Plugin for Azure File Storage Source : https://github.com/Azure/azurefile-dockervolumedriver
  • 36. Demo : Docker Volume Plugin for Azure File Storage wget https://bitbucket.org/kvaes/azure-scriptbin/raw/888d4ff75d84839c8643fe0d9c49d95cd41c9a39/azurefile-dockervolumedriver/azurefile.sh ./azurefilebuild.sh my-storage-account-name my-storage-account-key sudo docker volume create --name azure_volume-d azurefile-oshare=docker azure_volume docker run -i -t -v azure_volume:/data busybox cd /data/ touch karim vaes docker with azure file storage test ls -la exit docker run -i -t -v azure_volume:/data ubuntu cd /data/ ls -la mkdir testdirectory echo "my little cloud storage share" > whoot.txt exit docker run -i -t -v azure_volume:/data busybox cat /data/whoot.txt exit Source : https://kvaes.wordpress.com/2016/03/23/docker-azure-testdriving-the-azure-file-storage-volume-driver/ [Sidenote: Rancher currently does not support “options” for volume drivers] [pending feature request]
  • 38. Images courtesy of PokkO / Shutterstock.com, Lewis Hine - http://www.archives.gov/research_room/research_topics/american_cities/images/american_cities_069.jpg The right approach to containers matters!
  • 39. “Any questions I can help you with?”
  • 40. Thank you for your time!
  • 41. Xylos Cloud ServicesXylos Cloud Services