Chapter 7. Red Hat Quay sizing and subscriptions

Scalability of Red Hat Quay is one of its key strengths, with a single code base supporting a broad spectrum of deployment sizes, including the following:

  • Proof of Concept deployment on a single development machine
  • Mid-size deployment of approximately 2,000 users that can serve content to dozens of Kubernetes clusters
  • High-end deployment such as Quay.io that can serve thousands of Kubernetes clusters world-wide

Since sizing heavily depends on a multitude of factors, such as the number of users, images, concurrent pulls and pushes, there are no standard sizing recommendations.

The following are the minimum requirements for systems running Red Hat Quay (per container/pod instance):

  • Quay: minimum 6 GB; recommended 8 GB, 2 more more vCPUs
  • Clair: recommended 2 GB RAM and 2 or more vCPUs
  • Storage:: recommended 30 GB
  • NooBaa: minimum 2 GB, 1 vCPU (when objectstorage component is selected by the Operator)
  • Clair database: minimum 5 GB required for security metadata

Stateless components of Red Hat Quay can be scaled out, but this will cause a heavier load on stateful backend services.

7.1. Red Hat Quay sample sizings

The following table shows approximate sizing for Proof of Concept, mid-size, and high-end deployments. Whether a deployment runs appropriately with the same metrics depends on many factors not shown below.

MetricProof of conceptMid-sizeHigh End
(Quay.io)

No. of Quay containers by default

1

4

15

No. of Quay containers max at scale-out

N/A

8

30

No. of Clair containers by default

1

3

10

No. of Clair containers max at scale-out

N/A

6

15

No. of mirroring pods (to mirror 100 repositories)

1

5-10

N/A

Database sizing

2 -4 Cores
6-8 GB RAM
10-20 GB disk

4-8 Cores
6-32 GB RAM
100 GB - 1 TB disk

32 cores
244 GB
1+ TB disk

Object storage backend sizing

10-100 GB

1 - 20 TB

50+ TB up to PB

Redis cache sizing

 

2 Cores
2-4 GB RAM

4 cores
28 GB RAM

Underlying node sizing
(physical or virtual)

4 Cores
8 GB RAM

4-6 Cores
12-16 GB RAM

Quay:
13 cores
56GB RAM

Clair:
2 cores
4 GB RAM

For further details on sizing & related recommendations for mirroring, see the section on repository mirroring.

The sizing for the Redis cache is only relevant if you use Quay builders, otherwise it is not significant.

7.2. Red Hat Quay subscription information

Red Hat Quay is available with Standard or Premium support, and subscriptions are based on deployments.

Note

Deployment means an installation of a single Red Hat Quay registry using a shared data backend.

With a Red Hat Quay subscription, the following options are available:

  • There is no limit on the number of pods, such as Quay, Clair, Builder, and so on, that you can deploy.
  • Red Hat Quay pods can run in multiple data centers or availability zones.
  • Storage and database backends can be deployed across multiple data centers or availability zones, but only as a single, shared storage backend and single, shared database backend.
  • Red Hat Quay can manage content for an unlimited number of clusters or standalone servers.
  • Clients can access the Red Hat Quay deployment regardless of their physical location.
  • You can deploy Red Hat Quay on OpenShift Container Platform infrastructure nodes to minimize subscription requirements.
  • You can run the Container Security Operator (CSO) and the Quay Bridge Operator (QBO) on your OpenShift Container Platform clusters at no additional cost.
Note

Red Hat Quay geo-replication requires a subscription for each storage replication. The database, however, is shared.

For more information about purchasing a Red Hat Quay subscription, see Red Hat Quay.

7.3. Using Red Hat Quay with or without internal registry

Red Hat Quay can be used as an external registry in front of multiple OpenShift Container Platform clusters with their internal registries.

Red Hat Quay can also be used in place of the internal registry when it comes to automating builds and deployment rollouts. The required coordination of Secrets and ImageStreams is automated by the Quay Bridge Operator, which can be launched from the OperatorHub for OpenShift Container Platform.