VoltDB Kubernetes Administrator's Guide

Documentation

VoltDB Home » Documentation » VoltDB Kubernetes Administrator's Guide

VoltDB Kubernetes Administrator's Guide

V11.1

The text and illustrations in this document are licensed under the terms of the GNU Affero General Public License Version 3 as published by the Free Software Foundation. See the GNU Affero General Public License (http://www.gnu.org/licenses/) for more details.

Many of the core VoltDB database features described herein are part of the VoltDB Community Edition, which is licensed under the GNU Affero Public License 3 as published by the Free Software Foundation. Other features are specific to the VoltDB Enterprise Edition and VoltDB Pro, which are distributed by VoltDB, Inc. under a commercial license.

The VoltDB client libraries, for accessing VoltDB databases programmatically, are licensed separately under the MIT license.

Your rights to access and use VoltDB features described herein are defined by the license you received when you acquired the software.

VoltDB is a trademark of VoltDB, Inc.

VoltDB software is protected by U.S. Patent Nos. 9,600,514, 9,639,571, 10,067,999, 10,176,240, and 10,268,707. Other patents pending.

Abstract

This book explains how to create and manage VoltDB database clusters using Kubernetes.


Table of Contents

Preface
1. Structure of This Book
2. Related Documents
1. Introduction
1.1. Overview: Running VoltDB in Kubernetes
1.2. Setting Up Your Kubernetes Environment
1.2.1. Product Requirements
1.2.2. Configuring the Host Environment and Accounts
1.2.3. Configuring the Client
1.2.4. Granting Kubernetes Access to the Docker Repository
2. Configuring the VoltDB Database Cluster
2.1. Using Helm Properties
2.2. Configuring the Cluster and Database
2.2.1. Configuring the Cluster
2.2.2. Configuring the Database
3. Managing VoltDB Databases in Kubernetes
3.1. Managing the Cluster Using the kubctl and helm
3.2. Managing the Database Using voltadmin and sqlcmd
3.2.1. Accessing the Database Interactively
3.2.2. Accessing the Database Programmatically
4. Starting and Stopping the Database
4.1. Starting the Cluster for the First Time
4.2. Stopping and Restarting the Cluster
4.3. Resizing the Cluster with Elastic Scaling
4.4. Pausing and Resuming the Cluster
5. Updates and Upgrades
5.1. Updating the Database Schema
5.2. Updating the Database Configuration
5.2.1. Changing Database Properties on the Running Database
5.2.2. Changing Database Properties That Require a Restart
5.2.3. Changing Cluster Properties
5.3. Upgrading the VoltDB Software and Helm Charts
5.3.1. Updating Your Helm Repository
5.3.2. Updating the Custom Resource Definition (CRD)
5.3.3. Upgrading the VoltDB Operator and Software
5.3.4. Updating VoltDB for XDCR Clusters
6. Database Replication in Kubernetes
6.1. Configuring the Network Mesh
6.2. Configuring XDCR Clusters
6.3. Using Load Balancers to Make XDCR Clusters Accessible Externally
6.4. Starting XDCR Clusters
6.5. Managing XDCR Clusters
6.5.1. Removing a Cluster Temporarily
6.5.2. Removing a Cluster Permanently
6.5.3. Resetting XDCR When a Cluster Leaves Unexpectedly
6.5.4. Rejoining an XDCR Cluster That Was Previously Removed
A. VoltDB Helm Properties
A.1. How to Use the Properties
A.2. Top-Level Kubernetes Options
A.3. Kubernetes Cluster Startup Options
A.4. Network Options
A.5. VoltDB Database Startup Options
A.6. VoltDB Database Configuration Options

List of Figures

1.1. Kubernetes/VoltDB Architecture