diff --git a/docs/img/kubeblocks-architecture-ha.png b/docs/img/kubeblocks-architecture-ha.png new file mode 100644 index 00000000000..c63e839d291 Binary files /dev/null and b/docs/img/kubeblocks-architecture-ha.png differ diff --git a/docs/user_docs/create_database/overview-of-create-database.md b/docs/user_docs/create_database/overview-of-create-database.md index b01e8483a1f..56c519b47aa 100644 --- a/docs/user_docs/create_database/overview-of-create-database.md +++ b/docs/user_docs/create_database/overview-of-create-database.md @@ -17,7 +17,7 @@ After deploying KubeBlocks, you can use it to create various databases such as M - [MongoDB](./../kubeblocks-for-mongodb/cluster-management/create-and-connect-to-a-mongodb-cluster.md) - [Kafka](./../kubeblocks-for-kafka/cluster-management/create-a-kafka-cluster.md) - [Pulsar](./../kubeblocks-for-pulsar/cluster-management/create-pulsar-cluster-on-kubeblocks.md) -- RabbitMQ +- [RabbitMQ](./../kubeblocks-for-rabbitmq/manage-rabbitmq.md) - [Elasticsearch](./../kubeblocks-for-elasticsearch/manage-elasticsearch.md) - [StarRocks](./../kubeblocks-for-starrocks/manage-starrocks.md) - [Milvus](./../kubeblocks-for-milvus/manage-milvus.md) diff --git a/docs/user_docs/installation/install-with-kbcli/install-addons.md b/docs/user_docs/installation/install-with-kbcli/install-addons.md new file mode 100644 index 00000000000..5770735cc21 --- /dev/null +++ b/docs/user_docs/installation/install-with-kbcli/install-addons.md @@ -0,0 +1,85 @@ +--- +title: Install Addons +description: Install KubeBlocks Addons +keywords: [kbcli, kubeblocks, addons, install] +sidebar_position: 3 +sidebar_label: Install Addons +--- + +# Install Addons + +## Use the index to install an addon + +With the release of KubeBlocks v0.8.0, addons are decoupled from KubeBlocks and some addons are not installed by default. If you want to use these addons, add addons first by index. + +The official index repo is [KubeBlocks index](https://github.com/apecloud/block-index). The code of all addons is maintained in the [KubeBlocks addon repo](https://github.com/apecloud/kubeblocks-addons). + +1. View the index. + + kbcli creates an index named `kubeblocks` by default and you can check whether this index is created by running `kbcli addon index list`. + + ```bash + kbcli addon index list + > + INDEX URL + kubeblocks https://github.com/apecloud/block-index.git + ``` + + If the list is empty or you want to add your index, you can add the index manually by using `kbcli addon index add `. For example, + + ```bash + kbcli addon index add kubeblocks https://github.com/apecloud/block-index.git + ``` + + If you are not sure whether the kubeblocks index is the latest version, you can update it. + + ```bash + kbcli addon index update kubeblocks + ``` + +2. (Optional) Search whether the addon exists in the index. + + ```bash + kbcli addon search mariadb + > + ADDON VERSION INDEX + mariadb 0.7.0 kubeblocks + ``` + +3. Install the addon. + + If there are multiple index sources and versions for an addon, you can specify them by adding flags. The system installs the latest version in the `kubeblocks` index by default. + + ```bash + kbcli addon install mariadb --index kubeblocks --version 0.7.0 + ``` + + **What's next** + + After the addon is installed, you can list and enable it. + +## List addons + +To list supported addons, run `kbcli addon list` command. + +## Enable/Disable addons + +To manually enable or disable addons, follow the steps below. + +***Steps:*** + +1. To enable an addon, use `kbcli addon enable`. + + ***Example*** + + ```bash + kbcli addon enable snapshot-controller + ``` + + To disable an addon, use `kbcli addon disable`. + +2. List the addons again to check whether it is enabled. + + ```bash + kbcli addon list + ``` diff --git a/docs/user_docs/installation/uninstall-kbcli-and-kubeblocks.md b/docs/user_docs/installation/install-with-kbcli/uninstall-kbcli-and-kubeblocks.md similarity index 99% rename from docs/user_docs/installation/uninstall-kbcli-and-kubeblocks.md rename to docs/user_docs/installation/install-with-kbcli/uninstall-kbcli-and-kubeblocks.md index c5be0c02f18..a43ecafb5d5 100644 --- a/docs/user_docs/installation/uninstall-kbcli-and-kubeblocks.md +++ b/docs/user_docs/installation/install-with-kbcli/uninstall-kbcli-and-kubeblocks.md @@ -2,7 +2,7 @@ title: Uninstall kbcli and KubeBlocks description: Handle exception and uninstall kbcli and KubeBlocks keywords: [kbcli, kubeblocks, exception, uninstall] -sidebar_position: 5 +sidebar_position: 4 sidebar_label: Uninstall KubeBlocks and kbcli --- diff --git a/docs/user_docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md b/docs/user_docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md index 64a8658cd45..f63a28a9662 100644 --- a/docs/user_docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md +++ b/docs/user_docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md @@ -19,7 +19,7 @@ This tutorial shows how to create and connect to an ApeCloud MySQL cluster. * [Install kbcli](./../../installation/install-with-kbcli/install-kbcli.md). * [Install KubeBlocks by kbcli](./../../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -* Make sure the ApeCloud MySQL addon is enabled. If this addon is not enabled, [enable it](./../../overview/supported-addons.md#use-addons) first. +* Make sure the ApeCloud MySQL addon is enabled. If this addon is not enabled, [enable it](./../../installation/install-with-kbcli/install-addons.md#enabledisable-addons) first. ```bash kbcli addon list diff --git a/docs/user_docs/kubeblocks-for-apecloud-mysql/proxy/apecloud-mysql-proxy.md b/docs/user_docs/kubeblocks-for-apecloud-mysql/proxy/apecloud-mysql-proxy.md index bcd810eee54..c6f213f4a9d 100644 --- a/docs/user_docs/kubeblocks-for-apecloud-mysql/proxy/apecloud-mysql-proxy.md +++ b/docs/user_docs/kubeblocks-for-apecloud-mysql/proxy/apecloud-mysql-proxy.md @@ -32,7 +32,7 @@ It is recommended to use kbcli to create an ApeCloud MySQL Proxy Cluster. 1. Enable the etcd addon and create an etcd cluster. - 1. Install and enable the etcd addon. You need to install the etcd addon first since the etcd addon is not installed by default. Refer to [User addons](./../../overview/supported-addons.md#use-addons) for details. + 1. Install and enable the etcd addon. You need to install the etcd addon first since the etcd addon is not installed by default. Refer to [Addons installation tutorial](./../../installation/install-with-kbcli/install-addons.md) for details. ```bash # 1. Check whether the KubeBlocks addon index is added diff --git a/docs/user_docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md b/docs/user_docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md index a99de64e276..ce00e9b10c1 100644 --- a/docs/user_docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md +++ b/docs/user_docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md @@ -16,7 +16,7 @@ KubeBlocks supports the management of Elasticsearch. - [Install kbcli](./../installation/install-with-kbcli/install-kbcli.md). - [Install KubeBlocks](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -- [Install and enable the elasticsearch addon](./../overview/supported-addons.md#use-addons). +- [Install and enable the elasticsearch addon](./../installation/install-with-kbcli/install-addons.md). ## Create a cluster @@ -112,7 +112,7 @@ curl http://127.0.0.1:9200/_cat/nodes?v For the testing environment, you can run the command below to open the Grafana monitor web page. -1. View all built-in addons and make sure the monitoring addons are enabled. If the monitoring addons are not enabled, [enable these addons](./../overview/supported-addons.md#use-addons) first. +1. View all built-in addons and make sure the monitoring addons are enabled. If the monitoring addons are not enabled, [enable these addons](./../installation/install-with-kbcli/install-addons.md#enabledisable-addons) first. ```bash # View all addons supported diff --git a/docs/user_docs/kubeblocks-for-kafka/cluster-management/create-a-kafka-cluster.md b/docs/user_docs/kubeblocks-for-kafka/cluster-management/create-a-kafka-cluster.md index 8b97af5c380..6da58cda41c 100644 --- a/docs/user_docs/kubeblocks-for-kafka/cluster-management/create-a-kafka-cluster.md +++ b/docs/user_docs/kubeblocks-for-kafka/cluster-management/create-a-kafka-cluster.md @@ -14,7 +14,7 @@ This document shows how to create a Kafka cluster. * [Install kbcli](./../../installation/install-with-kbcli/install-kbcli.md). * [Install KubeBlocks](./../../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -* Make sure kafka addon is enabled with `kbcli addon list`. If this addon is not enabled, [enable it](./../../overview/supported-addons.md#use-addons) first. +* Make sure kafka addon is enabled with `kbcli addon list`. If this addon is not enabled, [enable it](./../../installation/install-with-kbcli/install-addons.md) first. ```bash kbcli addon list diff --git a/docs/user_docs/kubeblocks-for-milvus/manage-milvus.md b/docs/user_docs/kubeblocks-for-milvus/manage-milvus.md index 005e725b864..54fa9a11725 100644 --- a/docs/user_docs/kubeblocks-for-milvus/manage-milvus.md +++ b/docs/user_docs/kubeblocks-for-milvus/manage-milvus.md @@ -18,7 +18,7 @@ KubeBlocks supports the management of Milvus. - [Install kbcli](./../installation/install-with-kbcli/install-kbcli.md). - [Install KubeBlocks](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -- [Install and enable the milvus addon](./../overview/supported-addons.md#use-addons). +- [Install and enable the milvus addon](./../installation/install-with-kbcli/install-addons.md). ## Create a cluster diff --git a/docs/user_docs/kubeblocks-for-mongodb/cluster-management/create-and-connect-to-a-mongodb-cluster.md b/docs/user_docs/kubeblocks-for-mongodb/cluster-management/create-and-connect-to-a-mongodb-cluster.md index e3e595d3219..3a43f1348bc 100644 --- a/docs/user_docs/kubeblocks-for-mongodb/cluster-management/create-and-connect-to-a-mongodb-cluster.md +++ b/docs/user_docs/kubeblocks-for-mongodb/cluster-management/create-and-connect-to-a-mongodb-cluster.md @@ -16,7 +16,7 @@ This tutorial shows how to create and connect to a MongoDB cluster. * [Install kbcli](./../../installation/install-with-kbcli/install-kbcli.md). * [Install KubeBlocks](./../../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -* Make sure the MongoDB addon is enabled. If this addon is not enabled, [enable it](./../../overview/supported-addons.md#use-addons) first. +* Make sure the MongoDB addon is enabled. If this addon is not enabled, [enable it](./../../installation/install-with-kbcli/install-addons.md) first. ```bash kbcli addon list diff --git a/docs/user_docs/kubeblocks-for-mysql-community-edition/cluster-management/create-and-connect-a-mysql-cluster.md b/docs/user_docs/kubeblocks-for-mysql-community-edition/cluster-management/create-and-connect-a-mysql-cluster.md index 2386f8e2b07..3eeed2a8856 100644 --- a/docs/user_docs/kubeblocks-for-mysql-community-edition/cluster-management/create-and-connect-a-mysql-cluster.md +++ b/docs/user_docs/kubeblocks-for-mysql-community-edition/cluster-management/create-and-connect-a-mysql-cluster.md @@ -19,7 +19,7 @@ This tutorial shows how to create and connect to a MySQL cluster. * [Install kbcli](./../../installation/install-with-kbcli/install-kbcli.md). * [Install KubeBlocks by kbcli](./../../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -* Make sure the MySQL addon is enabled. If this addon is not enabled, [enable it](./../../overview/supported-addons.md#use-addons) first. +* Make sure the MySQL addon is enabled. If this addon is not enabled, [enable it](./../../installation/install-with-kbcli/install-addons.md) first. ```bash kbcli addon list diff --git a/docs/user_docs/kubeblocks-for-postgresql/cluster-management/create-and-connect-a-postgresql-cluster.md b/docs/user_docs/kubeblocks-for-postgresql/cluster-management/create-and-connect-a-postgresql-cluster.md index 42d9d245211..a6ffe062b8d 100644 --- a/docs/user_docs/kubeblocks-for-postgresql/cluster-management/create-and-connect-a-postgresql-cluster.md +++ b/docs/user_docs/kubeblocks-for-postgresql/cluster-management/create-and-connect-a-postgresql-cluster.md @@ -16,7 +16,7 @@ This tutorial shows how to create and connect to a PostgreSQL cluster. * [Install kbcli](./../../installation/install-with-kbcli/install-kbcli.md). * [Install KubeBlocks](./../../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -* Make sure the PostgreSQL addon is enabled. If this addon is not enabled, [enable it](./../../overview/supported-addons.md#use-addons) first. +* Make sure the PostgreSQL addon is enabled. If this addon is not enabled, [enable it](./../../installation/install-with-kbcli/install-addons.md) first. ```bash kbcli addon list diff --git a/docs/user_docs/kubeblocks-for-qdrant/manage-qdrant.md b/docs/user_docs/kubeblocks-for-qdrant/manage-qdrant.md index b8d5513a65d..4d786477f55 100644 --- a/docs/user_docs/kubeblocks-for-qdrant/manage-qdrant.md +++ b/docs/user_docs/kubeblocks-for-qdrant/manage-qdrant.md @@ -16,7 +16,7 @@ KubeBlocks supports the management of Qdrant. - [Install kbcli](./../installation/install-with-kbcli/install-kbcli.md). - [Install KubeBlocks](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md). -- [Install and enable the qdrant addon](./../overview/supported-addons.md#use-addons). +- [Install and enable the qdrant addon](./../installation/install-with-kbcli/install-addons.md). ## Create a cluster @@ -106,7 +106,7 @@ If your cluster is on AWS, install the AWS Load Balancer Controller first. For the testing environment, you can run the command below to open the Grafana monitor web page. -1. View all built-in addons and make sure the monitoring addons are enabled. If the monitoring addons are not enabled, [enable these addons](./../overview/supported-addons.md#use-addons) first. +1. View all built-in addons and make sure the monitoring addons are enabled. If the monitoring addons are not enabled, [enable these addons](./../installation/install-with-kbcli/install-addons.md) first. ```bash # View all addons supported diff --git a/docs/user_docs/kubeblocks-for-rabbitmq/_category_.yml b/docs/user_docs/kubeblocks-for-rabbitmq/_category_.yml new file mode 100644 index 00000000000..4cb5c8130e4 --- /dev/null +++ b/docs/user_docs/kubeblocks-for-rabbitmq/_category_.yml @@ -0,0 +1,4 @@ +position: 21 +label: KubeBlocks for RabbitMQ +collapsible: true +collapsed: true \ No newline at end of file diff --git a/docs/user_docs/kubeblocks-for-rabbitmq/manage-rabbitmq.md b/docs/user_docs/kubeblocks-for-rabbitmq/manage-rabbitmq.md new file mode 100644 index 00000000000..5cf730b4295 --- /dev/null +++ b/docs/user_docs/kubeblocks-for-rabbitmq/manage-rabbitmq.md @@ -0,0 +1,537 @@ +--- +title: Manage RabbitMQ with KubeBlocks +description: How to manage RabbitMQ on KubeBlocks +keywords: [rabbitmq, message queue, streaming, broker] +sidebar_position: 1 +sidebar_label: Manage RabbitMQ with KubeBlocks +--- + +# Manage RabbitMQ with KubeBlocks + +RabbitMQ is a reliable and mature messaging and streaming broker, which is easy to deploy on cloud environments, on-premises, and on your local machine. + +KubeBlocks supports the management of RabbitMQ. + +:::note + +Currently, KubeBlocks only supports managing RabbitMQ by `kubectl`. + +::: + +## Before you start + +- Install KubeBlocks [by kbcli](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md) or [by Helm](./../installation/install-with-helm/install-kubeblocks.md). +- Install and enable the rabbitmq addon [by kbcli](./../installation/install-with-kbcli/install-addons.md) or [by Helm](./../installation/install-with-helm/install-addons.md). + +## Create a cluster + +KubeBlocks implements a Cluster CRD to define a cluster. Here is an example of creating a RabbitMQ cluster with three replicas. Pods are distributed on different nodes by default. But if you only have one node for a cluster with three replicas, set `spec.affinity.topologyKeys` as `null`. + +```bash +cat < - `DoNotTerminate` blocks deletion operation.

- `Halt` deletes workload resources such as statefulset and deployment workloads but keep PVCs.

- `Delete` is based on Halt and deletes PVCs.

- `WipeOut` is based on Delete and wipe out all volume snapshots and snapshot data from a backup storage location. | +| `spec.affinity` | It defines a set of node affinity scheduling rules for the cluster's Pods. This field helps control the placement of Pods on nodes within the cluster. | +| `spec.affinity.podAntiAffinity` | It specifies the anti-affinity level of Pods within a component. It determines how pods should spread across nodes to improve availability and performance. | +| `spec.affinity.topologyKeys` | It represents the key of node labels used to define the topology domain for Pod anti-affinity and Pod spread constraints. | +| `spec.componentSpecs` | It is the list of components that define the cluster components. This field allows customized configuration of each component within a cluster. | +| `spec.componentSpecs.componentDefRef` | It is the name of the component definition that is defined in the cluster definition and you can get the component definition names with `kubectl get clusterdefinition qdrant -o json \| jq '.spec.componentDefs[].name'`. | +| `spec.componentSpecs.name` | It specifies the name of the component. | +| `spec.componentSpecs.disableExporter` | It defines whether the monitoring function is enabled. | +| `spec.componentSpecs.replicas` | It specifies the number of replicas of the component. | +| `spec.componentSpecs.resources` | It specifies the resource requirements of the component. | + +KubeBlocks operator watches for the `Cluster` CRD and creates the cluster and all dependent resources. You can get all the resources created by the cluster with `kubectl get all,secret,rolebinding,serviceaccount -l app.kubernetes.io/instance=mycluster -n demo`. + +```bash +kubectl get all,secret,rolebinding,serviceaccount -l app.kubernetes.io/instance=mycluster -n demo +``` + +Run the following command to see the created RabbitMQ cluster object: + +```bash +kubectl get cluster mycluster -n demo -o yaml +``` + +## Connect to the cluster + +Use the [RabbitMQ tools](https://www.rabbitmq.com/docs/cli) to connect to and manage the RabbitMQ cluster. + +## Scale + +### Scale vertically + +Before you start, check whether the cluster status is `Running`. Otherwise, the following operations may fail. + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +#### Option 1. Apply an OpsRequest + +1. Apply an OpsRequest to the specified cluster. Configure the parameters according to your needs. + + ```bash + kubectl apply -f - < + NAME TYPE CLUSTER STATUS PROGRESS AGE + ops-vertical-scaling VerticalScaling mycluster Succeed 3/3 6m + ``` + + If an error occurs, you can troubleshoot it with `kubectl describe ops -n demo` command to view the events of this operation. + +3. Check whether the corresponding resources change. + + ```bash + kubectl describe cluster mycluster -n demo + ``` + +#### Option 2. Edit the cluster YAML file + +1. Change the configuration of `spec.componentSpecs.resources` in the YAML file. `spec.componentSpecs.resources` controls the requirement and limit of resources and changing them triggers a vertical scaling. + + ```yaml + apiVersion: apps.kubeblocks.io/v1alpha1 + kind: Cluster + metadata: + name: mycluster + namespace: demo + spec: + componentSpecs: + - name: rabbitmq + componentDefRef: rabbitmq + replicas: 3 + resources: # Change the values of resources. + requests: + memory: "2Gi" + cpu: "1" + limits: + memory: "4Gi" + cpu: "2" + volumeClaimTemplates: + - name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + terminationPolicy: Delete + ``` + +2. Check whether the corresponding resources change. + + ```bash + kubectl describe cluster mycluster -n demo + ``` + +### Scale horizontally + +Horizontal scaling changes the amount of pods. For example, you can scale out replicas from three to five. + +From v0.9.0, besides replicas, KubeBlocks also supports scaling in and out instances, refer to [Horizontal Scale](./../../api_docs/maintenance/scale/horizontal-scale.md) in API docs for more details and examples. + +Before you start, check whether the cluster status is `Running`. Otherwise, the following operations may fail. + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +#### Option 1. Apply an OpsRequest + +1. Apply an OpsRequest to a specified cluster. Configure the parameters according to your needs. + + The example below means deleting two replicas. + + ```bash + kubectl apply -f - < + NAME TYPE CLUSTER STATUS PROGRESS AGE + ops-horizontal-scaling HorizontalScaling mycluster Succeed 2/2 6m + ``` + + If an error occurs, you can troubleshoot it with `kubectl describe ops -n demo` command to view the events of this operation. + +3. Check whether the corresponding resources change. + + ```bash + kubectl describe cluster mycluster -n demo + ``` + +#### Option 2. Edit the cluster YAML file + +1. Change the configuration of `spec.componentSpecs.replicas` in the YAML file. `spec.componentSpecs.replicas` stands for the pod amount and changing this value triggers a horizontal scaling of a cluster. + + ```bash + kubectl edit cluster mycluster -n demo + apiVersion: apps.kubeblocks.io/v1alpha1 + kind: Cluster + metadata: + name: mycluster + namespace: demo + spec: + componentSpecs: + - name: rabbitmq + componentDefRef: rabbitmq + replicas: 1 # Change the amount + volumeClaimTemplates: + - name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi + terminationPolicy: Delete + ``` + +2. Check whether the corresponding resources change. + + ```bash + kubectl describe cluster mycluster -n demo + ``` + +## Volume expansion + +Before you start, check whether the cluster status is `Running`. Otherwise, the following operations may fail. + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +### Option 1. Apply an OpsRequest + +1. Change the value of storage according to your need and run the command below to expand the volume of a cluster. + + ```bash + kubectl apply -f - < + NAME TYPE CLUSTER STATUS PROGRESS AGE + ops-volume-expansion VolumeExpansion mycluster Succeed 1/1 6m + ``` + + If an error occurs, you can troubleshoot it with `kubectl describe ops -n demo` command to view the events of this operation. + +3. Check whether the corresponding cluster resources change. + + ```bash + kubectl describe cluster mycluster -n demo + ``` + +### Option 2. Edit the cluster YAML file + +1. Change the value of `spec.componentSpecs.volumeClaimTemplates.spec.resources` in the cluster YAML file. + + `spec.componentSpecs.volumeClaimTemplates.spec.resources` is the storage resource information of the pod and changing this value triggers the volume expansion of a cluster. + + ```bash + kubectl edit cluster mycluster -n demo + apiVersion: apps.kubeblocks.io/v1alpha1 + kind: Cluster + metadata: + name: mycluster + namespace: demo + spec: + componentSpecs: + - name: rabbitmq + componentDefRef: rabbitmq + replicas: 2 + volumeClaimTemplates: + - name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 40Gi # Change the volume storage size. + terminationPolicy: Delete + ``` + +2. Check whether the corresponding cluster resources change. + + ```bash + kubectl describe cluster mycluster -n demo + ``` + +## Restart + +1. Restart a cluster. + + ```bash + kubectl apply -f - <apecloud-mysql-8.0.30

wescale-0.2.7

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |✔️ | ✔️ | ✔️ | N/A | ✔️ | ✔️ | ✔️ | ✔️ | +| apecloud-postgresql | 14.11.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | camellia-redis-proxy | 1.2.26 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | | clickhouse | 22.9.4 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| doris | 2.0.3 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| elasticsearch | 8.8.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| etcd | 3.5.6 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| foxlake | 0.8.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| elasticsearch |

7.10.1

7.7.1

7.8.1

8.1.3

8.8.2

8.8.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| etcd |

3.5.15

3.5.6

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | flink | 1.16 | ✔️ | ✔️ (task manager) | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| ggml | N/A | N/A | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | greptimedb | 0.3.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| halo | 0.2.0 | ✔️ | ✔️ | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | influxdb | 2.7.4 | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| kafka | 3.3.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | N/A | N/A | N/A | ✔️ | +| kafka |

kafka-broker-3.3.2

kafka-combine-3.3.2

kafka-controller-3.3.2

kafka-exporter-1.6.0

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | N/A | N/A | N/A | ✔️ | | mariadb | 10.6.15 | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| milvus | 2.2.4 | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| minio | 8.0.17 | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| milvus | 2.3.2 | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| minio | RELEASE.2024-06-29T01-20-47Z | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | mogdb | 5.0.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | -| mongodb |

4.0

4.2

4.4

5.0

5.0.20

6.0

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | ✔️ | ✔️ | ✔️ | -| mysql |

5.7.42

8.0.33

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | ✔️ | ✔️ | ✔️ | +| mongodb |

4.0.28

4.2.24

4.4.29

5.0.28

6.0.16

7.0.12

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | ✔️ | ✔️ | ✔️ | +| mysql |

5.7.44

8.0.33

8.4.2

2.4.4

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | ✔️ | ✔️ | ✔️ | | nebula | 3.5.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| neon | latest | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| oceanbase | 4.2.0.0-100010032023083021 | N/A | ✔️ | ✔️ | N/A | N/A | | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| oceanbase-cluster | 4.2.0.0-100010032023083021 | ✔️ (host network) | ✔️ | ✔️ | ✔️ (host network) | ✔️ (host network) | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| official-postgresql |

12.15

14.7

14.7-zhparser

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| neon |

neon-broker-1.0.0

neon-compute-1.0.0

neon-pageserver-1.0.0

neon-safekeeper-1.0.0

| ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| oceanbase | 4.3.0 | N/A | ✔️ | ✔️ | N/A | N/A | | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| official-postgresql | 14.7 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | opengauss | 5.0.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | openldap | 2.4.57 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | opensearch | 2.7.0 | ✔️ | N/A | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| opentenbase | 2.5.0 | | | | | | | | | | | | | | | | oracle | 19.3.0-ee | ✔️ | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| orioledb | beta1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| pika | 3.5.1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| orchestrator | 3.2.6 | | | | | | | | | | | | | | | +| orioledb | 14.7.2-beta1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | polardb-x | 2.3 | ✔️ | ✔️ | N/A | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✔️ | -| postgresql |

12.14.0

12.14.1

12.15.0

14.7.2

14.8.0

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| pulsar | 2.11.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | N/A | N/A | N/A | ✔️ | -| qdrant | 1.5.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | ✔️ | -| redis | 7.0.6 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | ✔️ | N/A | ✔️ | +| postgresql |

12.14.0

12.14.1

12.15.0

14.7.2

14.8.0

15.7.0

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| pulsar |

pulsar-bkrecovery-2.11.2

pulsar-bkrecovery-3.0.2

pulsar-bookkeeper-2.11.2

pulsar-bookkeeper-3.0.2

pulsar-broker-2.11.2

pulsar-broker-3.0.2

pulsar-proxy-2.11.2

pulsar-proxy-3.0.2

pulsar-zookeeper-2.11.2

pulsar-zookeeper-3.0.2

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | N/A | N/A | N/A | ✔️ | +| qdrant |

1.10.0

1.5.0

1.7.3

1.8.1

1.8.4

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | ✔️ | +| rabbitmq |

3.13.2

3.12.14

3.11.28

3.10.25

3.9.29

3.8.14

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | Managed by the RabitMQ Management system. | ✔️ | ✔️ |✔️ | +| redis |

redis-7.0.6

redis-7.2.4

redis-cluster-7.0.6

redis-cluster-7.2.4

redis-sentinel-7.0.6

redis-sentinel-7.2.4

redis-twemproxy-0.5.0

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | ✔️ | ✔️ | N/A | ✔️ | | risingwave | 1.0.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| starrocks | 3.1.1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | solr | 8.11.2 | ✔️ | ✔️ | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| tdengine | 3.0.5.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| tidb | 7.1.2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| vllm | | N/A | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | -| weaviate | 1.18.0 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | N/A | N/A | N/A | ✔️ | -| xinference | 1.16.0 | ✔️ | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| starrocks |

starrocks-ce-be-3.2.2

starrocks-ce-be-3.3.0

starrocks-ce-fe-3.2.2

starrocks-ce-fe-3.3.0

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| tdengine | 3.0.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| tidb |

6.5.10

7.1.5

7.5.2

tidb-pd-6.5.10

tidb-pd-7.1.5

tidb-pd-7.5.2

tikv-6.5.10

tikv-7.1.5

tikv-7.5.2

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | +| victoria-metrics | 1.0.0 | | | | | | | | | | | | | | | +| weaviate | 1.23.1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | N/A | ✔️ | N/A | N/A | N/A | N/A | ✔️ | +| xinference |

xinference-0.11.0

xinference-0.11.0-cpu

| ✔️ | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | | yashan | personal-23.1.1.100 | ✔️ | ✔️ (Standalone) | ✔️ | ✔️ | ✔️ | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | -| zookeeper | 3.7.1 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | - -:::note - -The upgrade feature means that KubeBlocks supports minor version upgrades for a database engine. For example, you can upgrade PostgreSQL from v12.14 to v12.15. - -::: - -## Use addons - -### Use the index to install an addon - -With the release of KubeBlocks v0.8.0, addons are decoupled from KubeBlocks and some addons are not installed by default. If you want to use these addons, add addons first by index. - -The official index repo is [KubeBlocks index](https://github.com/apecloud/block-index). The code of all addons is maintained in the [KubeBlocks addon repo](https://github.com/apecloud/kubeblocks-addons). - -1. View the index. - - kbcli creates an index named `kubeblocks` by default and you can check whether this index is created by running `kbcli addon index list`. - - ```bash - kbcli addon index list - > - INDEX URL - kubeblocks https://github.com/apecloud/block-index.git - ``` - - If the list is empty or you want to add your index, you can add the index manually by using `kbcli addon index add `. For example, - - ```bash - kbcli addon index add kubeblocks https://github.com/apecloud/block-index.git - ``` - -2. (Optional) Search whether the addon exists in the index. - - ```bash - kbcli addon search mariadb - > - ADDON VERSION INDEX - mariadb 0.7.0 kubeblocks - ``` - -3. Install the addon. - - If there are multiple index sources and versions for an addon, you can specify them by adding flags. The system installs the latest version in the `kubeblocks` index by default. - - ```bash - kbcli addon install mariadb --index kubeblocks --version 0.7.0 - ``` - - **What's next** - - After the addon is installed, you can list and enable it. - -### List addons - -To list supported addons, run `kbcli addon list` command. - -### Enable/Disable addons - -To manually enable or disable addons, follow the steps below. - -***Steps:*** - -1. To enable an addon, use `kbcli addon enable`. - - ***Example*** - - ```bash - kbcli addon enable snapshot-controller - ``` - - To disable an addon, use `kbcli addon disable`. - -2. List the addons again to check whether it is enabled. - - ```bash - kbcli addon list - ``` +| zookeeper |

3.4.14

3.6.4

3.7.2

3.8.4

3.9.2

| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | N/A | N/A | ✔️ | ✔️ | N/A | N/A | N/A | N/A | N/A | diff --git a/docs/user_docs/upgrade/upgrade with helm/upgrade-kubeblocks-to-0.9.md b/docs/user_docs/upgrade/upgrade with helm/upgrade-kubeblocks-to-0.9.md index da92bb21825..9bc981f0804 100644 --- a/docs/user_docs/upgrade/upgrade with helm/upgrade-kubeblocks-to-0.9.md +++ b/docs/user_docs/upgrade/upgrade with helm/upgrade-kubeblocks-to-0.9.md @@ -40,7 +40,7 @@ KubeBlocks 0.9 is compatible with KubeBlocks 0.8 APIs, but compatibility with AP helm -n kb-system upgrade kubeblocks kubeblocks/kubeblocks --version {VERSION} --set keepAddons=true ``` - Replace `{VERSION}` with your current KubeBlocks version, such as 0.8.3. + Replace `{VERSION}` with your current KubeBlocks version, such as 0.9.0. - Check addons.