Openshift Container Platform on Azure
Goals
Design a HA production quality OSE
architecture that leverages native Azure Cloud
infrastructure and Services
3 x Masters - With HA Load Balancer
3 x Infra Nodes - With HA Load Balancer
N x Nodes
Bastion for Safety and Security
Shared Performance Storage
Simple and Flexible
Expandable
Usable in further automations
Openshift Container Platform on Azure
Provisioning and Automation Overview
Several Choices -
Ansible - Ansible
Azure Resource Manager - ARM
Ansible - ARM - Ansible
In order to use the full function of Azure, a
Azure Resource Manager Template was
found to be the best way to fully leverage
Azure.
Azure Resource Manager - Overview
Resource Manager template - A JavaScript
Object Notation (JSON) file that defines one or
more resources to deploy to a resource group. It
also defines the dependencies between the
deployed resources.
resource group - A container that holds related
resources for an application. The resource
group can include all of the resources for an
application, or only those resources that you
group together.
ARM Template
ARM Templates are JSON files
ARM Templates are nestable
They can provision the majority of Azure
Resources
Microsoft recommended methodology for Cloud
Orchestration
Openshift Enterprise on Azure Template
https://github.com/glennswest/azure-openshift Moving to openshift contrib directory soon.
Running Azure Openshift ARM Template
Supply the following:
Openshift User Name and Password (No @)
SSH Public and Private(base64) Key
RHN User Name and Password
PoolId for subscription to use
Number of Nodes you want - 3-30 Currently
Azure Machine Sizing for:
Master
Infra
Node
Storage
Running It
Template Components
README.md Links to Deployment Template
azuredeploy.json ARM Template - Orchestration
bastion.json ARM Template - Bastion Host
master.json ARM Template - Master(s)
node.json ARM Template - Nodes(s)
infranode.json ARM Template - Infra
logging.json ARM Template - Logging
store.json ARM Template - Storage Node(s)
azuredeploy.parameters.json ARM Template - Common Parameters
{hostttype}.sh Bash Script for VM Setup
Naming and Inventory - Internal
Masters master1,master2,master3
Infranode Infranode (1 and 2 comming soon)
Nodes Node01--32 (99+ coming soon)
Bastion basion
Storage Store1 (more coming)
Naming and Inventory - External
Masters {resourcegroupname}m1...
Infranode Determined by user
Nodes No public Ip
Bastion {resourcegroupname}b1
Storage No Public Ip
Masters and Load Balancing
Azure Traffic Manager = Load Balancer
Load Balance - Round Robin
Health Checks
DNS Level
Survives complete data center loss
Considered more reliable than Azure Load
Balancer.
Bastion
Using a ARM Extension Launched Script
Sets up ssh keys
Gets bastion subscriptions setup
Builds Host Inventory /etc/ansbile/hosts
Setup ansible settings
Build Ansible script to setup subscriptions
Setup PostInstall Script
Build openshift-install.sh
Launch openshift-install.sh
Openshift-install.sh
Turn off .ssh key checking
Run ansible subscribe playbook
Run ansible openshift byo playbook
Run Postinstall playbook
Azure / OSE Storage - Overview
Storage is needed in a few categories
RHEL System/Boot Disk
Docker Container Storage
Persistent Storage
Registry
Azure Has:
No NFS
No Native Iscsi
No FC
Upstream coming for azure block
Azure Storage
Lessons Learned/Problems:
Azure Standard Storage is really slow
Minimal Config of Script could take 5Hrs
Questionable for Apps with Db/MsgQ
Most apps today in data center are SSD
What we want:
Full HA Redundance
Support for Database Apps
MySQL/MongoDB
Easy to add more storage
Supported with existing storage plugin
Azure Storage Solution
Choose VM types that support Premium Storage
Implement Persistent Volumes based on ISCSI
Use RHEL Iscsi target support
Created automation to automatically create lvm
backed ISCSI targets
Iscsi
Quota Enforced by size of volume
Use LVM Striped Volumes
Azure 3x redundancy
Expand more by adding another appliance
Only needs standard RHEL
https://github.com/glennswest/ose_pvcreatelun
Store1 Server
Provisioned automatically as part of
AzureDeploy
Start with 8 Data Drives in one volume group
Auto Partition and Format drives
Executes 3x ose_pvcreate
Ose_pvcreate
Auto create iscsi target device
Auto create lun
Auto share the lun
Set acl
Auto create yml pv definition
Register pv with ose
Two (Current) Separate Objectives
● Create A Reference Architecture on
best practice to Install OSE on Azure
● To create automations that make it
easy to deploy
Current status
Team for OSE / Azure
● One Systems Design and Engineering
resource
● PM support
● Engineering mgr support
● Trello board
● Upstream github repo
● Container Network
○ Openshift-sdn
● Load Balancer - HA is Default
○ Azure Traffic Manager for Masters
○ Azure Traffic Manager for Infra
● OpenShift "router" deployed
● Local registry deployed
● DNS
● Authentication
Current status - OSE on Azure
● Auto - Scaling
○ Auto Scaling current not in scope
● Iscsi for Persistent Volumes
○ Docker Registry storage
○ OpenShift Application storage
● Authentication
○ Authenticate based on htpasswd
● Deployment Environments
○ OpenShift deployment via
Packages
Current status - OSE on Azure (cont.)
● Target OS
○ RHEL 7
● Packages
○ RHEL GA Repos
● QE
● Docs
○ Reference architecture WIP
● Short term:
○ We should ship support these at some point
○ Reference Architecture being worked on by Glenn West
● Medium term:
○ OSE on Azure wishlist:
■ Ansible template to Deploy ARM Template
● Long term:
○ Plugable - Click deployment of additional nodes and storage
○ Ansible Tower Integration
Plans
Participating
Currently under active drevelopment.
Current Git Hub:
https://github.com/glennswest/azure-openshift
Soon in upstream. (Active Development above, pushed to contrib soon for stable)
Demo 2
https://youtu.be/NsGYugBX6EM
With active discussion and walkthru.
Demo(s)

More Related Content

PDF
Big data and Kubernetes
PPTX
Open shift enterprise 3.1 paas on kubernetes
PDF
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
PPTX
K8s best practices from the field!
PDF
Open shift and docker - october,2014
PDF
Java one kubernetes, jenkins and microservices
PPTX
OpenShift Enterprise 3.1 vs kubernetes
PPTX
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Big data and Kubernetes
Open shift enterprise 3.1 paas on kubernetes
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
K8s best practices from the field!
Open shift and docker - october,2014
Java one kubernetes, jenkins and microservices
OpenShift Enterprise 3.1 vs kubernetes
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...

What's hot (20)

PDF
OpenStack in Enterprise
PDF
컨테이너 기술 소개 - Warden, Garden, Docker
PDF
Introduction to kubernetes
PDF
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
PDF
Cloud Native Applications on OpenShift
PPTX
Introduction to Kubernetes
PDF
Automating Container Deployments on Virtualization with Ansible: OpenShift on...
PDF
Red Hat Forum Benelux 2015
ODP
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
PPTX
Cloud Foundry Diego: The New Cloud Runtime - CloudOpen Europe Talk 2015
PPTX
Introduction to openshift
PDF
Kubernetes Architecture - beyond a black box - Part 1
PPTX
DEVNET-1183 OpenShift + Kubernetes + Docker
PDF
Why kubernetes for Serverless (FaaS)
PPTX
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
PDF
Java is Container Ready - Vaibhav - Container Conference 2018
PPTX
DevOps Best Practices with Openshift - DevOpsFusion 2020
PDF
A DevOps guide to Kubernetes
PPTX
Meetup 12-12-2017 - Application Isolation on Kubernetes
PDF
Multi-Container Apps spanning Docker, Mesos and OpenStack
OpenStack in Enterprise
컨테이너 기술 소개 - Warden, Garden, Docker
Introduction to kubernetes
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
Cloud Native Applications on OpenShift
Introduction to Kubernetes
Automating Container Deployments on Virtualization with Ansible: OpenShift on...
Red Hat Forum Benelux 2015
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
Cloud Foundry Diego: The New Cloud Runtime - CloudOpen Europe Talk 2015
Introduction to openshift
Kubernetes Architecture - beyond a black box - Part 1
DEVNET-1183 OpenShift + Kubernetes + Docker
Why kubernetes for Serverless (FaaS)
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Java is Container Ready - Vaibhav - Container Conference 2018
DevOps Best Practices with Openshift - DevOpsFusion 2020
A DevOps guide to Kubernetes
Meetup 12-12-2017 - Application Isolation on Kubernetes
Multi-Container Apps spanning Docker, Mesos and OpenStack
Ad

Viewers also liked (19)

PDF
Cloud-Native-Data with Cornelia Davis
PDF
B3 getting started_with_cloud_native_development
PPTX
Agile Development and DevOps in the Oracle Cloud
PPTX
Microsoft Azure Big Data Analytics
PPT
Building Cloud Native Software
PDF
Cloud native application 입문
PDF
The Need of Cloud-Native Application
PPTX
Make a Move to the Azure Cloud with SoftNAS
PPTX
Infinite power at your fingertips with Microsoft Azure Cloud & ActiveEon
PDF
Cloud Native Architectures for Devops
PPTX
Azure DevDays - Business benefits of native cloud applications
PPTX
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
PPTX
The Application Server Platform of the Future - Container & Cloud Native and ...
PDF
Patterns of Cloud Native Architecture
PDF
Landscape Cloud-Native Roadshow Los Angeles
PPTX
The Cloud Native Journey
PPTX
Oracle: Building Cloud Native Applications
PPTX
Microservices + Oracle: A Bright Future
PDF
Deep Learning Streaming Platform with Kafka Streams, TensorFlow, DeepLearning...
Cloud-Native-Data with Cornelia Davis
B3 getting started_with_cloud_native_development
Agile Development and DevOps in the Oracle Cloud
Microsoft Azure Big Data Analytics
Building Cloud Native Software
Cloud native application 입문
The Need of Cloud-Native Application
Make a Move to the Azure Cloud with SoftNAS
Infinite power at your fingertips with Microsoft Azure Cloud & ActiveEon
Cloud Native Architectures for Devops
Azure DevDays - Business benefits of native cloud applications
Building scalable cloud-native applications (Sam Vanhoutte at Codit Azure Paa...
The Application Server Platform of the Future - Container & Cloud Native and ...
Patterns of Cloud Native Architecture
Landscape Cloud-Native Roadshow Los Angeles
The Cloud Native Journey
Oracle: Building Cloud Native Applications
Microservices + Oracle: A Bright Future
Deep Learning Streaming Platform with Kafka Streams, TensorFlow, DeepLearning...
Ad

Similar to Openshift Container Platform on Azure (20)

PDF
Compass first meetup
PDF
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
PDF
AWS Certified Solutions Architect Associate Notes.pdf
PPTX
Oracle on AWS partner webinar series
PDF
Ansible - Hands on Training
PDF
Oracle rac 10g best practices
PDF
Ansible Tutorial.pdf
PPTX
Migrating enterprise workloads to AWS
PPTX
Re invent announcements_2016_hcls_use_cases_mchampion
PPTX
Azure deployments and ARM templates
PDF
SCALE 2011 Deploying OpenStack with Chef
PDF
Extending Build to the Client: A Maven User's Guide to Grunt.js
PDF
Automating hard things may 2015
PDF
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
PPTX
Azure Day 2.pptx
PPTX
Cloud computing & lamp applications
PDF
Red Hat Storage 2014 - Product(s) Overview
PDF
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
PPTX
Infrastructure as Code on Azure - NET Conf CO v2018
Compass first meetup
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
AWS Certified Solutions Architect Associate Notes.pdf
Oracle on AWS partner webinar series
Ansible - Hands on Training
Oracle rac 10g best practices
Ansible Tutorial.pdf
Migrating enterprise workloads to AWS
Re invent announcements_2016_hcls_use_cases_mchampion
Azure deployments and ARM templates
SCALE 2011 Deploying OpenStack with Chef
Extending Build to the Client: A Maven User's Guide to Grunt.js
Automating hard things may 2015
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
Azure Day 2.pptx
Cloud computing & lamp applications
Red Hat Storage 2014 - Product(s) Overview
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
Infrastructure as Code on Azure - NET Conf CO v2018

More from Glenn West (6)

PPTX
OpenShift 5 Drop5 demo
PPTX
SSO/Keycloak for Openshift
PPTX
OpenShift On Azure 3.6 Updates
PPTX
OpenNfv Talk On Kubernetes and Network Function Virtualization
PPTX
Openshift Container Platform on Azure
PPTX
Uthought executive overview
OpenShift 5 Drop5 demo
SSO/Keycloak for Openshift
OpenShift On Azure 3.6 Updates
OpenNfv Talk On Kubernetes and Network Function Virtualization
Openshift Container Platform on Azure
Uthought executive overview

Recently uploaded (20)

PDF
AI-Powered Fuzz Testing: The Future of QA
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PDF
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
PDF
Website Design & Development_ Professional Web Design Services.pdf
PPT
3.Software Design for software engineering
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
Odoo ERP for Injection Molding Industry – Optimize Production & Reduce Scrap
PPTX
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
PDF
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PPTX
Human Computer Interaction lecture Chapter 2.pptx
PDF
Crypto Loss And Recovery Guide By Expert Recovery Agency.
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PPTX
Airline CRS | Airline CRS Systems | CRS System
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
PDF
infoteam HELLAS company profile 2025 presentation
PDF
BoxLang Dynamic AWS Lambda - Japan Edition
AI-Powered Fuzz Testing: The Future of QA
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
Website Design & Development_ Professional Web Design Services.pdf
3.Software Design for software engineering
What Makes a Great Data Visualization Consulting Service.pdf
Odoo ERP for Injection Molding Industry – Optimize Production & Reduce Scrap
Streamlining Project Management in the AV Industry with D-Tools for Zoho CRM ...
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
HackYourBrain__UtrechtJUG__11092025.pptx
Human Computer Interaction lecture Chapter 2.pptx
Crypto Loss And Recovery Guide By Expert Recovery Agency.
ROI from Efficient Content & Campaign Management in the Digital Media Industry
Cloud Native Aachen Meetup - Aug 21, 2025
Airline CRS | Airline CRS Systems | CRS System
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
infoteam HELLAS company profile 2025 presentation
BoxLang Dynamic AWS Lambda - Japan Edition

Openshift Container Platform on Azure

  • 2. Goals Design a HA production quality OSE architecture that leverages native Azure Cloud infrastructure and Services 3 x Masters - With HA Load Balancer 3 x Infra Nodes - With HA Load Balancer N x Nodes Bastion for Safety and Security Shared Performance Storage Simple and Flexible Expandable Usable in further automations
  • 4. Provisioning and Automation Overview Several Choices - Ansible - Ansible Azure Resource Manager - ARM Ansible - ARM - Ansible In order to use the full function of Azure, a Azure Resource Manager Template was found to be the best way to fully leverage Azure.
  • 5. Azure Resource Manager - Overview Resource Manager template - A JavaScript Object Notation (JSON) file that defines one or more resources to deploy to a resource group. It also defines the dependencies between the deployed resources. resource group - A container that holds related resources for an application. The resource group can include all of the resources for an application, or only those resources that you group together.
  • 6. ARM Template ARM Templates are JSON files ARM Templates are nestable They can provision the majority of Azure Resources Microsoft recommended methodology for Cloud Orchestration
  • 7. Openshift Enterprise on Azure Template https://github.com/glennswest/azure-openshift Moving to openshift contrib directory soon.
  • 8. Running Azure Openshift ARM Template Supply the following: Openshift User Name and Password (No @) SSH Public and Private(base64) Key RHN User Name and Password PoolId for subscription to use Number of Nodes you want - 3-30 Currently Azure Machine Sizing for: Master Infra Node Storage
  • 10. Template Components README.md Links to Deployment Template azuredeploy.json ARM Template - Orchestration bastion.json ARM Template - Bastion Host master.json ARM Template - Master(s) node.json ARM Template - Nodes(s) infranode.json ARM Template - Infra logging.json ARM Template - Logging store.json ARM Template - Storage Node(s) azuredeploy.parameters.json ARM Template - Common Parameters {hostttype}.sh Bash Script for VM Setup
  • 11. Naming and Inventory - Internal Masters master1,master2,master3 Infranode Infranode (1 and 2 comming soon) Nodes Node01--32 (99+ coming soon) Bastion basion Storage Store1 (more coming)
  • 12. Naming and Inventory - External Masters {resourcegroupname}m1... Infranode Determined by user Nodes No public Ip Bastion {resourcegroupname}b1 Storage No Public Ip
  • 13. Masters and Load Balancing Azure Traffic Manager = Load Balancer Load Balance - Round Robin Health Checks DNS Level Survives complete data center loss Considered more reliable than Azure Load Balancer.
  • 14. Bastion Using a ARM Extension Launched Script Sets up ssh keys Gets bastion subscriptions setup Builds Host Inventory /etc/ansbile/hosts Setup ansible settings Build Ansible script to setup subscriptions Setup PostInstall Script Build openshift-install.sh Launch openshift-install.sh Openshift-install.sh Turn off .ssh key checking Run ansible subscribe playbook Run ansible openshift byo playbook Run Postinstall playbook
  • 15. Azure / OSE Storage - Overview Storage is needed in a few categories RHEL System/Boot Disk Docker Container Storage Persistent Storage Registry Azure Has: No NFS No Native Iscsi No FC Upstream coming for azure block
  • 16. Azure Storage Lessons Learned/Problems: Azure Standard Storage is really slow Minimal Config of Script could take 5Hrs Questionable for Apps with Db/MsgQ Most apps today in data center are SSD What we want: Full HA Redundance Support for Database Apps MySQL/MongoDB Easy to add more storage Supported with existing storage plugin
  • 17. Azure Storage Solution Choose VM types that support Premium Storage Implement Persistent Volumes based on ISCSI Use RHEL Iscsi target support Created automation to automatically create lvm backed ISCSI targets Iscsi Quota Enforced by size of volume Use LVM Striped Volumes Azure 3x redundancy Expand more by adding another appliance Only needs standard RHEL https://github.com/glennswest/ose_pvcreatelun
  • 18. Store1 Server Provisioned automatically as part of AzureDeploy Start with 8 Data Drives in one volume group Auto Partition and Format drives Executes 3x ose_pvcreate Ose_pvcreate Auto create iscsi target device Auto create lun Auto share the lun Set acl Auto create yml pv definition Register pv with ose
  • 19. Two (Current) Separate Objectives ● Create A Reference Architecture on best practice to Install OSE on Azure ● To create automations that make it easy to deploy Current status Team for OSE / Azure ● One Systems Design and Engineering resource ● PM support ● Engineering mgr support ● Trello board ● Upstream github repo
  • 20. ● Container Network ○ Openshift-sdn ● Load Balancer - HA is Default ○ Azure Traffic Manager for Masters ○ Azure Traffic Manager for Infra ● OpenShift "router" deployed ● Local registry deployed ● DNS ● Authentication Current status - OSE on Azure ● Auto - Scaling ○ Auto Scaling current not in scope ● Iscsi for Persistent Volumes ○ Docker Registry storage ○ OpenShift Application storage
  • 21. ● Authentication ○ Authenticate based on htpasswd ● Deployment Environments ○ OpenShift deployment via Packages Current status - OSE on Azure (cont.) ● Target OS ○ RHEL 7 ● Packages ○ RHEL GA Repos ● QE ● Docs ○ Reference architecture WIP
  • 22. ● Short term: ○ We should ship support these at some point ○ Reference Architecture being worked on by Glenn West ● Medium term: ○ OSE on Azure wishlist: ■ Ansible template to Deploy ARM Template ● Long term: ○ Plugable - Click deployment of additional nodes and storage ○ Ansible Tower Integration Plans
  • 23. Participating Currently under active drevelopment. Current Git Hub: https://github.com/glennswest/azure-openshift Soon in upstream. (Active Development above, pushed to contrib soon for stable)