0% found this document useful (0 votes)
16 views23 pages

Minishift

The document provides an overview of Red Hat OpenShift, detailing its architecture, key components, and integration with Kubernetes and Docker. It explains how OpenShift enhances Kubernetes with features like security, networking, and CI/CD tools, while also outlining the deployment process for applications. Additionally, it highlights the integration with source code management tools for automated builds and deployments.

Uploaded by

Stephen Efange
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views23 pages

Minishift

The document provides an overview of Red Hat OpenShift, detailing its architecture, key components, and integration with Kubernetes and Docker. It explains how OpenShift enhances Kubernetes with features like security, networking, and CI/CD tools, while also outlining the deployment process for applications. Additionally, it highlights the integration with source code management tools for automated builds and deployments.

Uploaded by

Stephen Efange
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

GitHub - mgonzalezo/RedHat_ex280: Red Hat Certified OpenShift Administrator exam (EX280) Overview

and Preparation

https://github.com/mgonzalezo/RedHat_ex280

Install Virtual Box

Unzip and move the folder to the C drive:


OpenShift Architecture Overview
OpenShift is an enterprise-grade Kubernetes distribution developed by Red Hat. It extends
Kubernetes with additional features such as a developer-friendly UI, security enhancements,
automation, and integrated CI/CD pipelines. OpenShift uses Kubernetes as its core for container
orchestration but enhances it with built-in DevOps tools, networking capabilities, and enterprise
security.

1. Key Components of OpenShift Architecture

OpenShift consists of multiple components that work together to provide a robust platform for
containerized applications. These include:

a) Kubernetes as the Core Orchestrator

At the heart of OpenShift is Kubernetes, responsible for:

 Scheduling and managing containers (Pods).


 Scaling applications automatically.
 Managing networking and service discovery.
 Handling storage and persistent volumes.

b) OpenShift API and Web Console

 The OpenShift API Server extends Kubernetes with additional APIs for authentication,
security, and multi-tenancy.
 The Web Console provides an intuitive interface for managing applications, projects, and
deployments.

c) OpenShift Controllers and Operators

 OpenShift uses Operators to automate complex Kubernetes tasks such as database


provisioning (e.g., Crunchy PostgreSQL Operator).
 Controllers handle auto-scaling, self-healing, and other automation features.

d) OpenShift SDN (Software-Defined Networking)

 Implements network policies, isolation, and service discovery.


 Supports multiple networking plugins such as Open vSwitch (OVS) and multitenant
SDN.

e) OpenShift Router

 Uses HAProxy to manage Ingress and load balancing for applications.


 Ensures that external traffic reaches the correct services.

f) Security and Authentication


 Integrates with LDAP, OAuth, and other identity providers.
 Implements Role-Based Access Control (RBAC) to enforce security policies.

2. How OpenShift Uses Kubernetes, Docker, and Registries

OpenShift is designed around Kubernetes, and it integrates Docker (or container runtimes like
CRI-O) to manage containerized workloads.

a) Docker and OpenShift Container Runtime

 OpenShift supports container images built with Docker or Podman.


 Uses CRI-O as the default runtime instead of Docker to optimize Kubernetes integration.

b) Container Registries

OpenShift uses container registries to store and manage container images:

1. Public Registries – OpenShift can pull container images from Docker Hub, Quay.io, or
other public registries.
2. OpenShift Internal Registry – OpenShift includes an internal registry (image-
registry.openshift-image-registry.svc) that stores private images for use within
the cluster.

3. Deployments, Pods, and Services in OpenShift

OpenShift deploys and manages applications using Pods, Deployments, and Services.

a) Pods

 The smallest deployable unit in OpenShift.


 Each Pod can contain one or more containers that share storage, networking, and
resources.
 OpenShift schedules Pods across cluster nodes.

b) Deployments

 Deployments manage Pods and ReplicaSets, ensuring the desired number of replicas run.
 Supports rolling updates, blue-green deployments, and canary releases.

c) Services

 Services provide a stable endpoint for accessing Pods.


 Uses ClusterIP, NodePort, or LoadBalancer types for networking.
 Enables service discovery using Kubernetes DNS.

d) Routes

 OpenShift extends Kubernetes with Routes, allowing external access to Services.


 Works with HAProxy to handle HTTPS and TLS termination.

4. Workflow Example

1. Developer Pushes Code → Triggers CI/CD Pipeline (Jenkins, Tekton).


2. Docker Image Build → Uses OpenShift BuildConfig (S2I or Dockerfile).
3. Image Pushed to Registry → OpenShift Internal Registry or external (Quay.io, Docker
Hub).
4. Deployment Created → Kubernetes Deployment manages Pods.
5. Service Created → Exposes the application internally.
6. Route Created → Makes the application accessible externally.

Conclusion

OpenShift enhances Kubernetes by integrating security, networking, and developer-friendly


tools. It uses Kubernetes as its orchestration engine while managing Docker images from public
and internal registries. Deployments, Services, and Routes ensure that applications are deployed,
scaled, and accessible efficiently.
Namespaces:
Create a Project and then learn how to add an application to the project.
Openshift has built in integration to source code management tools hosted internally or extertnally such
as github, gitlab, bitbucket etc.

OpenShift provides deep integration with GitHub, GitLab, Bitbucket, and other SCM tools for
automated builds and deployments. Features like webhooks, Source-to-Image (S2I), Tekton Pipelines,
Jenkins, and ArgoCD enable seamless CI/CD workflows, making OpenShift a powerful platform for
modern DevOps automation.

Upload your application code to source code repository in order to deploy it to open shift.

Add the application to a project.

Build job will be created by open shift:


Run the build and it will download the source from the code repo.

It builds the code using a pre-defined build configuration into a docker image which is then pushed into
the built in docker registry. It then create a deployment.
Create a docker file/image to package this application code:

You might also like