KubeBlocks
Blogs
⌘K
​

Overview

Introduction
Concepts
Kubernetes and Operator 101
Supported addons
About this manual

Try out KubeBlocks with Playground

Try out KubeBlocks on cloud
Try out KubeBlocks on laptop

Installation

Prerequisite for Local Env

Prerequisite for Local Env
Install kbcli
Install KubeBlocks
Install Addons
Uninstall KubeBlocks and kbcli

Upgrade KubeBlocks

Upgrade to v0.8
Upgrade to v0.9.0
Upgrade to v0.9.3
FAQ

Connect Database

Overview
Testing environment
Production environment

Maintenance

Scale

Horizontal Scale
Vertical Scale

Backup and Restore

Introduction

Backup

Configure BackupRepo
Configure BackupPolicy
Scheduled backup
On-demand backup

Restore

Restore from backup set
PITR

In Place Update

Overview on in-place update
Enable in-place update

Resource Scheduling

Configure pod affinity for database clusters

Cross K8s Deployment

Deploy a Cluster across Multiple Kubernetes Clusters by KubeBlocks

Instance Template

Introduction of instance template
Apply instance template

Observability

Monitor database
Configure alert

User Management

Manage user accounts

Handle an Exception

Handle an exception
Full disk lock

Developer

Developer guides
Terminology

Add an add-on to KubeBlocks

Add-ons of KubeBlocks
Add an add-on
Backup and restore
Parameter template
Parameter configuration
Monitoring
Multi-component configuration
Environment variables and placeholders

External Component

Reference external component

API Reference

Cluster
Backup
Add-On

Packages:

  • extensions.kubeblocks.io/v1alpha1

extensions.kubeblocks.io/v1alpha1

Resource Types:
  • Addon

Addon

Addon is the Schema for the add-ons API.

Field Description
`apiVersion`
string
`extensions.kubeblocks.io/v1alpha1`
`kind`
string
`Addon`
`metadata`
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the `metadata` field.
`spec`
AddonSpec


`description`
string
(Optional)

Specifies the description of the add-on.

`type`
AddonType

Defines the type of the add-on. The only valid value is ‘helm’.

`version`
string
(Optional)

Indicates the version of the add-on.

`provider`
string
(Optional)

Specifies the provider of the add-on.

`helm`
HelmTypeInstallSpec
(Optional)

Represents the Helm installation specifications. This is only processed when the type is set to ‘helm’.

`defaultInstallValues`
[]AddonDefaultInstallSpecItem

Specifies the default installation parameters.

`install`
AddonInstallSpec
(Optional)

Defines the installation parameters.

`installable`
InstallableSpec
(Optional)

Represents the installable specifications of the add-on. This includes the selector and auto-install settings.

`cliPlugins`
[]CliPlugin
(Optional)

Specifies the CLI plugin installation specifications.

`status`
AddonStatus

AddonDefaultInstallSpecItem

(Appears on:AddonSpec)

Field Description
`AddonInstallSpec`
AddonInstallSpec

(Members of `AddonInstallSpec` are embedded into this type.)

`selectors`
[]SelectorRequirement
(Optional)

Indicates the default selectors for add-on installations. If multiple selectors are provided, all selectors must evaluate to true.

AddonInstallExtraItem

(Appears on:AddonInstallSpec)

Field Description
`AddonInstallSpecItem`
AddonInstallSpecItem

(Members of `AddonInstallSpecItem` are embedded into this type.)

`name`
string

Specifies the name of the item.

AddonInstallSpec

(Appears on:AddonDefaultInstallSpecItem, AddonSpec)

Field Description
`AddonInstallSpecItem`
AddonInstallSpecItem

(Members of `AddonInstallSpecItem` are embedded into this type.)

`enabled`
bool
(Optional)

Can be set to true if there are no specific installation attributes to be set.

`extras`
[]AddonInstallExtraItem
(Optional)

Specifies the installation specifications for extra items.

AddonInstallSpecItem

(Appears on:AddonInstallExtraItem, AddonInstallSpec)

Field Description
`replicas`
int32
(Optional)

Specifies the number of replicas.

`persistentVolumeEnabled`
bool
(Optional)

Indicates whether the Persistent Volume is enabled or not.

`storageClass`
string
(Optional)

Specifies the name of the storage class.

`tolerations`
string
(Optional)

Specifies the tolerations in a JSON array string format.

`resources`
ResourceRequirements
(Optional)

Specifies the resource requirements.

AddonPhase (`string` alias)

(Appears on:AddonStatus)

AddonPhase defines addon phases.

Value Description

"Disabled"

"Disabling"

"Enabled"

"Enabling"

"Failed"

AddonSelectorKey (`string` alias)

(Appears on:SelectorRequirement)

AddonSelectorKey are selector requirement key types.

Value Description

"KubeGitVersion"

"KubeProvider"

"KubeVersion"

AddonSpec

(Appears on:Addon)

AddonSpec defines the desired state of an add-on.

Field Description
`description`
string
(Optional)

Specifies the description of the add-on.

`type`
AddonType

Defines the type of the add-on. The only valid value is ‘helm’.

`version`
string
(Optional)

Indicates the version of the add-on.

`provider`
string
(Optional)

Specifies the provider of the add-on.

`helm`
HelmTypeInstallSpec
(Optional)

Represents the Helm installation specifications. This is only processed when the type is set to ‘helm’.

`defaultInstallValues`
[]AddonDefaultInstallSpecItem

Specifies the default installation parameters.

`install`
AddonInstallSpec
(Optional)

Defines the installation parameters.

`installable`
InstallableSpec
(Optional)

Represents the installable specifications of the add-on. This includes the selector and auto-install settings.

`cliPlugins`
[]CliPlugin
(Optional)

Specifies the CLI plugin installation specifications.

AddonStatus

(Appears on:Addon)

AddonStatus defines the observed state of an add-on.

Field Description
`phase`
AddonPhase

Defines the current installation phase of the add-on. It can take one of the following values: `Disabled`, `Enabled`, `Failed`, `Enabling`, `Disabling`.

`conditions`
[]Kubernetes meta/v1.Condition
(Optional)

Provides a detailed description of the current state of add-on API installation.

`observedGeneration`
int64
(Optional)

Represents the most recent generation observed for this add-on. It corresponds to the add-on’s generation, which is updated on mutation by the API Server.

AddonType (`string` alias)

(Appears on:AddonSpec)

AddonType defines the addon types.

Value Description

"Helm"

CliPlugin

(Appears on:AddonSpec)

Field Description
`name`
string

Specifies the name of the plugin.

`indexRepository`
string

Defines the index repository of the plugin.

`description`
string
(Optional)

Provides a brief description of the plugin.

DataObjectKeySelector

(Appears on:HelmInstallValues)

Field Description
`name`
string

Defines the name of the object being referred to.

`key`
string

Specifies the key to be selected.

HelmInstallOptions (`map[string]string` alias)

(Appears on:HelmTypeInstallSpec)

HelmInstallValues

(Appears on:HelmTypeInstallSpec)

Field Description
`urls`
[]string
(Optional)

Specifies the URL location of the values file.

`configMapRefs`
[]DataObjectKeySelector
(Optional)

Selects a key from a ConfigMap item list. The value can be a JSON or YAML string content. Use a key name with “.json”, “.yaml”, or “.yml” extension to specify a content type.

`secretRefs`
[]DataObjectKeySelector
(Optional)

Selects a key from a Secrets item list. The value can be a JSON or YAML string content. Use a key name with “.json”, “.yaml”, or “.yml” extension to specify a content type.

`setValues`
[]string
(Optional)

Values set during Helm installation. Multiple or separate values can be specified with commas (key1=val1,key2=val2).

`setJSONValues`
[]string
(Optional)

JSON values set during Helm installation. Multiple or separate values can be specified with commas (key1=jsonval1,key2=jsonval2).

HelmJSONValueMapType

(Appears on:HelmValuesMappingItem)

Field Description
`tolerations`
string
(Optional)

Specifies the toleration mapping key.

HelmTypeInstallSpec

(Appears on:AddonSpec)

HelmTypeInstallSpec defines the Helm installation spec.

Field Description
`chartLocationURL`
string

Specifies the URL location of the Helm Chart.

`installOptions`
HelmInstallOptions
(Optional)

Defines the options for Helm release installation.

`installValues`
HelmInstallValues
(Optional)

Defines the set values for Helm release installation.

`valuesMapping`
HelmValuesMapping
(Optional)

Defines the mapping of add-on normalized resources parameters to Helm values’ keys.

`chartsImage`
string
(Optional)

Defines the image of Helm charts.

`chartsPathInImage`
string
(Optional)

Defines the path of Helm charts in the image. This path is used to copy Helm charts from the image to the shared volume. The default path is “/charts”.

HelmValueMapType

(Appears on:HelmValuesMappingItem)

Field Description
`replicaCount`
string
(Optional)

Defines the key for setting the replica count in the Helm values map.

`persistentVolumeEnabled`
string
(Optional)

Indicates whether the persistent volume is enabled in the Helm values map.

`storageClass`
string
(Optional)

Specifies the key for setting the storage class in the Helm values map.

HelmValuesMapping

(Appears on:HelmTypeInstallSpec)

Field Description
`HelmValuesMappingItem`
HelmValuesMappingItem

(Members of `HelmValuesMappingItem` are embedded into this type.)

`extras`
[]HelmValuesMappingExtraItem
(Optional)

Helm value mapping items for extra items.

HelmValuesMappingExtraItem

(Appears on:HelmValuesMapping)

Field Description
`HelmValuesMappingItem`
HelmValuesMappingItem

(Members of `HelmValuesMappingItem` are embedded into this type.)

`name`
string

Name of the item.

HelmValuesMappingItem

(Appears on:HelmValuesMapping, HelmValuesMappingExtraItem)

Field Description
`valueMap`
HelmValueMapType
(Optional)

Defines the “key” mapping values. Valid keys include `replicaCount`, `persistentVolumeEnabled`, and `storageClass`. Enum values explained:

  • `replicaCount` sets the replicaCount value mapping key.
  • `persistentVolumeEnabled` sets the persistent volume enabled mapping key.
  • `storageClass` sets the storageClass mapping key.
`jsonMap`
HelmJSONValueMapType
(Optional)

Defines the “key” mapping values. The valid key is tolerations. Enum values explained:

  • `tolerations` sets the toleration mapping key.
`resources`
ResourceMappingItem
(Optional)

Sets resources related mapping keys.

InstallableSpec

(Appears on:AddonSpec)

Field Description
`selectors`
[]SelectorRequirement
(Optional)

Specifies the selectors for add-on installation. If multiple selectors are provided, they must all evaluate to true for the add-on to be installed.

`autoInstall`
bool

Indicates whether an add-on should be installed automatically.

LineSelectorOperator (`string` alias)

(Appears on:SelectorRequirement)

LineSelectorOperator defines line selector operators.

Value Description

"Contains"

"DoesNotContain"

"DoesNotMatchRegex"

"MatchRegex"

ResourceMappingItem

(Appears on:HelmValuesMappingItem)

Field Description
`storage`
string
(Optional)

Specifies the key used for mapping the storage size value.

`cpu`
ResourceReqLimItem
(Optional)

Specifies the key used for mapping both CPU requests and limits.

`memory`
ResourceReqLimItem
(Optional)

Specifies the key used for mapping both Memory requests and limits.

ResourceReqLimItem

(Appears on:ResourceMappingItem)

Field Description
`requests`
string
(Optional)

Specifies the mapping key for the request value.

`limits`
string
(Optional)

Specifies the mapping key for the limit value.

ResourceRequirements

(Appears on:AddonInstallSpecItem)

Field Description
`limits`
Kubernetes core/v1.ResourceList
(Optional)

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.

`requests`
Kubernetes core/v1.ResourceList
(Optional)

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified; otherwise, it defaults to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.

SelectorRequirement

(Appears on:AddonDefaultInstallSpecItem, InstallableSpec)

Field Description
`key`
AddonSelectorKey

The selector key. Valid values are KubeVersion, KubeGitVersion and KubeProvider.

  • `KubeVersion` the semver expression of Kubernetes versions, i.e., v1.24.
  • `KubeGitVersion` may contain distro. info., i.e., v1.24.4+eks.
  • `KubeProvider` the Kubernetes provider, i.e., aws, gcp, azure, huaweiCloud, tencentCloud etc.
`operator`
LineSelectorOperator

Represents a key’s relationship to a set of values. Valid operators are Contains, NotIn, DoesNotContain, MatchRegex, and DoesNoteMatchRegex.

Possible enum values:

  • `Contains` line contains a string.
  • `DoesNotContain` line does not contain a string.
  • `MatchRegex` line contains a match to the regular expression.
  • `DoesNotMatchRegex` line does not contain a match to the regular expression.
`values`
[]string
(Optional)

Represents an array of string values. This serves as an “OR” expression to the operator.


Generated with `gen-crd-api-reference-docs`

© 2025 ApeCloud PTE. Ltd.