Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Dell ObjectScale 1.3 Administration Guide

ObjectScale and Kubernetes

Dell ObjectScale is an object storage software of management services that contains everything that it must deploy to consume Dell object storage. ObjectScale is deployed in a Kubernetes cluster allowing Kubernetes to handle the necessary orchestration.

ObjectScale supports deployment as a preconfigured Appliance (ObjectScale XF960), an application within a Red Hat OpenShift cluster environment, or as a software bundle (ObjectScale Software Bundle). You can deploy the ObjectScale Software Bundle on a cluster that is configured with a supported Operating System. The ObjectScale Software Bundle includes ObjectScale and the necessary Kubernetes and platform management components.

One ObjectScale instance with one object store in Non-Volatile Memory express (NVMe) is deployed per Kubernetes cluster.

Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management. A Kubernetes cluster consists of physical or virtual nodes. Each Kubernetes node runs a process that is named kubelet. ObjectScale is built on Kubernetes clusters using physical server infrastructure.

In ObjectScale, Kubernetes provides the connective glue between physical infrastructure, such as disk and network, and the application services running in containers. ObjectScale leverages the efficient resource management capabilities of Kubernetes and relies on it to handle operating system and hardware interaction.

ObjectScale Kubernetes components

ObjectScale includes these software components:

  1. ObjectScale Manager—Installs and manages the custom ObjectScale resources.
  2. Dell EMC Common Kubernetes Services (DECKS)—DECKS is a suite of tools that performs log collection and gathers telemetry information about ObjectScale licensed resource usage. The Dell SupportAssist Embedded Support Enabler (ESE) is part of DECKS.
  3. Kubernetes Application Health Management (KAHM)—KAHM handles event persistence management, notifications, and complex event routing rules.
  4. User Interfaces:
    • ObjectScale Portal user interface
    • Grafana, with preconfigured dashboards for monitoring the ObjectScale instance
    • Kubectl plug-in at CLI
    • Helm binary at CLI
    • ObjectScale and object store management APIs

Operators and ObjectScale

Kubernetes has a concept that is called an Operator. An Operator is an application-specific controller and contains all the operational considerations of an application. Operator resources are defined in YAML files as Kubernetes Custom Resource Definitions (CRD). Custom resources define actions available to users of the Operator. Kubernetes manages custom resources like it manages its own integrated resources.

The ObjectScale Operator is a custom resource that creates object stores. The ObjectScale Operator connects object stores to the management services, and orchestrates operations, such as upgrades and deletions.

The ZooKeeper operator is a custom resource that manages all the ZooKeeper clusters for ObjectScale.

The Atlas operator is a custom resource that:

  • Provides Atlas services to implement a new key-value store
  • Provides stability, predictability, and efficiency for per-operation overhead (key-value operations), system operation overhead (node replacement), and overall CPU and memory use

Other Kubernetes resources to know

Here is a list of additional common Kubernetes resources for administrators of ObjectScale:

  • Annotations are key-value maps that attach arbitrary nonidentifying metadata to objects such as Pods. Tools and libraries use annotations.
  • Labels are key-value pairs that are attached to objects. Labels are used to organize and to select subsets of objects.
  • Pods are a unit of application running in Kubernetes. Each pod consists of one or more containers. A set of pods makes up a Kubernetes application. ObjectScale deploys multiple types of pods for each object store.
  • A Deployment provides declarative updates for Pods and ReplicaSets. A deployment describes a wanted state. The deployment controller tracks and maintains the actual state to the wanted state.
  • A ReplicaSet is a deployment model available in Kubernetes. A ReplicaSet is one or more of a single type of pod. ReplicaSets are used to guarantee the availability of the service they provide. An example of a ReplicaSet used in ObjectScale is GraphQL. The number of replicas in a set may be adjusted as required.
  • A StatefulSet is a deployment model in Kubernetes. StatefulSets are used for deploying stateful applications. StatefulSets manage the deployment and scaling of a set of Pods and provide guarantees about the ordering and uniqueness of these Pods. StatefulSets maintain a sticky identity to a Kubernetes node for each pod in the set.
  • A Service is an abstract way to expose an application running on a set of Pods as a network service. Networking services are provided for Kubernetes environments that allow for ingress, egress, and load balancing of traffic in and out of the Kubernetes environment. Services provide Client connectivity to ObjectScale.
  • A PersistentVolume (PV) is storage that is provisioned on available storage.
  • A PersistentVolumeClaim (PVC) is a request for PV resources. PVCs request and consume specific size and access modes. A PVC, or claim for short, is bound to a persistent volume. Persistent Volumes and associated provisioned virtual disks are deleted at PVC deletion. Pod creation and destruction have no effect on PVC or PV.

Rate this content

Accurate
Useful
Easy to understand
Was this article helpful?
0/3000 characters
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please select whether the article was helpful or not.
  Comments cannot contain these special characters: <>()\