Meta tags:
description= Oxia: Scalable Metadata and Index storage;
Headings (most frequently used words):
serviceaccount, service, servicemonitor, kubernetes, resources, prerequisites, coordinator, server, resource, relationships, docker, registry, secret, storage, class, prometheus, operator, role, rolebinding, configmap, deployment, statefulset, config, status,
Text of the page (most frequently used words):
the (49), this (20), oxia (12), #kubernetes (12), #coordinator (12), and (10), service (10), serviceaccount (7), operator (6), metrics (6), pod (6), resources (6), architecture (6), prometheus (5), server (5), cluster (5), configuration (5), image (5), deployment (5), role (5), storage (5), secret (5), for (4), servicemonitor (4), runs (4), contains (4), allow (4), container (4), api (4), protocol (4), keys (4), bare (3), metal (3), helm (3), resource (3), servers (3), dns (3), client (3), with (3), account (3), mounted (3), that (3), pods (3), pull (3), imagepullsecrets (3), configmap (3), status (3), operations (3), class (3), registry (3), need (3), tokens (3), documentation (3), 2026 (2), use (2), policies (2), updated (2), relationships (2), optional (2), instructs (2), scrape (2), exposes (2), rpc (2), endpoints (2), network (2), which (2), have (2), will (2), name (2), left (2), user (2), statefulset (2), has (2), file (2), all (2), config (2), configmaps (2), rolebinding (2), perform (2), against (2), store (2), metadata (2), also (2), are (2), create (2), expire (2), docker (2), prerequisites (2), page (2), light (2), benchmarks (2), replication (2), consensus (2), maelstrom (2), tla (2), safety (2), correctness (2), physical (2), logical (2), design (2), goals (2), grpc (2), schema (2), cli (2), reference (2), admin (2), security (2), rust (2), python (2), node (2), java (2), sdks (2), versioning (2), sequence (2), secondary (2), indexes (2), partition (2), key (2), sorting (2), notifications (2), namespaces (2), ephemerals (2), consistency (2), model (2), features (2), migrating (2), from (2), etcd (2), getting (2), started (2), what (2), blog (2), ctrl (2), copyright, 2023, series, projects, llc, website, terms, trademark, policy, other, project, please, see, https, lfprojects, org, last, july, allows, each, its, own, entry, can, bootstrap, however, there, load, balancer, randomize, returned, should, taken, into, when, considering, caching, ordinal, headless, containers, they, disk, using, configurable, not, specified, default, storageclass, storageclassname, standard, clusterip, single, replica, above, created, periodically, used, recover, state, restarts, list, public, internal, bind, addresses, yaml, initialshardcount, replicationfactor, two, binds, permissions, allowed, namely, interacting, bound, necessary, servicemonitors, enabled, then, must, installed, require, configured, supports, dynamically, fetch, credentials, method, would, eliminate, provide, serviceaccounts, kubelet, credential, provider, manage, typically, authentication, short, lived, example, aws, ecr, after, hours, therefore, contained, regularly, rotated, able, authenticate, registries, images, case, needs, retrieved, controller, scroll, top, edit, github, question, give, feedback, coordination, system, skip, content,
Text of the page (random words):
kubernetes resources oxia skip to content oxia metadata store and coordination system documentation blog ctrl k ctrl k documentation what is oxia getting started migrating from zk etcd features consistency model ephemerals namespaces notifications key sorting partition keys secondary indexes sequence keys versioning client sdks go java node js python rust deployment kubernetes helm resources bare metal security admin operations reference cli configuration schema grpc api metrics architecture design goals logical architecture physical architecture correctness protocol safety tla maelstrom consensus coordinator oxia replication protocol storage benchmarks blog light what is oxia getting started migrating from zk etcd features consistency model ephemerals namespaces notifications key sorting partition keys secondary indexes sequence keys versioning client sdks go java node js python rust deployment kubernetes helm resources bare metal security admin operations reference cli configuration schema grpc api metrics architecture design goals logical architecture physical architecture correctness protocol safety tla maelstrom consensus coordinator oxia replication protocol storage benchmarks light on this page prerequisites docker registry secret storage class prometheus operator coordinator serviceaccount role rolebinding configmap config status deployment service servicemonitor server serviceaccount statefulset service servicemonitor resource relationships question give us feedback edit this page on github scroll to top documentation deployment kubernetes resources kubernetes resources prerequisites docker registry secret pods need to be able to authenticate with image registries to pull images in this case the oxia image needs to be retrieved for the operator controller cluster coordinator or server typically the authentication tokens are short lived and expire for example aws ecr tokens expire after 12 hours therefore the tokens contained by the secret need to be regularly rotated this secret is left to the user to create and manage kubernetes also supports kubelet credential provider to dynamically fetch registry credentials for a container image the method would eliminate the need to create a secret and provide imagepullsecrets to pods or serviceaccounts storage class the oxia servers require a storage class to be configured prometheus operator if servicemonitors are enabled then the prometheus operator must be installed coordinator serviceaccount this is the serviceaccount account that the coordinator pod runs as it contains the imagepullsecrets to allow the pod to pull the oxia image it is also bound to a role to allow it to perform necessary operations against the kubernetes api role this role contains all the permissions that the coordinator is allowed to perform against the kubernetes api namely interacting with configmaps to allow it to store cluster status metadata rolebinding this binds the role to the serviceaccount configmap the coordinator has two configmaps config this contains the cluster configuration replicationfactor initialshardcount and the list of the public and internal bind addresses of all the servers in the cluster it is mounted as a yaml file in the coordinator container status this is created and updated by the coordinator periodically it is used to recover state on restarts deployment this runs the coordinator container it has a single replica the above configmap configuration is mounted as a file in the container service this exposes the coordinator s rpc and metrics endpoints to the kubernetes network this is a standard clusterip service servicemonitor this optional resources instructs the prometheus operator to scrape service s metrics server serviceaccount this is the serviceaccount account that the server pods runs as it contains the imagepullsecrets to allow the pod to pull the oxia image statefulset this runs the server containers they have a disk mounted using the configurable storageclassname if this is not specified it will use the cluster default the storageclass configuration is left to the user service this exposes the servers rpc and metrics endpoints to the kubernetes network this is a headless service which allows each pod to have its own kubernetes dns entry service name pod ordinal the oxia client can bootstrap with service name however there is no load balancer kubernetes dns will randomize which pod ip is returned this should be taken into account when considering dns caching servicemonitor this optional resource instructs the prometheus operator to scrape service s metrics resource relationships last updated on july 13 2026 helm bare metal copyright 2023 2026 oxia a series of lf projects llc for website terms of use trademark policy and other project policies please see https lfprojects org policies
|