Why Bastion Services?

Understanding the need for dedicated bastion LPARs in OpenShift on PowerVM deployments

← Back to Architecture Diagrams
Key Question: "Why do we need a dedicated bastion LPAR when we already have DNS, DHCP, and other services in our infrastructure?" This page provides a comprehensive answer.

❓ Why Dedicated Bastion LPAR? Can't We Use Existing Infrastructure?

A common question: "Why do we need a dedicated bastion LPAR when we already have DNS, DHCP, and other services in our infrastructure?" Here's a comprehensive explanation of why a dedicated bastion is essential for OpenShift on PowerVM.

🎯 Critical Requirements That Existing Infrastructure Can't Meet

  • PXE/Network Boot Control: OpenShift installation requires precise control over PXE boot sequences, kernel parameters, and ignition file delivery. Existing DHCP servers typically can't provide the granular, cluster-specific boot configurations needed for PowerVM LPARs.
  • Ignition File Serving: OpenShift uses ignition files (not cloud-init) for node configuration. These files contain cluster-specific certificates, configurations, and secrets that must be served securely and reliably during the critical bootstrap phase.
  • RHCOS Image Hosting: The bastion must serve large RHCOS (Red Hat CoreOS) images (kernel, initramfs, rootfs) during installation. Existing web servers may not be configured or authorized to host these specific files.
  • Cluster-Specific DNS Zones: OpenShift requires specific DNS entries (api, api-int, *.apps) that are tightly coupled to the cluster. Modifying corporate DNS for each cluster creates dependencies and change management overhead.

🔒 Security & Isolation Concerns

  • Network Segmentation: OpenShift clusters often run in isolated network segments. A bastion in the same network provides services without requiring firewall exceptions to corporate infrastructure.
  • Credential Isolation: The bastion holds cluster-specific credentials, certificates, and pull secrets. Keeping these on a dedicated system prevents exposure to broader infrastructure.
  • Blast Radius Containment: If a cluster or its bastion is compromised, the impact is contained. Corporate DNS/DHCP servers remain unaffected.
  • Compliance & Audit: Many organizations require separation between production infrastructure and development/test clusters. Dedicated bastions provide clear audit trails.

⚙️ Operational & Technical Reasons

  • HAProxy Load Balancing: OpenShift HA clusters require a load balancer for API (6443) and ingress (80/443) traffic. Corporate load balancers may not support the specific configurations needed, or may have lengthy approval processes.
  • Day 2 Operations: Adding worker nodes requires updating DHCP reservations, DNS entries, HAProxy backends, and serving new ignition files. A dedicated bastion allows these changes without corporate change control delays.
  • Rapid Iteration: During installation and troubleshooting, you may need to modify configurations multiple times. A dedicated bastion allows immediate changes without affecting other systems.
  • Version-Specific Requirements: Different OpenShift versions may require different service configurations. A dedicated bastion can be tailored to each cluster's version.
  • PowerVM-Specific Tools: The bastion often runs PowerVM-specific tools (lpar_netboot, HMC integration scripts) that don't belong on corporate infrastructure.

🏢 Why Corporate Infrastructure Falls Short

Corporate DNS

Corporate DHCP

Corporate Web Servers

Corporate Load Balancers

💡 The Bastion as a "Cluster Appliance"

Think of the bastion as an integral part of the OpenShift cluster, not separate infrastructure:

🔄 Hybrid Approach: When to Use Existing Infrastructure

You CAN leverage existing infrastructure for some services:

Key Principle: Use corporate infrastructure for upstream services, but keep cluster-specific services on the bastion.

🔍 DNS in x86 vs PowerVM: Why the Difference?

Great question! In x86 architectures (VMware, AWS, Azure, bare metal), DNS is often handled differently. Here's why:

x86/Cloud Platforms - Automated DNS Integration:

IPI (Installer-Provisioned Infrastructure):

  • ✅ OpenShift installer creates cloud resources (VMs, load balancers, DNS records) automatically
  • ✅ Cloud providers (AWS Route53, Azure DNS, GCP Cloud DNS) have APIs for dynamic DNS management
  • ✅ Installer creates DNS records via API calls during installation
  • ✅ No manual DNS configuration needed - fully automated

UPI (User-Provisioned Infrastructure) on x86:

  • ⚠️ Still requires DNS entries, but often uses corporate DNS
  • ⚠️ Works because x86 installations typically use corporate DHCP/PXE infrastructure
  • ⚠️ Corporate DNS teams are more familiar with x86 requirements
  • ⚠️ Change management processes are established for x86 clusters

Load Balancer Integration:

  • ✅ Cloud platforms provide managed load balancers (AWS ELB, Azure LB)
  • ✅ DNS points to load balancer IPs managed by the cloud provider
  • ✅ No need for HAProxy on a bastion

PowerVM - Why Bastion DNS is Necessary:

No Cloud Provider APIs:

  • ❌ PowerVM/HMC doesn't have DNS APIs like AWS Route53
  • ❌ Can't automate DNS record creation during installation
  • ❌ Manual corporate DNS changes would be required for each cluster

PXE Boot Complexity:

  • ❌ PowerVM netboot requires tight integration between DNS, DHCP, and TFTP
  • ❌ Corporate DNS may not support the dynamic updates needed during boot
  • ❌ Boot process needs immediate DNS resolution - can't wait for DNS propagation

No Managed Load Balancers:

  • ❌ PowerVM doesn't provide managed load balancers like cloud platforms
  • ❌ HAProxy on bastion fills this gap
  • ❌ DNS entries point to bastion's HAProxy, not cloud LB

Cluster Lifecycle:

  • ❌ Creating/destroying clusters would require DNS team involvement each time
  • ❌ Dev/test clusters are created/destroyed frequently - bastion DNS is self-service
  • ❌ Corporate DNS changes may take days; bastion DNS changes are immediate

The Reality: Even x86 Often Uses Bastion-Like Patterns

Bottom Line: The bastion pattern isn't unique to PowerVM - it's a best practice for any environment where you need:

PowerVM Advantage: By using a bastion from the start, you get the same self-service capabilities that cloud platforms provide through APIs, but with full control and no cloud provider lock-in.