Astronomer Software requires a Docker Registry to store the Docker Images generated every time a user pushes code or makes a configuration change to an Airflow Deployment on Astronomer.
The default storage backend for this Docker Registry is a Kubernetes Persistent Volume. While this may be sufficient for teams just getting started on Astronomer, Astronomer recommends backing the registry with an external storage solution for any team running in production.
The following are the registry backend tools supported by Astronomer:
If you’re running Astronomer Software on Google Cloud Platform (GCP) Google Kubernetes Engine (GKE), Astronomer recommends using Google Cloud Storage (GCS) as a registry backend solution.
To use GCS as a registry backend solution, you’ll need:
Download your GCP service account JSON key from the Google Console. Make sure the service account you use has both the Storage Legacy Bucket Owner and Storage Object Admin roles.
Create a Kubernetes Secret using the downloaded key:
Example:
If you’re running Astronomer Software on the Amazon Elastic Kubernetes Service (EKS), Astronomer recommends using AWS S3 as a registry backend solution.
To use AWS S3 as a registry backend solution, you’ll need:
S3_BUCKET_NAME with your own S3 bucket’s name:Create a new IAM User and attach the Policy. Your access key and secret key are generated and displayed after you create the user.
Create Kubernetes secrets for your key credentials in your Astronomer installation:
Select one of the following options:
values.yaml file:values.yaml file:Create a key in AWS Key Management Service (KMS). During the key creation process you’ll be asked to add “key users”. Add the user created above as a “key user”.
Create Kubernetes secrets for your key credentials:
Add the following values to your values.yaml file to enable encryption:
To avoid hardcoding credentials for your registry backend, add the following configuration to your values.yaml file:
Then, push the configuration change to your platform. See Apply a config change.
If you’re running Astronomer Software on Azure Kubernetes Service (AKS), Astronomer recommends using Azure Blob Storage as a registry backend solution.
To use Azure Blog Storage as a registry backend solution, you’ll need:
Create Kubernetes secrets for your key credentials:
Add the following to your values.yaml file:
If you use Software version 0.37.2 and have to force push images to use Registry V3 with Azure blob storage, you can rollback to Registry V2 to resolve the issue with the following configurations in your values.yaml file.
Houston registry configuration:
Images registry configuration: