Red Hat OpenShift Training Workshop Slides
Red Hat OpenShift Training Workshop Slides
Containers, Kubernetes
and Red Hat OpenShift Insert Screenshot of Title Slide
1
AGENDA
● Why containers?
● What is Kubernetes?
● What is OpenShift?
● BREAK
● Why Kubernetes?
● What is Kubernetes? Part 2
● BREAK
● Guided demonstrations (with BREAKS)
● Red Hat OpenShift Training
● Q&A
2
Why containers?
3
NEW PATTERNS FOR DEVELOPMENT
CI/CD
Waterfall
Agility
Container
Data
Micro-
Center
services Control
Monolith
Server Hybrid
/VM Cloud
OUTCOMES
AGILE INTEGRATION
Modern architectures and app development
Traditional integration incompatible with
requires more agile integration
Cloud development
IoT
ESB
INFRASTRUCTURE APPLICATIONS
Hypervisor Hypervisor
Hardware Hardware
Application Application
OS dependencies OS dependencies
Operating System
Container Host
Application Application
Clear ownership boundary Dev
IT Ops OS dependencies between Dev and IT Ops OS dependencies
(and Dev, sort of)
drives DevOps adoption
Operating System and fosters agility Container Host
IT Ops
Infrastructure Infrastructure
13
What is Kubernetes?
14
HOW DO I MANAGE THESE CONTAINERS?
● How do I manage configuration, service
discovery, and resource scaling?
15
KUBERNETES IN A NUTSHELL
● Application portability across hybrid cloud environments
16
KUBERNETES AS CONTAINER ORCHESTRATION
● Resource management
17
THE BENEFITS OF KUBERNETES
● Scalability
● Portability
● Consistent deployments
18
BASIC KUBERNETES ARCHITECTURE
19
Storage RBAC
Deployment Topologies
Operating Systems Containers
75%
of enterprise users identify
● Disaster recovery
● Resource segmentation
● Multi-environment rollout
● Enterprise container registry
● Cluster & app elasticity
● Monitor, alert, remediate
complexity of implementation and ● Log aggregation
23
Self-Service Standards-based
Multi-language Web-scale
Multi-tenant Secure
OPENSHIFT IS ENTERPRISE KUBERNETES
Red Hat makes building application with containers easy
DEV TOOLS
Linux & Atomic Host ( Developer Studio,
PHYSICAL VIRTUAL PRIVATE CLOUD PUBLIC CLOUD Container Dev Kit)
OpenShift 4 - A smarter Kubernetes platform
Bare metal, VMware vSphere, Red Hat Virtualization, Red Hat OpenStack Platform,
Amazon Web Services, Microsoft Azure, Google
Kubernetes adoption phases
OPENSHIFT PLATFORM
OPENSHIFT PLATFORM
OPERATING SYSTEM
OPERATING SYSTEM
INFRASTRUCTURE
Automated container operations
FULLY AUTOMATED DAY-1 AND DAY-2 OPERATIONS
AUTOMATED OPERATIONS
Infra provisioning Full-stack deployment Secure defaults Multicluster aware
Vulnerability scanning
OperatorHub and certified Operators
COMMUNITY OPERATORS
apiVersion: mongodb.com/v1
kind: MongoDbReplicaSet
metadata:
name: example
namespace: production
spec:
members: 3
version: 4.0.2
persistent: false
project: example
credentials: my-secret
36
Getting Started with
OpenShift for Developers
Hands-on Workshop
37
What's next in OpenShift Q3CY2020
INTRODUCTION
AGENDA
09:00→ 11:00 <TMZ>
● Why Kubernetes?
● Container Technology
● What is Kubernetes
● Kubernetes Cluster
● Workshop Modules
38
CONFIDENTIAL Designator
Why Kubernetes?
39
The Application
40
Modules
41
Microservices
42
Microservices
43
Microservices
44
Network of Services
45
Microservices own their Data
46
Old School New School
47
CONTAINERS CONFIDENTIAL Designator
Container
Technology
Easy to scale up
Mature technology
48
OPENSHIFT & KUBERNETES CONCEPTS
CONTAINER
49
OPENSHIFT & KUBERNETES CONCEPTS
IMAGE CONTAINER
BINARY RUNTIME
50
OPENSHIFT & KUBERNETES CONCEPTS
anatomy of a Dockerfile
FROM registry.access.redhat.com/ubi8/ubi 1 Inherit from a base image
IMAGE REGISTRY
CONTAINER
53
OPENSHIFT & KUBERNETES CONCEPTS
IMAGE REGISTRY
myregistry/frontend myregistry/mongo
frontend:latest mongo:latest
frontend:2.0 IMAGE
mongo:3.7
IMAGE
frontend:1.1 IMAGE
IMAGE
IMAGE mongo:3.6 IMAGE
IMAGE
IMAGE
frontend:1.0 mongo:3.4
54
CONFIDENTIAL Designator
What is
Kubernetes?
55
What is Kubernetes?
An open source orchestration
system for managing
containerized workloads
across a cluster of nodes.
56
Understanding Kubernetes Objects
Kubernetes objects are
persistent entities that
represent the desired state
of your cluster that you can
manage with the K8s API
57
Understanding Kubernetes
Objects
Pod ReplicaSet
Deployment Secret
Namespace ConfigMap
Service PersistentVolume
58
Kubernetes provides an API
kind
apiVersion
metadata
spec
status
59
Node
● Node: a host machine where containerized workloads
run
● Node activity is managed by one or more Master
instances
60
kind: Pod
apiVersion: v1
metadata:
Pod creationTimestamp:
name: hello-k8s
● A group of one or more
labels:
co-located containers
run: hello-k8s
● Minimum unit of scale
spec:
containers:
- name: hello-k8s
image: jkleinert/nodejsint-workshop
ports:
- containerPort: 8080
resources: {}
61
Pod
kubectl create -f
https://raw.githubusercontent.com/jankleinert/hello-workshop/master/pod.json
62
kind: Service
apiVersion: v1
metadata:
name: hello-k8s
Service creationTimestamp:
labels:
● Acts as a single endpoint run: hello-k8s
for a collection of spec:
ports:
replicated pods
- protocol: TCP
● Like a load balancer port: 8080
targetPort: 8080
selector:
run: hello-k8s
type: NodePort
status:
loadBalancer: {}
Service
curl hello-k8s.<userX>:8080
64
Clean up
65
kind: Deployment
apiVersion: apps/v1
metadata:
name: hello-k8s
creationTimestamp:
Deployment labels:
run: hello-k8s
● Helps you specify spec:
replicas: 1
container runtime, in selector:
terms of pods matchLabels:
run: hello-k8s
template:
metadata:
creationTimestamp:
labels:
run: hello-k8s
spec:
containers:
- name: hello-k8s
image: jkleinert/nodejsint-workshop
resources: {}
strategy: {}
status: {}
Kubernetes Cluster - Nodes
kubelet kubelet kubelet
Node Node Node
Master
Dev
api
etcd
Istio
proxy
Ops
Kubernetes Cluster - Declarative
Dev
Ops
Kubernetes Cluster - 4 Tomcats
Istio
proxy
Kubernetes Cluster - Pod Fail
Istio
proxy
Kubernetes Cluster - Correcting
Istio
proxy
Kubernetes Cluster - Node Fail
X
kubelet kubelet kubelet
Node Node Node
Istio
proxy
Kubernetes Cluster - Pods Replaced
kubelet kubelet
Node Node
Istio
proxy
CONFIDENTIAL Designator
OpenShift
Demonstrations
74
Parksmap Architecture
75
Parksmap Web
● Spring boot frontend using Mapbox
Javascript API to display a World map
with data points
● Provided as Container Image available
publicly from Quay.io
● Interacts with different backends
exposing same REST endpoints (can
integrate an API Gateway)
● Your First App deployment from
OpenShift Developer Console
76
Parksmap: Exploring OpenShift
● Scaling Apps
● Logging
● Labels
● Permissions
● Accessing and debugging Containers
77
NationalParks Backend
78
NationalParks: Exploring OpenShift
● Health Checks
● Automation with Pipelines
● Web Hooks to build and deploy
automatically from code changes
79
MLB Parks Backend (Java)
80
Red Hat OpenShift
Training
81
Start here - Introduction to OpenShift
DO180 Red Hat OpenShift I: Containers & Kubernetes
Suggested
Prerequisite Overview Required Course Complementary
Exam
Introduction to containers, Kubernetes, and OpenShift (DO180)
Learn to build and manage containers for deployment on a Kubernetes and Red Hat OpenShift cluster
Introduction to Containers, Kubernetes, and Red Hat OpenShift (DO180) helps you build core knowledge in
managing containers through hands-on experience with containers, Kubernetes, and the Red Hat® OpenShift®
Container Platform. These skills are needed for multiple roles, including developers, administrators, and site
reliability engineers.
Topics covered include understanding container and OpenShift architecture, creating containerized services,
and deploying applications on Kubernetes and Red Hat OpenShift.
Audience:
● Developers who wish to containerize software applications
● Administrators who are new to container technology and container orchestration
● Architects who are considering using container technologies in software architectures
● Site reliability engineers who are considering using Kubernetes and Red Hat OpenShift
Prerequisites: Be able to use a Linux terminal session, issue operating system commands, and be familiar with
shell scripting. Experience with web application architectures and their corresponding technologies is
recommended, but not required.
83
WAYS TO TRAIN
84
RED HAT LEARNING SUBSCRIPTION PREMIUM CONFIDENTIAL designator
+ =
STANDARD MODULARIZED VIRTUAL PREMIUM
TRAINING
85
V0000000
Red Hat Training and Certification
Red Hat Certification: Ways to test
87
Thank you for viewing this Red Hat workshop! Carahsoft is the Master GSA and SLSA Dealer and Distributor for Red Hat Enterprise Open Source solutions
available via GSA, SLSA, ITES-SW2, The Quilt, E&I and other contract vehicles.
To learn how to take the next step toward acquiring Red Hat’s solutions, please check out the following resources and information:
For additional resources: For additional Red Hat solutions: To purchase, check out the contract vehicles available for procurement:
For upcoming events: For additional Open Source solutions: To set up a meeting: