Cloud to Ground AND Ground to Cloud with AWS EKS, OpenShift and Dell Technologies PowerFlex Software Defined storage.

Ambar Hassani
3 min readMar 18, 2024

Multi and Hybrid cloud’s success often depends on the strength of a well-developed data-first strategy and its execution. Especially so, when customers are exploring the use of multiple platforms, providers in their overall cloud strategy. In that stride, this blog aims to showcase yet another example of how Dell’s PowerFlex Software Defined storage can be a unique force multiplier to render cross-cloud, cross-platform data planes for performance hungry workloads. In my previous blog, we had built a similar showcase with EKS and EKS-Anywhere.

However, based on popular demand, I was asked to demo and document a data plane integration between EKS running in AWS and an OpenShift cluster that could be on-premises or co-located.

Also recall or visit the previous blog, where we call out the prowess of PowerFlex from a performance standpoint which makes it an ultimate software defined storage both on-premises and in the cloud.

So here we are, jiving with a practical demonstration of what is phrased as Cloud to Ground OR Ground to Cloud and the below visual articulates the demo context.

Demo context for Cloud-to-Ground and Ground-to-Cloud

What are we doing in this demo?

  • We have a MySQL deployment on AWS EKS and persisted over a PowerFlex 4.5 cluster running in AWS as Dell APEX Block on AWS.
  • A peered hybrid data plane is setup with another PowerFlex 4.5 cluster running in Equinix.
  • Within the live demo, we will migrate the MySQL database to an OpenShift Cluster that is configured with its persistence layer being served by the Equinix hosted PowerFlex 4.5 cluster.
  • And lastly, we will migrate back the MySQL database from OpenShift to AWS EKS after making some changes to DB data set

The entire demo and practicalities can be experienced through the below video which is a live capture of moving persistent workloads from cloud to ground and reverse, i.e. ground to cloud.

Sample template used in this demo are provided below. Be sure to replace the storage-class name and volume ID while recreating a similar scenario.

---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
namespace: demo
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: storage-class-name
volumeMode: Filesystem
csi:
driver: csi-vxflexos.dellemc.com
volumeHandle: volume-id
fsType: ext4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim
namespace: demo
labels:
name: mysql-pv-claim
csi: csi-vxflexos.dellemc.com
spec:
volumeName: mysql-pv
storageClassName: storage-class-name
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
---
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: demo
spec:
ports:
- port: 3306
selector:
app: mysql
clusterIP: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: demo
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
env:
# Use secret in real usage
- name: MYSQL_ROOT_PASSWORD
value: fake_password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim

Hope one is able to visualize the possibilities by extrapolating and evangelizing opportunities in their own multi-cloud cloud-native journey!

cheers,

Ambar@thecloudgarage

#iwork4dell

--

--

Ambar Hassani

24+ years of blended experience of technology & people leadership, startup management and disruptive acceleration/adoption of next-gen technologies