Container deployment overview

As of SD Elements 2024.2, the container deployment is the only deployment model offered for self managed instances of SD Elements.

This section applies to self managed SD Elements customers who:

  • Maintain an existing container instance

  • Wish to deploy a new container instance

  • Are migrating from a VM instance

Details on migrating your VM instance to containers can be found in the Container Migration Guide.

Introduction

There are a wide variety of container orchestration platforms and software. SD Elements is deployed on a platform that supports or uses Kubernetes, with Helm as the tool for packaging and installation. A successful deployment of the containerized version of SD Elements will require the following:

  • acquiring an SD Elements service account to access the Helm charts for SD Elements deployment

  • at least a general understanding of the Kubernetes platform on which SD Elements is to be deployed (Microsoft Azure, AWS EKS, a custom in-house Kubernetes deployment, etc.)

  • familiarity with Kubernetes concepts and troubleshooting, including pods, persistent volume claims, and services

  • an ability to configure storage solutions that meet SD Elements requirements, and an understanding of implications for their use in your environment (performance, cost, management, and redundancy)

  • an ability to configure the method by which requests from external clients will reach SD Elements, for example via ingress controllers or load balancers

Full deployment, up to and including making SD Elements available to end users, will include:

  • preparing to use Helm for deployment installation, which could involve installing Helm or confirming version support

  • understanding the SD Elements requirements

  • matching the requirements to the target deployment environment

  • deployment using Helm

  • making SD Elements available to external clients by exposing its web deployment, through either a load balancer or an ingress controller, using the method suited for your environment

Skillset

Deployment Environment Kubernetes Platform & Environment
  • General understanding of the cloud provider to which SD Elements will be deployed, including but not limited to:

    • Compute (e.g., AWS EC2)

    • Container Orchestration (e.g., AWS EKS)

    • Storage (e.g., AWS EBS, AWS S3)

    • Networking (e.g., AWS Security Groups)

    • Access management (e.g., AWS IAM)

  • General understanding of the Kubernetes cluster to which SD Elements will be deployed, including but not limited to:

    • Cluster RBAC configuration

    • SSL termination

    • Certificate management for the SD Elements web interface and required integrations

    • Backup and disaster recovery policies

    • Monitoring and observability tooling and configuration

  • Working knowledge of Kubernetes

  • Kubernetes resources and how they relate to and depend on each other (e.g., Deployment → ReplicaSet → Pod).

    • While direct experience with the specific Kubernetes distribution is ideal, experience with Docker or any container orchestrator is still beneficial.

  • Working knowledge of the target Kubernetes distribution (e.g. AWS EKS), the command line tool, kubectl, and any distribution-specific tooling such as Openshift oc.

  • Working knowledge of Helm, a Kubernetes package manager.

  • Installing and upgrading a Helm chart

  • Using value overlay files to selectively override default configurations.

  • If SD Elements will be deployed to a provider other than AWS, conceptual understanding of MinIO.

  • General understanding of Kubernetes’ architecture and concepts (e.g., control plane, Kubelet, worker nodes, pod scheduling).

First steps

To get started, ensure you have a SD Elements service account and familiarize yourself with SD Elements requirements.

If you simply want to test the functionality on a single host or virtual machine, instructions are available for deploying a test instance on a virtual machine.

results matching ""

    No results matching ""