Block Storage

 View Only

IaC Deployment of ROSA with SDSC

By Paul Ilavarasu Balasekar posted 3 hours ago

  

How to Deploy SDS Block with ROSA and PostgreSQL Using Terraform and Ansible

Modern cloud-native platforms demand speed, consistency, and automation — especially when deploying persistent storage for mission-critical applications. This blog walks through how to automate the full deployment of Hitachi VSP One SDS Block on AWS, integrate it with Red Hat OpenShift Service on AWS (ROSA), and run PostgreSQL using Terraform and Ansible. This approach turns what used to require days of manual work into a repeatable, one-click Infrastructure-as-Code pipeline.

 

For complete technical details and deployment steps, refer to the full Reference Architecture document.

👉 Download the Reference Architecture (RA)

 

Why This Automation Matters

Organizations moving to cloud-native architecture often struggle with:

  • Manual configuration of cloud infrastructure
  • Complex, error-prone SDS Block provisioning
  • Integrating ROSA worker nodes with iSCSI-based storage
  • Ensuring consistent PVC → PV provisioning
  • Managing multipath, storage pools, and CSI drivers

Automating all these with Terraform and Ansible creates:

·       Consistent deployments across environments

·       Faster onboarding for DevOps teams

·       Reduced operational overhead

·       Stronger reliability and performance for stateful workloads

Solution Overview

This automated deployment provisions AWS infrastructure, Hitachi VSP One SDS Block, ROSA clusters, CSI drivers, and PostgreSQL workloads. Key components include VPC creation, SDS Block provisioning, ROSA worker configuration, and CSI-based dynamic volume provisioning.

1. AWS Infrastructure

  • VPC, subnets, routing
  • IAM policies and roles
  • EC2-based SDS Block nodes
  • Utility VM for Terraform + Ansible

2.Hitachi VSP One SDS Block

  • Automated cluster deployment on AWS
  • Password reset & initialization
  • Storage pool creation and expansion
  • iSCSI configuration and multipath enablement

3.ROSA Cluster

  • Hosted Control Plane (HCP) or Classic
  • OIDC workflow integration
  • Worker nodes in private subnets

4. Storage Integration

  • HSPC (Hitachi CSI Driver) installation
  • Secret & StorageClass creation
  • Dynamic PVC → PV provisioning

5. PostgreSQL Deployment

A sample PostgreSQL pod validates that SDS Block volumes are correctly:

  • Created
  • Mapped
  • Attached
  • Mounted inside the container

  

 

End-to-End Workflow

Below is the actual flow used by the Terraform + Ansible automation:

  1. Terraform Apply
    Provisions AWS foundation, ROSA cluster, and SDS Block nodes.
  2. SDS Block Cluster Provisioning
    EC2 nodes are initialized and form the SDS Block cluster.
  3. Password Reset Script
    A Python helper resets the SDS default password to secure the API.
  4. Storage Pool Expansion
    Ansible automatically discovers attached disks and adds them to the pool.
  5. ROSA Cluster Deployment
    Terraform provisions ROSA HCP with required IAM configurations.
  6. CSI Driver Installation
    HSPC operator + iSCSI daemonsets are deployed.
  7. StorageClass Creation
    Terraform renders the SDS endpoint, credentials, and SC manifest.
  8. PVC Creation & PV Binding
    Kubernetes triggers SDS Block to create a volume and attach it.
  9. PostgreSQL Pod Deployment
    The pod mounts its volume via iSCSI and runs successfully.

Key Benefits of This Architecture

Fully Automated IaC Deployment

Deploy AWS + ROSA + SDS Block + PostgreSQL with a single Terraform apply.

Accelerated Time-to-Value

End-to-end provisioning completed in hours instead of weeks.

Enterprise-grade Data Protection

Multipathing, snapshots, encryption, and SDS reliability features.

High Performance for Stateful Workloads

SDS Block provides predictable I/O behavior ideal for PostgreSQL.

Repeatable and Version-controlled

Every environment (dev, QA, prod) is deployed exactly the same way.

Unified Operations

Centralized automation for AWS, ROSA, SDS Block, and Kubernetes storage.

 

Network Architecture (Single-AZ Example)

The deployment uses:

Subnet

Purpose

Control subnet

SDS control-plane

Internode subnet

SDS replication traffic

Compute subnet

SDS Compute node

ROSA worker subnet

Worker nodes + PostgreSQL pods

Validation Highlights

Once deployment completes:

PVC successfully binds to an SDS-backed PV

PostgreSQL pod transitions to Running

iSCSI sessions appear on worker nodes

SDS Block events confirm:

  • Pool expansion
  • Volume creation
  • Volume server connection
  • Successful LUN attachment

When to Use This Architecture

This automated solution is ideal for:

  • Cloud-native modernization projects
  • Any team running databases on ROSA
  • Enterprises requiring automated storage provisioning
  • Consistent environments across multiple AWS regions
  • Hybrid or DR-ready PostgreSQL deployments

 

Conclusion

Fully automating Hitachi VSP One SDS Block with ROSA using Terraform and Ansible gives organizations a reliable, repeatable, production-ready foundation for running PostgreSQL and other stateful workloads in AWS.
This approach removes manual complexity, accelerates deployment, and provides enterprise-class data services backed by Hitachi’s SDS platform.

If you are evaluating stateful workloads on ROSA or looking to standardize IaC methodologies across teams, this solution provides a ready blueprint.


#VSPOneSDSBlock
0 comments
3 views

Permalink