# KodeKloud: Beta Courses OpenShift 4

## OpenShift 4

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/OpenShift-4/Introduction/Course-Introduction/page.md): This article provides a comprehensive guide on OpenShift, covering essential topics through hands-on demonstrations and theoretical explanations for users of all experience levels.
- [Openshift Introduction](https://notes.kodekloud.com/docs/OpenShift-4/Introduction/Openshift-Introduction/page.md): This article provides an overview of OpenShift, Red Hats open-source container application platform for developing and hosting enterprise-grade applications.

### Pre-Requisite – Docker and Kubernetes

- [Pre Requisite Docker Overview](https://notes.kodekloud.com/docs/OpenShift-4/Pre-Requisite-Docker-and-Kubernetes/Pre-Requisite-Docker-Overview/page.md): This article provides an overview of Kubernetes, containers, and Docker, explaining their core concepts and differences.
- [Pre Requisite Kubernetes Introduction](https://notes.kodekloud.com/docs/OpenShift-4/Pre-Requisite-Docker-and-Kubernetes/Pre-Requisite-Kubernetes-Introduction/page.md): This article explores the fundamentals of container orchestration and the role of Kubernetes in managing containerized applications in production environments.

### Getting Started with Openshift

- [Openshift Installation Methods](https://notes.kodekloud.com/docs/OpenShift-4/Getting-Started-with-Openshift/Openshift-Installation-Methods/page.md): This article explains how to create a Red Hat account necessary for OpenShift installation.
- [Demo Install Single Node using CRC](https://notes.kodekloud.com/docs/OpenShift-4/Getting-Started-with-Openshift/Demo-Install-Single-Node-using-CRC/page.md): This article provides a step-by-step guide to installing CodeReady Containers for local OpenShift development on a single node.
- [Demo Install Single Node using Sandbox](https://notes.kodekloud.com/docs/OpenShift-4/Getting-Started-with-Openshift/Demo-Install-Single-Node-using-Sandbox/page.md): This article explains how to use the OpenShift Sandbox as a temporary demo environment for OpenShift without local deployment.
- [Demo Web and CLI Templates Yaml Containers](https://notes.kodekloud.com/docs/OpenShift-4/Getting-Started-with-Openshift/Demo-Web-and-CLI-Templates-Yaml-Containers/page.md): This article provides a step-by-step guide to installing a production-ready Kubernetes cluster using OpenShift.
- [Demo OpenShift UI Overview](https://notes.kodekloud.com/docs/OpenShift-4/Getting-Started-with-Openshift/Demo-OpenShift-UI-Overview/page.md): This article provides an overview of the OpenShift UI and CLI, highlighting their features and functionalities for developers and administrators.

### Openshift Concepts – Projects and Users

- [Deploying applications web console](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Concepts-Projects-and-Users/Deploying-applications-web-console/page.md): Deploy applications on OpenShift using the web console with methods like manual deployment and importing from a Git repository.
- [Deploying applications CLI](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Concepts-Projects-and-Users/Deploying-applications-CLI/page.md): This article explains how to deploy the Sock Shop application on Kubernetes and OpenShift using the command line interface.
- [Projects and Users](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Concepts-Projects-and-Users/Projects-and-Users/page.md): This article covers managing projects and users in OpenShift, focusing on resource organization, user types, and authentication methods.
- [Demo Projects and Users](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Concepts-Projects-and-Users/Demo-Projects-and-Users/page.md): This article covers managing projects and users in OpenShift using the CLI and web console.

### Concepts – Builds and Deployments

- [Openshift Vs K8s Components](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Openshift-Vs-K8s-Components/page.md): This article explores the key differences between OpenShift and Kubernetes, highlighting their features and usability in container orchestration.
- [Deployment Config vs Kubernetes Deployment](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Deployment-Config-vs-Kubernetes-Deployment/page.md): This article explores the differences between Kubernetes Deployments and OpenShift DeploymentConfigs, highlighting their distinct roles and behaviors in managing pod replication and deployment.
- [Demo DeploymentConfigDeployment](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Demo-DeploymentConfigDeployment/page.md): This guide provides a hands-on example for deploying the CartsDB database on OpenShift using standard Deployment and DeploymentConfig methods.
- [Image Streams Overview](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Image-Streams-Overview/page.md): Image streams enable dynamic updates to deployments by managing container images through tags, automating workflows in OpenShift environments.
- [Demo Image Streams](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Demo-Image-Streams/page.md): This guide explains how to create and deploy an ImageStream in OpenShift for managing container images and streamlining deployment workflows.
- [Build and Build Config Overview](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Build-and-Build-Config-Overview/page.md): The article explains how OpenShift's build process uses BuildConfigs to automate the transformation of source code into deployable container images.
- [Demo Build and Build Config](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Demo-Build-and-Build-Config/page.md): This article explains creating and managing Build Configs in OpenShift, including modifying configurations and automating build processes for applications like Sock Shop.
- [Route overview](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Route-overview/page.md): This article explores how OpenShift Routes expose internal Services to external users via specified hostnames, facilitating application access.
- [Demo Route](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Demo-Route/page.md): This article guides modifying routing configuration in Red Hat OpenShift for the Sock Shop application to ensure continuous accessibility.
- [Openshift Build Strategies](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Openshift-Build-Strategies/page.md): This article explores various build strategies in OpenShift and details build input options for optimizing development workflows.
- [Docker Build](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Docker-Build/page.md): This article explains how to set up BuildConfigs and process builds for OCI-compliant container images using Buildah and OpenShift.
- [S2I](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/S2I/page.md): This article explores the Source-to-Image (S2I) build process and its benefits for creating Docker-compliant container images efficiently.
- [Custom Build](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Custom-Build/page.md): This article explores bridging traditional build methods with containerized practices using a custom image builder for legacy artifacts and modern automation.
- [Openshift Build Triggers Webhook Image Change Configuration Change](https://notes.kodekloud.com/docs/OpenShift-4/Concepts-Builds-and-Deployments/Openshift-Build-Triggers-Webhook-Image-Change-Configuration-Change/page.md): This guide explores OpenShifts automated build triggers  Webhook, Image Change, and Configuration Change, detailing their functionality and practical applications.

### Networks, Services, Routes and Scaling

- [Networking Overview](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Networking-Overview/page.md): This lesson explores networking in OpenShift, covering Kubernetes fundamentals, pod communication, SDN, and external connectivity for applications.
- [Services and Routes](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Services-and-Routes/page.md): This article provides a comprehensive guide on services and routes in OpenShift, detailing their functionality, configuration, and security features.
- [Demo Services and Routes](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Demo-Services-and-Routes/page.md): This guide covers configuring and exposing applications in OpenShift for both internal and external access.
- [Scaling](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Scaling/page.md): This lesson covers scaling applications in OpenShift by modifying the number of replicas managed by the replication controller.
- [Demo Scaling](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Demo-Scaling/page.md): This article provides a hands-on tutorial for deploying and scaling applications in OpenShift, focusing on a simple web application example.
- [Autoscaling HPA Overview](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Autoscaling-HPA-Overview/page.md): This article explores vertical scaling and horizontal autoscaling using the Horizontal Pod Autoscaler to optimize resource usage and application responsiveness.
- [Demo HPA](https://notes.kodekloud.com/docs/OpenShift-4/Networks-Services-Routes-and-Scaling/Demo-HPA/page.md): This guide covers methods for autoscaling applications in OpenShift using terminal commands and YAML manifests for Horizontal Pod Autoscaler configuration.

### Storage, Templates and Catalog

- [Storage](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Storage/page.md): This guide demonstrates managing storage in OpenShift, covering provisioning persistent volumes and claiming them within projects for effective data storage.
- [Demo Storage](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Demo-Storage/page.md): This guide demonstrates how to implement persistent storage in an OpenShift cluster for a Python application.
- [Persistent Storage Static vs Dynamic Provisioning StorageClasses](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Persistent-Storage-Static-vs-Dynamic-Provisioning-StorageClasses/page.md): This article details the process for creating a Storage Class and a Persistent Volume Claim in OpenShift.
- [Demo Dynamic Provisioning](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Demo-Dynamic-Provisioning/page.md): This article explains dynamic and static storage provisioning in Kubernetes and OpenShift using the Container Storage Interface and provides configuration examples.
- [Resource Allocation CPU and RAM](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Resource-Allocation-CPU-and-RAM/page.md): This article emphasizes strategic resource allocation in Kubernetes, focusing on managing CPU and memory resources for Pods through requests and limits.
- [Demo Resource Allocation](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Demo-Resource-Allocation/page.md): This article explores configuring resource requests and limits for the CartsDB deployment in the Socks Shop application to ensure efficient resource usage.
- [ResourceQuota Overview](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/ResourceQuota-Overview/page.md): This article explores resource quotas in Kubernetes and OpenShift, detailing their purpose, functionality, and management within namespaces or projects.
- [Demo Request Quota](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Demo-Request-Quota/page.md): This guide explains how to create and enforce a resource quota in an OpenShift project using YAML manifests and deploying a pod.
- [Example Voting Application](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Example-Voting-Application/page.md): This article explores a voting application built with microservices architecture, demonstrating deployment using Docker and integration of various technologies.
- [Demo Example Voting Application](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Demo-Example-Voting-Application/page.md): This article provides a guide for deploying a multi-tier voting application in an OpenShift cluster.
- [Templates and Catalog](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Templates-and-Catalog/page.md): This article explains OpenShift templates and catalogs, detailing how to deploy application stacks using single configurations.
- [Demo Create Custom Catalog](https://notes.kodekloud.com/docs/OpenShift-4/Storage-Templates-and-Catalog/Demo-Create-Custom-Catalog/page.md): This guide explains how to create a custom template for a voting application on an OpenShift cluster.

### Openshift Security

- [User Management Overview users ServiceAccounts Groups](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/User-Management-Overview-users-ServiceAccounts-Groups/page.md): This article explores OpenShifts management of users, service accounts, and groups, detailing authentication methods and security practices for efficient resource management.
- [Demo User Management](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-User-Management/page.md): This article covers essential user management tasks in OpenShift, including creating users, mapping identities, managing service accounts, and configuring groups and role bindings.
- [RBAC roles rolebinding cluster role clusterrole binding](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/RBAC-roles-rolebinding-cluster-role-clusterrole-binding/page.md): This article explains RBAC concepts in Kubernetes, detailing roles, role bindings, cluster roles, and their importance for securing access to resources.
- [Demo RBAC](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-RBAC/page.md): This article explores setting up roles and role bindings in a cluster, including creating namespaced roles and binding them to service accounts.
- [Demo Setting up user contexts projectwise](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-Setting-up-user-contexts-projectwise/page.md): This demo guides setting up user contexts with read-only access for monitoring resources without modification permissions.
- [Config Map Overview](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Config-Map-Overview/page.md): ConfigMaps are a Kubernetes resource for managing configuration data as key-value pairs, enhancing flexibility and separation of configuration from application code.
- [Demo Config Maps](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-Config-Maps/page.md): This article explores using ConfigMaps in Kubernetes Deployments, covering definitions, integration, troubleshooting, and resolution through command-line and UI feedback.
- [Secrets Overview](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Secrets-Overview/page.md): This article explains how Kubernetes Secrets manage sensitive information securely, highlighting their usage, encoding, and the importance of additional security measures.
- [Demo Secrets](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-Secrets/page.md): This guide demonstrates methods for creating and managing Kubernetes secrets using YAML manifests and the OpenShift web console.
- [Network Policies InterPod Security](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Network-Policies-InterPod-Security/page.md): This article explains Kubernetes network policies for managing pod communication and traffic flow based on IP addresses and ports within the OSI model framework.
- [Demo Network Policies](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-Network-Policies/page.md): This lesson demonstrates a Kubernetes network policy configuration controlling inbound connectivity between deployments using labels for secure communication.
- [SCC Overview](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/SCC-Overview/page.md): This article discusses Security Context Constraints in Kubernetes, emphasizing their role in managing pod permissions and enhancing overall security.
- [Demo SCC Overview](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Demo-SCC-Overview/page.md): This article reviews the CartsDB deployment, focusing on enhancing security by configuring a non-privileged mode and a read-only root filesystem.
- [Introduction to Operators](https://notes.kodekloud.com/docs/OpenShift-4/Openshift-Security/Introduction-to-Operators/page.md): This article explains how Kubernetes operators extend the API for resource management and application deployment.

### Conclusion and APPENDIX

- [Conclusion](https://notes.kodekloud.com/docs/OpenShift-4/Conclusion-and-APPENDIX/Conclusion/page.md): This article covers OpenShift installation, project management, deployment processes, storage, and security within Kubernetes environments.
- [APPENDIX A Demo Gitlab Setup](https://notes.kodekloud.com/docs/OpenShift-4/Conclusion-and-APPENDIX/APPENDIX-A-Demo-Gitlab-Setup/page.md): This article provides a step-by-step guide to setting up a local GitLab instance on a CentOS virtual machine using Oracle VirtualBox and Docker.
- [APPENDIX B Pre Requisite CICD](https://notes.kodekloud.com/docs/OpenShift-4/Conclusion-and-APPENDIX/APPENDIX-B-Pre-Requisite-CICD/page.md): This article provides a comprehensive guide on CI/CD builds, covering packaging, testing, and deploying applications using Docker and automation tools.
- [APPENDIX C Pre Requisite SCM](https://notes.kodekloud.com/docs/OpenShift-4/Conclusion-and-APPENDIX/APPENDIX-C-Pre-Requisite-SCM/page.md): This section introduces source code management concepts essential for understanding OpenShift workflows, aimed at beginners and those new to collaborative development.
