Welcome to the OpenShift Container Platform...

Post on 27-May-2020

29 views 0 download

Transcript of Welcome to the OpenShift Container Platform...

@OpenShift

RHOpenShift

Welcome to the OpenShift Container Platform Workshop

Bob Kozdembakoz@redhat.comPrincipal 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

http://openshift.katacoda.com

https://install.openshift.com/

THANK YOUplus.google.com/+RedHat

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHatNews