EDB's private container registries v1
The images for the EDB Postgres Distributed for Kubernetes and EDB Postgres for
Kubernetes operators, as well as various operands, are kept in private
container image registries under docker.enterprisedb.com
.
Important
Access to the private registries requires an account with EDB and is reserved for EDB customers with a valid subscription plan. Credentials are run through your EDB account. For trials, see Trials.
Which repository to choose?
EDB Postgres Distributed for Kubernetes is available as part of the Extreme High Availability Add-On on top of either the EDB Enterprise Plan or EDB Standard Plan.
Depending on your subscription plan, EDB Postgres Distributed for Kubernetes is in one of the following repositories.
Plan | Repository |
---|---|
EDB Standard Plan (standard) | k8s_standard_pgd |
EDB EnterpriseDB Plan (enterprise) | k8s_enterprise_pgd |
The name of the repository shall be used as the Username when you try to login
to the EDB container registry, for example through docker login
or a
kubernetes.io/dockerconfigjson
pull secret.
Important
Each repository contains all the images you can access with your plan. You don't need to connect to different repositories to access different images, such as operator or operand images.
How to retrieve the token
In the repositories page in EDB,
you'll find an EDB Repos 2.0 section where a Repo Token
is shown, obscured.
The same token is also available in your
Account profile, labeled
as Repos 2.0 token
.
Next to the token you'll find a button to copy the token, and an eye icon in case you want to view the content of the token as clear text. The token shall be used as the Password when you try to access the EDB container registry.
Example with docker login
You can log in using Docker from your terminal. We suggest that you
copy the repo token using Copy Token. The docker
command prompts you for a username and a password.
The username is the repo you're trying to access, and the password is the token you just copied:
Trials
If you're a trialist or a preview user, use k8s_enterprise_pgd
as the name
of the repository, and follow the instructions in
How to retrieve the token for the token.
Operand images
Operand distributions
EDB Postgres Distributed for Kubernetes is an operator that supports running EDB Postgres Distributed (PGD) version 5 on three PostgreSQL distributions:
- PostgreSQL
- EDB Postgres Advanced Server (EPAS)
- EDB Postgres Extended (PGE)
Important
See Choosing a Postgres distribution in the PGD documentation for details and a comparison of PGD on the different supported PostgreSQL distributions.
Due to the immutable application container adoption in EDB operators, the operator expects the container images to include all the binaries required to run the requested version of PGD on top of the required distribution and version of Postgres.
These images follow the requirements and the conventions described in
Container image requirements
in the EDB Postgres for Kubernetes documentation, adding the bdr5
extension.
The table shows the image name prefix for each Postgres distribution.
Postgres distribution | Versions | Image name | Repositories |
---|---|---|---|
PostgreSQL | 13 - 17 | postgresql-pgd | k8s_standard_pgd , k8s_enterprise_pgd |
EDB Postgres Extended | 13 - 17 | edb-postgres-extended-pgd | k8s_standard_pgd , k8s_enterprise_pgd |
EDB Postgres Advanced | 13 - 17 | edb-postgres-advanced-pgd | k8s_enterprise_pgd |
Identifying image names
You can select a specific operand and proxy image version that's appropriate for your Postgres distribution.
Operand image name
The operand image name is composed of the Postgres distribution, EDB Postgres Distributed key word, their version numbers, and the build version.
Postgres type: The first part of the image name is the Postgres distribution you're using. The table shows how Postgres types correspond to this part of the image name.
Postgres distribution | Image name |
---|---|
EDB Postgres Advanced Server | edb-postgres-advanced |
EDB Postgres Extended Server | edb-postgres-extended |
PostgreSQL | postgresql |
EDB Postgres Distributed: For all environment configurations, pgd
is the
next part of the image name.
Version numbers: The versions of the Postgres distribution and PGD extension, separated by a dash, are next in the image name.
Build version: The value reflects the current build, for example, 1. EDB creates new builds to include security patches.
These identifiers, together with their versions, form the operand image name. The table shows some examples.
Postgres version | EDB Postgres Distributed version | Build | Operand image name |
---|---|---|---|
EDB Postgres Advanced 16.6.0 | PGD 5.6.1 | 1 | edb-postgres-advanced-pgd:16.6.0-5.6.1-1 |
EDB Postgres Extended 15.10 | PGD 5.6.1 | 1 | edb-postgres-extended-pgd:15.10-5.6.1-1 |
PostgreSQL 16.6 | PGD 5.6.1 | 1 | postgresql-pgd:16.6-5.6.1-1 |
Postgres version format
For PostgreSQL and EDB Extended Server images, the Postgres version is in x.y
format,
for example, 15.6. For EDB Postgres Advanced Server, the Postgres version is in x.y.z
format, for example, 15.6.2.
For an overview of Postgres compatibility, see Platform compatibility.
Proxy image name
The proxy image name and version derive from EDB Postgres Distributed. See the EDB Postgres Distributed release notes for an overview of PGD versions and corresponding PGD proxy versions. The table shows an example.
Proxy version | Proxy image name |
---|---|
PGD Proxy 5.6.0 | edb-pgd-proxy:5.6.0 |
ubi-9 operand image
By default, all operand and proxy image are ubi-8 based, if you want to have ubi-9
based image, append the -ubi9
suffix to the operand image name and proxy image name.
Customize Operand Distribution or Version
Customize During Operator Deployment
When deploying the EDB Postgres Distributed for Kubernetes operator, you can specify the distribution and version of the operand and proxy images. This configuration will be applied to all subsequent PGDGroup creations.
Use the following Helm chart command to deploy the EDB Postgres Distributed for Kubernetes operator
with customized operand and proxy names. Please note that all operand and operator images will be
pulled from the same private repository defined by global.repository
. For more information,
visit the Helm chart page.
Note
With the above installation, the default operand and proxy image are configured in
the operator's ConfigMap pgd-operator-controller-manager-config
. For more information,
please refer to the Operator Configuration.
Here’s an example of the customization for:
- Using
enterprise
subscription plan and pull images from thek8s_enterprise_pgd
repository. - Use EDB Postgres Advanced Server 15.10.0 as the Postgres option.
- Use PGD 5.6.1 as the Postgres Distributed version.
- Use 5.6.0 as the PGD Proxy version.
Customize for single PGDGroup
You can also customize operand and proxy image for a single PGDGroup deployment. In this case, it's necessary to create the image pull secrets in the target namespace. If you've already installed the EDB Postgres Distributed for Kubernetes operator from the private registry, you should have set up an image pull secret.
As mentioned earlier, the docker-username
corresponds to your registry name, such as
k8s_standard_pgd
or k8s_enterprise_pgd
, while the docker-password
is the token
obtained from the EDB portal.
After creating your pull secret, ensure you set the imagePullSecrets
field
in the PGD group manifest, along with the imageName
. The manifest below will create
a PGD group running PG Extended from the k8s_enterprise_pgd
repository.