welcome to the openshift container platform...
TRANSCRIPT
@OpenShift
RHOpenShift
Welcome to the OpenShift Container Platform Workshop
Bob [email protected] Domain Architect
April 2017
TODAY’S AGENDA
● Why containers?● Enterprise deployment of containers● OpenShift Overview● Hands-On Workshop
THE CHALLENGE
Applications ...
● can have different requirements (run-times, databases, etc).
● require testing, installation and integration every time they are changed and deployed.
COMMON LANGUAGE
I.T. OPERATIONSDEVELOPERS
WHAT ARE CONTAINERS?It Depends Who You Ask
● A sandboxed application sharing a Linux kernel
● Simpler and lighter than virtual machines
● Extremely Portable
● Near-zero configuration
● Package my application and all of its dependencies
● Deploys in seconds and enables CI/CD
● Makes my dev look like production
INFRASTRUCTURE APPLICATIONS
CLEAR BOUNDARIES
Hardware
Virtual Machine
Operating System
Container
AppControlled by Developers
Controlled by IT Operations
SchedulingDecide where to deploy containers
Lifecycle and healthKeep containers running despite failures
DiscoveryFind other containers on the network
MonitoringVisibility into running containers
SecurityControl who can do what
ScalingScale containers up and down
PersistenceSurvive data beyond container lifecycle
AggregationCompose apps from multiple containers
WE NEED MORE THAN JUST CONTAINERS
8
Introducing
The industry’s most secure and comprehensive enterprise-grade container platform based on open source technologies including Linux, Docker and Kubernetes.
Kubernetes is an open-source system for automating deployment, operations, and scaling of containerized applications across multiple hosts
kubernetes
OPENSHIFT = KUBERNETES + BUILD/DEPLOYMENT AUTOMATION
Source coderepository
OpenShiftDeveloper Containers
Atomic Host
Container Runtime & Packaging(Docker)
Red Hat Enterprise LinuxTrusted by Fortune Global 500 companies
Begin with a trusted container Operating System
Atomic Host
Container Runtime & Packaging(Docker)
Red Hat Enterprise Linux
Infrastructure Automation & Mg
Networking Storage Registry Logs & Metrics
Security
Container Orchestration & Cluster Management(kubernetes)
CloudformsRed Hat Storage
Add a clustered container infrastructure
Atomic Host
Container Runtime & Packaging(Docker)
Red Hat Enterprise Linux
Infrastructure Automation & Mg
Networking Storage Registry Logs & Metrics
Security
Container Orchestration & Cluster Management(kubernetes)
OpenShift Application Lifecycle Management(CI/CD)
Build Automation Deployment Automation
Service Catalog(Language Runtimes, Middleware, Databases)
Self-Service
Add an Enterprise Container Platform
Source-2-ImageApplication Pipelines
Dev Tools
Atomic Host
Container Runtime & Packaging(Docker)
Red Hat Enterprise Linux
Infrastructure Automation & Mg
Networking Storage Registry Logs & Metrics
Security
Container Orchestration & Cluster Management(kubernetes)
OpenShift Application Lifecycle Management(CI/CD)
Build Automation Deployment Automation
Service Catalog(Language Runtimes, Middleware, Databases)
Self-Service
Container
BusinessAutomation
Container
Integration
Container
Data &Storage
Container
Web &Mobile
JBOSS EAPJBOSS DATA GRID
JBOSS DATA VIRTUALIZATION
JBOSS AM-QJBOSS BRMSJBOSS BPMJBOSS FUSE
RED HAT MOBILERED HAT SSO
3Scale
Applications go on top
OpenShift Architecture Overview
Masters and Nodes
ExternalUser
OpenShift runs on your choice of infrastructure
Nodes run Red Hat Enterprise Linux (RHEL)
Images run as containers within pods
Container Image
Container
Pod
Pods are the orchestrated unit in OpenShift
Masters are the Control Plane
API and Authentication
Desired and Current State
Scheduler Pulls From The Registry
Orchestration and Scheduling
Placement by Policy
Services connect application components
Health and Scaling
What about unhealthy Pods?
The Master remediates Pod failures
What about app data?
Routing layer for external accessibility
Developer access via Web UI, CLI, IDE or API
OpenShift Source-to-Image
Source 2 Image Walk Through
CodeDevelopers can leverage existing
development tools and then access the OpenShift Web, CLI or IDE
interfaces to create new application services and push source code via
GIT. OpenShift can also accept binary deployments or be fully integrated with a customer’s existing CI/CD environment.
Source 2 Image Walk Through
Container Image
Registry
BuildOpenShift automates the Docker
image build process with Source-to-Image (S2I). S2I
combines source code with a corresponding Builder image from
the integrated Docker registry. Builds can also be triggered
manually or automatically by setting a Git webhook. Add in Build
pipelines
Source 2 Image Walk Through
Container Image
Registry
DeployOpenShift automates the deployment of application
containers across multiple Node hosts via the Kubernetes
scheduler. Users can automatically trigger deployments on application
changes and do rollbacks, configure A/B deployments & other
custom deployment types.
Workshop
Open your browsers at:
http://tinyurl.com/mynb877
Workshop
40
OpenShift Terminology - DC-Metro Application
dc-metro-map route
dc-metro-map service
dc-metro-map (pod-1)
dc-metro-map (pod-2) DC Metro API
GET
ExternalUser
SDN Layer (10.1.0.0/16)
Service Layer (172.30.0.0/16)
Routing Layer (dcmetro-user1.apps.rhsademo.net)
41
Deploying a Docker container
service
pod-1
$ oc new-app <my-container>
Image Stream
Image location
Image tags
deployment config
replication controller
Registry
42
Building and deploying a Docker container
service
pod-1
$ oc new-app ~builder-image:<source-code>
Image Stream
Image location
Image tags
deployment config
replication controller
Registrybuild config
builder podpush
tag
pull builder image
GIT
43
DC-Metro CI/CD Pipeline Lab
dev stage
“dev” Image Stream
“dev” deploymentuses “latest” image
“test” deployment uses “readyToTest” image
OpenShift
dev:latesttag
deploy-to-test stage
dev:readyToTest
build “dev”
tag
pull pull
deploy then scale
Jenkins
pod pod pod
Wrapup
https://www.openshift.org/minishift/
https://www.openshift.com/devpreview/
THANK YOUplus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews