Notes on RedHat OpenShift 3
September 30, 2017
Overview
Docker is the container format used by OpenShift v3
OpenShift uses Kubernetes as a docker orchestrator
The OpenShift “stack” (top to bottom):
- UX - OpenShift console and CLI
- Containerized Services - xPaaS, Docker Hub + Marketplace
- Orchestration - Kubernetes
- Container API - Docker
- Container host - Linux (RHEL or Atomic)
Definitions
- Docker image
- A file system image for running an process/application
- Docker Container
- A running instance of a docker image
- Pod
- Kubernetes object that groups related containers that need to share network file system or memory for placement on a node. You can run multiple instances of a pod
- Replication Controller
- Kubernetes Object that ensures N instances of a give pod are running at all times
- Service
- Kubernetes object that provides load balanced access to multiple pods. Services are only available INSIDE OpenShift, not user facing.
- Route
- An OpenShift route is a way to expose a service by giving it an externally-reachable hostname like www.example.com
Key Concepts
A single pod gets an IP address and can run multiple docker containers.
All containers in a pod share pod ports, no conflicts allowed and IP address
A pod an run one or more containers
OpenShift also has the idea of a service.
A physical host will run one or more pods
A service load balances multiple instances of a single pod
All containers in a POD start and stop at the same time.
Question: Can PODS span hosts? I don’t think so…
Services have a label such as “web”
Developers interact with the Web Console, CLI and service Layer. Users see the Routing Layer
You Expose you application via “route”
There’s three application deployment options:
- A docker Image created outside of OpenShift
- A source based image created with the s2i tool inside OpenShift
- Totally Custom