%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
Openshift: The power of kubernetes for engineers - Riga Dev Days 18
1. OpenShift:
The power of Kubernetes for engineers
Jorge Morales
OpenShift Developer Advocate
@jorgemoralespou
Riga Dev Days 18
2. Me (aka Jorge)
● Spanish by nature and by language
● Work at Red Hat
● OpenShift Developer Advocate
● Mostly Java developer
● Obsessed with improving development experience
@jorgemoralespou
github.com/jorgemoralespou
http://jorgemoral.es
3. 09:30 – 11:00 Introduction to OpenShift
11:00 – 11:30 Refreshment/Bio Break
11:30 – 13:00 Hands on labs - part 1
13:00 – 14:00 Lunch
14:00 – 15:30 Hands on labs - part 2
15:30 – 16:00 Refreshment/Bio Break
16:00 – 17:00 Hands on labs - part 3
17:00 – 17:30 Recap
Agenda
15. The industry’s most secure
and comprehensive
enterprise-grade container
platform based on industry
standards, Docker and
Kubernetes.
BUILD, DEPLOY, AND MANAGE AT SCALE
WITH RED HAT OPENSHIFT CONTAINER PLATFORM
15
19. WHAT ARE CONTAINERS?
It Depends Who You Ask
● Sandboxed application processes on a
shared Linux OS kernel
● Simpler, lighter, and denser than virtual
machines
● Portable across different environments
● Package my application and all of its
dependencies
● Deploy to any environment in seconds and
enable CI/CD
● Easily access and share containerized
components
INFRASTRUCTURE APPLICATIONS
20. VMs vs Containers
VIRTUAL MACHINES CONTAINERS
virtual machines are isolated
apps are not
containers are isolated
so are the apps
VM
OS Dependencies
Kernel
Hypervisor
Hardware
App App App App
Hardware
Container Host (Kernel)
Container
App
OS deps
Container
App
OS deps
Container
App
OS deps
Container
App
OS deps
24. Kubernetes is an
open-source platform
designed to automate
deploying, scaling, and
operating application
containers.
25. With Kubernetes, you are able to quickly and efficiently
respond to customer demand:
● Deploy your applications quickly and predictably.
● Scale your applications on the fly.
● Roll out new features seamlessly.
● Limit hardware usage to required resources only.
26. Need to provide a good
experience for developers
and not just IT operations
27.
28.
29. 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
Business
Automation
Container
Integration
Container
Data &
Storage
Container
Web &
Mobile
44. Users and Groups
USER
&
GROUPS
● USER
● GROUPS
● SERVICEACCOUNTS
types:
● system:authenticated
● system:admin
● system:serviceaccounts:myproject
● jorge
● john
● admin
● system:serviceaccount:myproject:default
● system:serviceaccount:myproject:builder
● system:serviceaccount:myproject:deployer
63. Source 2 Image Walk Through
Code
Build
Deploy
Container
Image
Registry
64. Source 2 Image Walk Through
Code
Developers 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.
65. Source 2 Image Walk Through
Build
OpenShift 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
Container
Image
Registry
66. Source 2 Image Walk Through
Deploy
OpenShift 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.
Container
Image
Registry
73. 7
3
IMAGE REGISTRY
container images are stored in
an image registry
CONTAINER
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
CONTAINER
IMAGE
74. an image repository contains all versions of an
image in the image registry
7
4
IMAGE REGISTRY
frontend:latest
frontend:2.0
frontend:1.1
frontend:1.0
CONTAINER
IMAGE
mongo:latest
mongo:3.7
mongo:3.6
mongo:3.4
CONTAINER
IMAGE
myregistry/frontend myregistry/mongo
75. PODPOD
containers are wrapped in pods which are
units of deployment and management
7
5
CONTAINER CONTAINERCONTAINER
IP: 10.1.0.11 IP: 10.1.0.55
76. pods configuration is defined
in a deployment
7
6
image name
replicas
labels
cpu
memory
storage
POD
CONTAINER
POD
CONTAINER
POD
CONTAINER
DEPLOYMENT
77. POD
services provide internal load-balancing and
service discovery across pods
7
7
CONTAINER
POD
CONTAINER
POD
CONTAINER
BACKEND SERVICE
POD
CONTAINER
role: backend
role: backendrole: backendrole: backendrole: frontend
78. POD
apps can talk to each other via services
7
8
CONTAINER
POD
CONTAINER
POD
CONTAINER
BACKEND SERVICE
POD
CONTAINER
role: backend
role: backendrole: backendrole: backendrole: frontend
Invoke
Backend API
79. POD
routes add services to the external load-balancer and
provide readable urls for the app
7
9
CONTAINER
POD
CONTAINER
POD
CONTAINER
BACKEND SERVICE
ROUTE
app-prod.mycompany.com
> curl http://app-prod.mycompany.com
80. projects allow managing apps in isolation from other
environments, teams, groups and departments
8
0
POD
C
POD
C
POD
C
PAYMENT DEV
POD
C
POD
C
POD
C
PAYMENT PROD
POD
C
POD
C
POD
C
CATALOG
POD
C
POD
C
POD
C
INVENTORY
❌
❌❌
85. The code for this labs
● Source code for the examples:
○ https://github.com/openshift-roadshow
● Source code for instructions:
○ https://github.com/openshift-labs/starter-guides