Garrett Hyde

Senior Consultant

Red Hat Consulting

Download Minishift:

https://github.com/minishift/minishift/releases

or

https://developers.redhat.com/products/cdk/overview/

 

minishift start [--vm-driver=virtualbox]

Prerequisites 

What is

?

OpenShift Container Platform

is a web-scale container application platform based on Docker, Kubernetes, and RHEL 7.

Community Powered Innovation

Docker provides the abstraction for packaging and creating Linux based lightweight containers.

Kubernetes provides the cluster management and orchestration of Docker containers on multiple hosts.

OpenShift provides source code management, builds, and deployments for devs​; Application management at scale, handling and promoting images for ops.

OpenShift critical features

So how does it work?

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

OpenShift v3 Architecture

Projects in OpenShift v3

  • Allows a community of users to organize and manage their content in isolation from other communities.
  • Each project has its own:
    • Resources: pods, services, replication controllers
    • Network: isolated or joined, egress firewall
    • Policies: who can or cannot perform actions
    • Constraints: project quotas
  • Cluster administrators can delegate admin rights for a project

Applications in OpenShift v3

  • Applications are a collection of components linked together (e.g., images, services, routes, etc.).
  • Have as many components as you want, contained and flexibly-linked by a project, and optionally labeled to provide groupings/structure.

Images in OpenShift v3

  • Images provide the source code and required libraries.
  • OpenShift v3 uses a declarative model where pods bring themselves in line with a predefined state.
  • Developer content and base image content can remain in separate layers for building reproducible Docker images.
  • Source-to-Image (S2I) injects the user's source code into a builder image to assemble a new Docker image.
  • Images are mapped 1:1 with containers. Containers use pods as their collocation mechanism.

Builds in OpenShift v3

  • A build is the process of transforming input parameters, typically source code, into a resulting object, typically a runnable image.

  • Builds happen in separate containers.

  • Builds are first committed as an immutable image and then published to an internal registry. That image is then available to launch on any of the nodes in the cluster, or rollback to at a future date.

Build Strategies

  • Docker build: the plain docker build command. Expects a repo with a Dockerfile and all required artifacts to produce a runnable image.
  • Source-to-Image (S2I) build: create reproducible images by injecting source into a base image to assemble a new ready-to-run Docker image. Supports incremental builds, which re-use dependencies and artifacts.
  • Custom build: define a specific builder image, responsible for the entire build process. This image is a plain Docker image with embedded build process logic, such as building RPMs, or building base Docker images.

Source Code in OpenShift v3

  • Choose which images are built from source. The source can be located outside of OpenShift itself.
  • The source is disconnected from the images, so the choice of image and source are distinct operations.
  • The source is actually optional!

Routing in OpenShift v3

  • Routes are "first class objects" that are HA capable simply by scaling up your application component to 2 or more replicas. There is never a need to recreate your application or change its DNS entry.

Continuous Integration

and

Continuous Deployment

Continuous integration and continuous deployment

Tooling

A/B Deployments

Canary Deployments

Blue - Green Deployments

Rollbacks

Git workflow

Advanced triggers / image streams

Deployments features

Deployments pipelines

Diverse technologies

Infrastructure management

Simplified management with CloudForms and it is included in OpenShift Enterprise

Questions