<p>You have many, many options. The following all provide an S3-compatible object storage API:</p>
<ul>
<li><p>If you are using OpenShift, you can install <a href="https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation" rel="nofollow noreferrer">OpenShift Data Foundation</a>, which includes the Noobaa object storage service. This provides <code>ObjectBucket</code> and <code>ObjectBucketClaim</code> resources that are analgous to <code>PersistentVolume</code> and <code>PersistentVolumeClaim</code> resources.</p>
</li>
<li><p>You could run <a href="https://min.io/" rel="nofollow noreferrer">MinIO</a>, which can be deployed on Kubernetes via <a href="https://github.com/minio/minio-operator/blob/master/README.md" rel="nofollow noreferrer">an operator</a> or a helm chart.</p>
</li>
<li><p>You can run your own Ceph cluster, which includes the <a href="https://docs.ceph.com/en/quincy/radosgw/index.html" rel="nofollow noreferrer">object gateway</a>.</p>
</li>
<li><p>You could run <a href="https://docs.openstack.org/swift/latest/" rel="nofollow noreferrer">OpenStack Swift</a>.</p>
</li>
</ul>

CC BY-SA 4.0
2022-06-26T19:58:04.873Z
2022-06-26T19:58:04.873Z
larsks
<p>When you are running kubernetes on GKS, AKS, etc, you use your cloud provider specific storage bucket such as Amazon S3, google cloud storage, azure blob storage, to store your raw binary content in a super fast, easy to use manner.</p>
<p>But when you are deploying Kubernetes behind the firewall, you do not have a storage bucket SDK from your cloud provider.</p>
<p>What is the alternative to this when you are using, for example, OpenShift? Do we have to just use persistent volumes?</p>

<kubernetes><amazon-s3><storage><google-cloud-storage>
When OnPrem with Kubernetes, what is the recommended way to do file storage buckets?
Nicholas DiPiazza
# When OnPrem with Kubernetes, what is the recommended way to do file storage buckets?

(Asked by: username_0 on 2022-06-18)

When you are running kubernetes on GKS, AKS, etc, you use your cloud provider specific storage bucket such as Amazon S3, google cloud storage, azure blob storage, to store your raw binary content in a super fast, easy to use manner.

But when you are deploying Kubernetes behind the firewall, you do not have a storage bucket SDK from your cloud provider.

What is the alternative to this when you are using, for example, OpenShift? Do we have to just use persistent volumes?

**Tags:** kubernetes, amazon-s3, storage, google-cloud-storage


---

## 1 answers

### Answer by username_1 on 2022-06-26. Score: 1 | Accepted answer

You have many, many options. The following all provide an S3-compatible object storage API:

* If you are using OpenShift, you can install [OpenShift Data Foundation](https://www.redhat.com/en/technologies/cloud-computing/openshift-data-foundation), which includes the Noobaa object storage service. This provides `ObjectBucket` and `ObjectBucketClaim` resources that are analgous to `PersistentVolume` and `PersistentVolumeClaim` resources.
* You could run [MinIO](https://min.io/), which can be deployed on Kubernetes via [an operator](https://github.com/minio/minio-operator/blob/master/README.md) or a helm chart.
* You can run your own Ceph cluster, which includes the [object gateway](https://docs.ceph.com/en/quincy/radosgw/index.html).
* You could run [OpenStack Swift](https://docs.openstack.org/swift/latest/).


---

