Skip to content

devopsgeek1979/openshift-7-days

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ OpenShift Mastery - From Beginner to L3 Professional

OpenShift Version Skill Level Duration License

πŸ“– Overview

A comprehensive OpenShift learning and deployment framework designed to take you from beginner to L3-level professional through structured training and hands-on cloud deployments. This repository combines theoretical knowledge with production-ready infrastructure-as-code for deploying OpenShift across multiple cloud providers.

What's Included

πŸŽ“ 7-Day OpenShift Mastery Program

  • Structured daily learning plans (Day 1-7)
  • Progressive complexity from basics to advanced
  • Hands-on labs and real-world scenarios
  • Interview preparation and certification guidance
  • 340KB+ of curated training materials

☁️ Production-Ready Cloud Deployments

  • Linode (complete Terraform + Ansible automation on Rocky Linux 9)
  • AWS, Azure, GCP, Oracle Cloud (frameworks ready)
  • GitOps with ArgoCD integration
  • Complete GitLab CI/CD pipelines
  • Security hardening and best practices

πŸ’° Cost-Optimized with Rocky Linux 9

  • FREE OS - no Red Hat subscription required
  • 1:1 binary compatible with RHEL 9
  • Learning cluster: ~$138/month on Linode
  • Perfect for OpenShift practice without licensing costs

πŸ”§ Enterprise Automation

  • Infrastructure as Code (Terraform 1.5+)
  • Configuration Management (Ansible 2.14+)
  • GitOps workflows (ArgoCD)
  • CI/CD pipelines (GitLab)
  • Monitoring, logging, and backup strategies

πŸš€ Quick Start

For Learning (Theory)

# Clone the repository
git clone https://github.com/devopsgeek1979/terraform-basic.git
cd terraform-basic/openshift-master

# Start with Day 1
open Day-1-OpenShift-Fundamentals.md

# Follow the 7-day program sequentially

For Practice (Hands-On)

# Navigate to cloud deployments
cd openshift-cloud-deployments/linode

# Configure your environment
cp terraform/terraform.tfvars.example terraform/terraform.tfvars
# Edit terraform.tfvars with your Linode API token

# Deploy infrastructure
cd terraform
terraform init
terraform plan
terraform apply

# Deploy OpenShift with Ansible
cd ../ansible
./deploy.sh --full

# Access your cluster (credentials in artifacts)
export KUBECONFIG=/opt/openshift/install/auth/kubeconfig
oc get nodes

Using CI/CD (Automated)

# Configure GitLab CI/CD variables
# - LINODE_API_TOKEN
# - SSH_PRIVATE_KEY
# - OPENSHIFT_PULL_SECRET

# Push to trigger pipeline
git add .
git commit -m "Deploy OpenShift cluster"
git push origin main

# Monitor pipeline in GitLab
# Manually approve 'terraform:apply' job

πŸ“š Repository Structure

openshift-master/
β”‚
β”œβ”€β”€ README.md (this file)                    # Main documentation
β”œβ”€β”€ CONTRIBUTORS.md                          # Contributors and acknowledgments
β”‚
β”œβ”€β”€ 7-Day Training Program/                  # Theoretical knowledge
β”‚   β”œβ”€β”€ Day-1-OpenShift-Fundamentals.md     # Architecture, components, installation
β”‚   β”œβ”€β”€ Day-2-Networking-Storage.md         # SDN, CNI, storage classes, PVs/PVCs
β”‚   β”œβ”€β”€ Day-3-Security-RBAC.md              # Security, authentication, RBAC
β”‚   β”œβ”€β”€ Day-4-Operators-Management.md       # Operators, OLM, cluster management
β”‚   β”œβ”€β”€ Day-5-CI-CD-GitOps.md               # CI/CD, Tekton, GitOps, ArgoCD
β”‚   β”œβ”€β”€ Day-6-Monitoring-Logging.md         # Prometheus, Grafana, logging
β”‚   β”œβ”€β”€ Day-7-Troubleshooting-Advanced.md   # Debugging, performance, DR
β”‚   β”œβ”€β”€ Interview-Questions-L3.md           # 100+ interview questions
β”‚   β”œβ”€β”€ Certification-Path.md               # EX280, DO280 preparation
β”‚   └── Real-World-Scenarios.md             # Production case studies
β”‚
β”œβ”€β”€ openshift-cloud-deployments/             # Production deployments
β”‚   β”‚
β”‚   β”œβ”€β”€ README.md                            # Cloud deployment overview
β”‚   β”œβ”€β”€ PROJECT-SUMMARY.md                   # Complete project documentation
β”‚   β”œβ”€β”€ CICD-README.md                       # CI/CD pipeline documentation
β”‚   β”‚
β”‚   β”œβ”€β”€ linode/                              # Linode Cloud (Complete βœ…)
β”‚   β”‚   β”œβ”€β”€ README.md                        # Linode-specific guide (22KB)
β”‚   β”‚   β”œβ”€β”€ terraform/                       # Infrastructure as Code
β”‚   β”‚   β”‚   β”œβ”€β”€ main.tf                      # 608 lines, complete IaC
β”‚   β”‚   β”‚   β”œβ”€β”€ variables.tf                 # 60+ configurable variables
β”‚   β”‚   β”‚   β”œβ”€β”€ outputs.tf                   # Cluster info, IPs, DNS
β”‚   β”‚   β”‚   └── terraform.tfvars.example     # 4 deployment presets
β”‚   β”‚   └── ansible/                         # Configuration management
β”‚   β”‚       β”œβ”€β”€ ansible.cfg                  # Ansible configuration
β”‚   β”‚       β”œβ”€β”€ inventory/hosts.example      # Inventory template
β”‚   β”‚       β”œβ”€β”€ group_vars/all.yml           # Global variables
β”‚   β”‚       β”œβ”€β”€ playbooks/
β”‚   β”‚       β”‚   β”œβ”€β”€ 01-prepare-nodes.yml     # Bastion and node setup
β”‚   β”‚       β”‚   β”œβ”€β”€ 02-generate-ignition.yml # Ignition configs
β”‚   β”‚       β”‚   β”œβ”€β”€ 03-install-openshift.yml # Cluster installation
β”‚   β”‚       β”‚   β”œβ”€β”€ 04-post-install.yml      # Post-install config
β”‚   β”‚       β”‚   └── 05-deploy-gitops.yml     # ArgoCD deployment
β”‚   β”‚       └── deploy.sh                    # Master deployment script
β”‚   β”‚
β”‚   β”œβ”€β”€ gitops/                              # GitOps with ArgoCD
β”‚   β”‚   β”œβ”€β”€ README.md                        # GitOps documentation
β”‚   β”‚   β”œβ”€β”€ argocd/
β”‚   β”‚   β”‚   β”œβ”€β”€ applications/                # Application definitions
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ app-of-apps.yaml        # Root application
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ infrastructure.yaml      # Infrastructure apps
β”‚   β”‚   β”‚   β”‚   └── platform.yaml           # Platform apps
β”‚   β”‚   β”‚   └── projects/                    # AppProject definitions
β”‚   β”‚   β”‚       β”œβ”€β”€ infrastructure.yaml      # Infrastructure project
β”‚   β”‚   β”‚       β”œβ”€β”€ platform.yaml           # Platform project
β”‚   β”‚   β”‚       └── applications.yaml        # Applications project
β”‚   β”‚   β”œβ”€β”€ infrastructure/                  # Infrastructure components
β”‚   β”‚   β”‚   β”œβ”€β”€ namespaces/                 # Namespace definitions
β”‚   β”‚   β”‚   β”œβ”€β”€ storage/                    # Storage classes
β”‚   β”‚   β”‚   β”œβ”€β”€ networking/                 # Network policies
β”‚   β”‚   β”‚   └── rbac/                       # RBAC configurations
β”‚   β”‚   └── platform/                        # Platform services
β”‚   β”‚       β”œβ”€β”€ monitoring/                 # Prometheus, Grafana
β”‚   β”‚       β”œβ”€β”€ logging/                    # Logging stack
β”‚   β”‚       └── security/                   # Security policies
β”‚   β”‚
β”‚   β”œβ”€β”€ aws/                                 # Amazon Web Services (Planned)
β”‚   β”œβ”€β”€ azure/                               # Microsoft Azure (Planned)
β”‚   β”œβ”€β”€ gcp/                                 # Google Cloud Platform (Planned)
β”‚   └── oracle/                              # Oracle Cloud (Planned)
β”‚
β”œβ”€β”€ .gitlab-ci.yml                           # Complete CI/CD pipeline
└── .yamllint.yml                            # YAML linting configuration

🎯 Learning Path

Phase 1: Foundation (Days 1-3)

Day 1: OpenShift Fundamentals

  • Container and Kubernetes basics
  • OpenShift architecture and components
  • Installation methods (IPI, UPI, managed)
  • First cluster deployment walkthrough

Day 2: Networking & Storage

  • SDN and CNI (OVNKubernetes)
  • Service networking and routes
  • Storage classes and persistent volumes
  • Volume snapshots and backup

Day 3: Security & RBAC

  • Authentication and authorization
  • RBAC, SCCs, Network Policies
  • Secrets management
  • Security scanning and compliance

Phase 2: Advanced Operations (Days 4-5)

Day 4: Operators & Management

  • Operator Framework and OLM
  • Cluster upgrades and updates
  • Multi-cluster management (RHACM)
  • Node management and auto-scaling

Day 5: CI/CD & GitOps

  • OpenShift Pipelines (Tekton)
  • GitOps with ArgoCD
  • Image registry and builds
  • S2I and BuildConfigs

Phase 3: Production Readiness (Days 6-7)

Day 6: Monitoring & Logging

  • Prometheus and Grafana
  • Custom metrics and alerts
  • EFK stack (Elasticsearch, Fluentd, Kibana)
  • Log aggregation strategies

Day 7: Troubleshooting & Advanced Topics

  • Debugging techniques and tools
  • Performance tuning
  • Disaster recovery
  • Multi-cloud deployments

Phase 4: Hands-On Practice

Cloud Deployment Project

  • Choose cloud provider (start with Linode)
  • Deploy production-ready cluster
  • Implement GitOps workflows
  • Configure monitoring and logging
  • Practice disaster recovery

πŸ’° Cost Breakdown

Training Materials

  • Cost: FREE βœ…
  • Time Investment: 7 days (theory) + practice time
  • Value: Equivalent to $2,000+ professional training

Cloud Practice Environments (Rocky Linux 9)

Environment Provider Monthly Cost Recommended For
Learning/Dev Linode $138 Learning basics (Rocky Linux 9)
Standard Practice Linode $200-350 Full feature testing
Production-Like Linode $552 Job preparation
Enterprise Multi-cloud $1,000+ Advanced scenarios

πŸ’‘ Rocky Linux 9 Benefits:

  • FREE OS: No Red Hat subscription required (saves $350-800/year)
  • RHEL Compatible: 1:1 binary compatibility with RHEL 9
  • Lower Resources: Reduced overhead for learning and lab deployments
  • Perfect for Learning: Full OpenShift compatibility

Cost Savings Tips:

  • Use Rocky Linux 9 to avoid paid OS subscriptions (FREE OS)
  • Use Linode for initial learning (50% cheaper than AWS)
  • Enable auto-shutdown for non-production (save 60%)
  • Destroy environments when not in use
  • Start with smaller instances (g6-standard-2 for control plane)

πŸ› οΈ Technology Stack

Infrastructure

  • Terraform: 1.5.0+ (Infrastructure as Code)
  • Ansible: 2.14+ (Configuration Management)
  • OpenShift: 4.14+ (Container Platform)

Cloud Providers

  • Linode: Primary learning environment (complete implementation)
  • AWS: Enterprise production (planned)
  • Azure: Hybrid cloud scenarios (planned)
  • GCP: Kubernetes-native deployments (planned)
  • Oracle Cloud: Cost-effective alternatives (planned)

DevOps Tools

  • ArgoCD: GitOps continuous delivery
  • GitLab CI/CD: Automated pipelines
  • Prometheus: Monitoring and alerting
  • Grafana: Metrics visualization
  • EFK Stack: Logging and analysis

Security

  • RBAC: Role-based access control
  • Network Policies: Micro-segmentation
  • Sealed Secrets: Encrypted secrets in Git
  • Falco: Runtime security
  • Trivy: Vulnerability scanning

πŸ“– Detailed Documentation

Training Modules

Each day's module includes:

  • Theory: Conceptual understanding
  • Hands-On Labs: Step-by-step exercises
  • Real-World Scenarios: Production case studies
  • Quiz: Knowledge validation
  • Additional Resources: Deep-dive materials

Deployment Guides

Each cloud provider includes:

  • Prerequisites: Account setup and requirements
  • Architecture: Network design and resource planning
  • Deployment: Step-by-step instructions
  • Configuration: Post-install hardening
  • Troubleshooting: Common issues and solutions
  • Cost Optimization: Strategies to reduce expenses

Automation

  • Terraform Modules: Reusable infrastructure components
  • Ansible Playbooks: Automated configuration
  • GitOps Applications: Declarative deployments
  • CI/CD Pipelines: End-to-end automation

πŸŽ“ Career Path & Certification

Target Roles

This program prepares you for:

  • OpenShift Administrator (L2-L3)
  • Kubernetes Platform Engineer
  • Cloud Infrastructure Engineer
  • DevOps/SRE Engineer
  • Container Platform Architect

Recommended Certifications

Certification Level Prerequisites Exam Cost
EX180 Associate None $400
DO180 Training EX180 $3,400
EX280 Specialist EX180 $400
DO280 Training EX280 $3,400
EX380 Expert EX280 $400

This Repository Covers:

  • βœ… Complete EX180 exam objectives
  • βœ… 90% of EX280 exam objectives
  • βœ… 60% of EX380 exam objectives

Interview Preparation

  • 100+ L3-level interview questions
  • Architecture design scenarios
  • Troubleshooting case studies
  • Hands-on practical assessments

πŸ” Security Best Practices

This repository implements enterprise security standards:

Infrastructure Security

  • βœ… Private cluster configurations
  • βœ… Network segmentation and policies
  • βœ… Firewall rules and security groups
  • βœ… Bastion host for secure access
  • βœ… Encrypted storage (at rest and in transit)

Application Security

  • βœ… RBAC with least-privilege access
  • βœ… Security Context Constraints (SCCs)
  • βœ… Pod Security Policies
  • βœ… Image scanning and signing
  • βœ… Secrets management (Sealed Secrets)

Compliance

  • βœ… FIPS 140-2 mode support
  • βœ… CIS Kubernetes Benchmark
  • βœ… Audit logging enabled
  • βœ… Regular security scanning
  • βœ… Vulnerability patching strategy

πŸš€ CI/CD Pipeline Features

The GitLab CI/CD pipeline provides:

Validation Stage

  • βœ… Terraform format and validation
  • βœ… Ansible syntax checking
  • βœ… YAML linting
  • βœ… Security scanning (tfsec, Checkov)

Deployment Stage

  • βœ… Infrastructure provisioning (Terraform)
  • βœ… OpenShift installation (Ansible)
  • βœ… GitOps configuration (ArgoCD)
  • βœ… Post-install validation

Testing Stage

  • βœ… Cluster health checks
  • βœ… Operator status validation
  • βœ… GitOps sync verification
  • βœ… Application deployment tests

Operations

  • βœ… Automated backups
  • βœ… Disaster recovery drills
  • βœ… Cost reporting
  • βœ… Cleanup and destroy

🀝 Contributing

We welcome contributions! See CONTRIBUTORS.md for details.

Ways to Contribute

  • πŸ“ Improve documentation
  • πŸ› Report bugs or issues
  • ✨ Add new cloud provider implementations
  • πŸ”§ Enhance automation scripts
  • πŸ“š Share real-world scenarios
  • πŸŽ“ Add training materials

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

πŸ“Š Project Statistics

  • Total Content: 540KB+ (340KB training + 200KB deployments)
  • Lines of Code: 3,300+ (Terraform, Ansible, YAML)
  • Documentation: 15+ comprehensive guides
  • Automation Scripts: 20+ playbooks and modules
  • Cloud Providers: 6 (1 complete, 5 planned)
  • Deployment Presets: 4 (Dev to Enterprise)

πŸ†˜ Support & Community

Getting Help

  • Issues: Report bugs or request features via GitHub Issues
  • Documentation: Check README files in each directory
  • Community: Join OpenShift Commons
  • Official Docs: https://docs.openshift.com

Useful Resources

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Star History

If this repository helped you learn OpenShift or land a job, please consider giving it a star! ⭐

πŸ“¬ Contact & Feedback

  • Repository Owner: devopsgeek1979
  • Project: terraform-basic
  • Branch: main

From Beginner to OpenShift L3 Professional - Your Complete Journey Starts Here! πŸš€

Made with ❀️ by the OpenShift community

About

Complete OpenShift learning journey from beginner to L3 professional. Includes 7-day structured training program, production-ready cloud deployments (Terraform + Ansible), GitOps with ArgoCD, and enterprise CI/CD pipelines. 624KB of content, 3,900+ lines of code.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors