How to configure a cluster to use a docker registry

Page Navigation:

Page Navigation:

 

 


Confidence Level TBD  This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it.

Confidence Level TBD  This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it.

 

Jira ticket:(see https://hysds-core.atlassian.net/browse/HC-26)

Introduction

This guide will teach you how to setup and configure your HySDS cluster to use a docker registry and S3 storage backend to host the cluster's docker images.

The following AWS architecture diagram provides an overview of the concept of the PAL (Processing Algorithm Library). The PAL is essentially a storage location that stores the container images needed by compute workers (verdi) when executing HySDS jobs. Each worker downloads the container image prior to executing the HySDS job.

The following diagram details the default mechanisms by which container images are stored in the PAL (by the CI/CD subsystem) and loaded from the PAL (by the compute worker subsystem). Note that docker images are exported to tarballs and stored in the PAL as normal objects (files). As a result, there is overhead in the cluster's handling of docker images since operations involving importing and exporting of docker images involves compression or extraction of all layers of a particular image.  

With the advent of the container registry feature of HySDS, the CI/CD and compute worker subsystems (verdi) can operate much more efficiently by utilizing the native layering capabilities of the docker daemon. The following diagram details the registry-backed mechanisms by which container images are stored in the PAL (by the CI/CD subsystem) and loaded from the PAL (by the compute worker subsystem).

With this feature enabled, the cluster's handling of docker images is optimized in that only image layers that are needed are transferred. Additionally, the worker processes on verdi will always pull the latest version of a particular container and tag from the registry. This is especially useful on development clusters where you would have to delete the cached docker image on the test worker prior to running a test job.

Requirements

Setup

  1. After setup and configuration of your HySDS cluster, ensure that the docker registry image was published to your code bucket:



  2. Log into your mozart instance.

  3. Update the ~/.sds/config file. For example, if your code bucket was ops-code-bucket:

    CONTAINER_REGISTRY: localhost:5050 CONTAINER_REGISTRY_BUCKET: ops-code-bucket



  4. Stop the cluster: sds stop all -f

  5. Update the cluster's configuration: sds update all -f -c

  6. Ship out the updated code/config tarballs: sds ship

  7. Start the cluster back up: sds start all -f

 

 




Related Articles:

Related Articles:

Have Questions? Ask a HySDS Developer:

Anyone can join our public Slack channel to learn more about HySDS. JPL employees can join #HySDS-Community

JPLers can also ask HySDS questions at Stack Overflow Enterprise

Search HySDS Wiki

Page Information:

Page Information:

Was this page useful?

Yes No

Contribution History:

No contributors found for: authors on selected page(s)

Subject Matter Expert:

@Gerald Manipon

@Alexander Torres

Find an Error?

Is this document outdated or inaccurate? Please contact the assigned Page Maintainer:

@Gerald Manipon



Note: JPL employees can also get answers to HySDS questions at Stack Overflow Enterprise: