Skip to content

Prerequisites

Overview

This document outlines the prerequisites for deploying the RH OVE ecosystem, including infrastructure requirements, software dependencies, and configuration prerequisites.

Infrastructure Requirements

Hardware Requirements

graph TB
    subgraph "Master Nodes (3 minimum)"
        A[CPU: 4+ cores per node]
        B[Memory: 16GB+ per node]
        C[Storage: 120GB+ per node]
        D[Network: 1Gbps+]
    end

    subgraph "Worker Nodes (3+ minimum)"
        E[CPU: 8+ cores per node]
        F[Memory: 32GB+ per node]
        G[Storage: 500GB+ per node]
        H[Network: 10Gbps+]
        I[Virtualization: Intel VT-x/AMD-V]
    end

    subgraph "Storage Backend"
        J[High-performance SSD]
        K[Network-attached storage]
        L[Block storage support]
    end

Virtualization Support

Ensure hardware virtualization is enabled:

# Check for Intel VT-x
grep -E "(vmx|svm)" /proc/cpuinfo

# Check if virtualization is enabled in BIOS
lscpu | grep Virtualization

# Verify KVM modules are loaded
lsmod | grep kvm

Network Requirements

  • Cluster Network: Internal cluster communication
  • Service Network: Service-to-service communication
  • Pod Network: Pod-to-pod communication
  • External Access: Load balancer and ingress traffic
# Network configuration example
cluster_network:
  cidr: "10.128.0.0/14"
  host_prefix: 23

service_network:
  - "172.30.0.0/16"

machine_networks:
  - cidr: "192.168.1.0/24"

Software Prerequisites

OpenShift Container Platform

  • Version: OpenShift 4.12+ (recommended 4.14+)
  • Installation Method: IPI (Installer Provisioned Infrastructure) or UPI (User Provisioned Infrastructure)
  • Cluster Admin Access: Required for operator installation

Required Operators

graph TB
    subgraph "Core Operators"
        A[OpenShift Virtualization Operator]
        B[Red Hat OpenShift GitOps]
        C[Web Terminal Operator]
    end

    subgraph "Networking"
        D[Cilium CNI Operator]
        E[Multus CNI]
    end

    subgraph "Security & Policy"
        F[Kyverno Operator]
        G[Compliance Operator]
    end

    subgraph "Monitoring & Observability"
        H[Dynatrace Operator]
        I[Prometheus Operator]
    end

    subgraph "Backup & Storage"
        J[Rubrik Operator]
        K[CSI Operators]
    end

Storage Requirements

Container Storage Interface (CSI) Drivers

# Example CSI StorageClass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: rh-ove-ssd
provisioner: ebs.csi.aws.com
parameters:
  type: gp3
  encrypted: "true"
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

Storage Classes Required

  • Fast SSD: For VM boot disks and high-IOPS workloads
  • Standard HDD: For data storage and backup
  • Archive: For long-term storage and compliance

Network Prerequisites

DNS Configuration

# DNS configuration for cluster
dns:
  base_domain: "ove.example.com"
  cluster_domain: "cluster.local"
metadata:
  name: "rh-ove-cluster"

Load Balancer Configuration

graph LR
    subgraph "External Load Balancer"
        A[API Load Balancer]
        B[Ingress Load Balancer]
    end

    subgraph "OpenShift Cluster"
        C[Master Nodes]
        D[Worker Nodes]
        E[Ingress Controllers]
    end

    A --> C
    B --> E
    E --> D

Firewall Rules

Required ports for RH OVE:

Port Range Protocol Purpose
6443 TCP Kubernetes API server
22623 TCP Machine config server
80/443 TCP HTTP/HTTPS ingress
9000-9999 TCP Host level services
10250-10259 TCP Kubernetes node ports
30000-32767 TCP NodePort services

Security Prerequisites

Certificate Management

# TLS certificate configuration
tls:
  ca_cert: |
    -----BEGIN CERTIFICATE-----
    # CA certificate content
    -----END CERTIFICATE-----

  api_cert: |
    -----BEGIN CERTIFICATE-----
    # API server certificate
    -----END CERTIFICATE-----

RBAC Configuration

Prepare service accounts and roles:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: rh-ove-admin
  namespace: openshift-cnv
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: rh-ove-admin-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: rh-ove-admin
  namespace: openshift-cnv

External System Prerequisites

Git Repository Setup

For GitOps implementation:

# Create GitOps repository structure
mkdir -p rh-ove-gitops/{applications,infrastructure,policies}

# Initialize Git repository
cd rh-ove-gitops
git init
git remote add origin https://git.example.com/rh-ove-gitops.git

Rubrik Backup System

Prerequisites for Rubrik integration:

  • Rubrik cluster: Version 5.0+
  • Network connectivity: Cluster to Rubrik management network
  • Service account: With backup and restore permissions
  • API access: Rubrik REST API credentials
# Rubrik connection configuration
apiVersion: v1
kind: Secret
metadata:
  name: rubrik-credentials
  namespace: rubrik-system
type: Opaque
stringData:
  username: "rubrik-service-account"
  password: "secure-password"
  cluster-address: "rubrik.example.com"

Dynatrace Monitoring

Prerequisites for Dynatrace integration:

  • Dynatrace tenant: SaaS or Managed
  • API tokens: With required permissions
  • Network access: Cluster to Dynatrace endpoints
# Dynatrace API token secret
apiVersion: v1
kind: Secret
metadata:
  name: dynakube
  namespace: dynatrace
type: Opaque
stringData:
  apiToken: "dt0c01.xxxxx"
  dataIngestToken: "dt0c01.yyyyy"

ServiceNow CMDB

For CMDB integration:

  • ServiceNow instance: With CMDB module
  • Service account: With CMDB read/write permissions
  • API access: REST API and webhooks configured

Validation Checklist

Pre-Installation Checks

# Validation script example
apiVersion: v1
kind: ConfigMap
metadata:
  name: pre-install-checks
data:
  validate.sh: |
    #!/bin/bash

    # Check OpenShift version
    oc version

    # Verify cluster resources
    oc get nodes
    oc get storageclass

    # Check virtualization support
    oc get nodes -o json | jq '.items[].status.allocatable'

    # Validate network connectivity
    curl -k https://registry.redhat.io/health

Resource Verification

# Check available resources
oc adm top nodes

# Verify storage classes
oc get storageclass

# Check network plugins
oc get network.config/cluster -o yaml

# Validate image registry access
oc get imagestreams -n openshift

Installation Timeline

gantt
    title RH OVE Deployment Timeline
    dateFormat  YYYY-MM-DD
    section Infrastructure
    Hardware Setup           :done, infra1, 2024-01-01, 2024-01-07
    OpenShift Installation   :done, infra2, 2024-01-08, 2024-01-14

    section Core Components
    Virtualization Operator  :active, core1, 2024-01-15, 2024-01-21
    Cilium CNI               :core2, 2024-01-22, 2024-01-28

    section Security & Policy
    Kyverno Installation     :policy1, 2024-01-29, 2024-02-04
    Security Policies        :policy2, 2024-02-05, 2024-02-11

    section Monitoring
    Dynatrace Setup          :monitor1, 2024-02-12, 2024-02-18
    Backup Configuration     :backup1, 2024-02-19, 2024-02-25

    section GitOps
    Argo CD Setup           :gitops1, 2024-02-26, 2024-03-04
    Application Deployment  :gitops2, 2024-03-05, 2024-03-11

This comprehensive prerequisites guide ensures all necessary components and configurations are in place before beginning the RH OVE deployment process.