Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

  • Hyrax Containers

  • Kubernetes (k8s)

    • Many Containers, there is a need to configure these into a set of services which can interface/communicate

    • Typically, the architecture is oriented towards running one (or a limited number of processes) per container

      • Hence, a Rails application runs in one container, a key/value store in another container, Solr in another container…

    • This is similar to Docker Compose, but at a much larger scale, with an extensive API for clients to query or update

      • API provides users to declare and set the state of the entire system of Containers

  • Helm Charts for Hyrax

    • https://helm.sh/docs/topics/charts/#helm

      • Package manager for k8s

        • Essentially, k8s will take a set of YAML files to define the state of the cluster of the containers

        • As such, Helm provides a templating language/domain-specific language (with variables) for describing the state of the container cluster

          • The actual application code within the container, then, can be set

          • (e. g. setting the version of Solr, or certain customizations, etc.)

          • A repeatable pattern for deploying many Hyrax applications

  • Container Registries

    • Open Container Initiative (OCI) artifact registry

      • Artifacts can be container images, but also, other binaries (e. g. software binaries)

      • Providing authentication is supported

        • UCSB and UCSD have had experience sharing a registry

      • Helm charts permit one to define the images deployed, the ports exposed, and the network topology (to some extent)

      • k8s itself manages the pulling of the container images and manages the resources used to provision the container

        • Hence, k8s needs to be able to access the credentials required to query and pull the container registry

      • Registry can serve as a repository for other artifacts, including Helm Charts

        • This is experimentally supported at the moment

        • With a generalized registry, there can also be Ruby Gems, etc.

        • GitHub is taking this approach

    • GitHub Packages

...