diff --git a/docs/user_docs/connect_database/connect-database-in-production-environment.md b/docs/user_docs/connect_database/connect-database-in-production-environment.md index 1cb90a2ec47..9645b8adcb8 100644 --- a/docs/user_docs/connect_database/connect-database-in-production-environment.md +++ b/docs/user_docs/connect_database/connect-database-in-production-environment.md @@ -96,20 +96,18 @@ apiVersion: apps.kubeblocks.io/v1alpha1 kind: OpsRequest metadata: name: ops-expose-enable + namespace: demo spec: - clusterRef: mycluster + clusterName: mycluster expose: - componentName: mysql services: - - annotations: - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: intranet - ipFamilyPolicy: PreferDualStack - name: vpc + - name: vpc + roleSelector: leader serviceType: LoadBalancer switch: Enable - ttlSecondsBeforeAbort: 0 + preConditionDeadlineSeconds: 0 type: Expose -EOF ``` @@ -139,20 +137,18 @@ apiVersion: apps.kubeblocks.io/v1alpha1 kind: OpsRequest metadata: name: ops-expose-disable + namespace: demo spec: - clusterRef: mycluster + clusterName: mycluster expose: - componentName: mysql services: - - annotations: - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: intranet - ipFamilyPolicy: PreferDualStack - name: vpc + - name: vpc + roleSelector: leader serviceType: LoadBalancer switch: Disable - ttlSecondsBeforeAbort: 0 + preConditionDeadlineSeconds: 0 type: Expose -EOF ``` @@ -186,20 +182,18 @@ apiVersion: apps.kubeblocks.io/v1alpha1 kind: OpsRequest metadata: name: ops-expose-enable + namespace: demo spec: - clusterRef: mycluster + clusterName: mycluster expose: - componentName: mysql services: - - annotations: - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet - ipFamilyPolicy: PreferDualStack - name: internet + - name: internet + roleSelector: leader serviceType: LoadBalancer switch: Enable - ttlSecondsBeforeAbort: 0 + preConditionDeadlineSeconds: 0 type: Expose -EOF ``` @@ -223,20 +217,18 @@ apiVersion: apps.kubeblocks.io/v1alpha1 kind: OpsRequest metadata: name: ops-expose-disable + namespace: demo spec: - clusterRef: mycluster + clusterName: mycluster expose: - componentName: mysql services: - - annotations: - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet - ipFamilyPolicy: PreferDualStack - name: internet + - name: internet + roleSelector: leader serviceType: LoadBalancer switch: Disable - ttlSecondsBeforeAbort: 0 + preConditionDeadlineSeconds: 0 type: Expose -EOF ``` diff --git a/docs/user_docs/installation/install-with-helm/install-kubeblocks.md b/docs/user_docs/installation/install-with-helm/install-kubeblocks.md index e76fc51b674..ca0bb2328f1 100644 --- a/docs/user_docs/installation/install-with-helm/install-kubeblocks.md +++ b/docs/user_docs/installation/install-with-helm/install-kubeblocks.md @@ -13,7 +13,7 @@ import TabItem from '@theme/TabItem'; KubeBlocks is Kubernetes-native, you can use Helm or kubectl with a YAML file to install it. -To try out KubeBlocks on your local host, you can use the [Playground](./../../try-out-on-playground/try-kubeblocks-on-your-laptop.md) or [create a local Kubernetes test cluster first](./../prerequisite/prepare-a-local-k8s-cluster.md) and then follow the steps in this tutorial to install KubeBlocks. +To try out KubeBlocks on your local host, you can use the [Playground](./../../try-out-on-playground/try-kubeblocks-on-your-laptop.md) or [create a local Kubernetes test cluster first](./../prepare-a-local-k8s-cluster/prepare-a-local-k8s-cluster.md) and then follow the steps in this tutorial to install KubeBlocks. :::note diff --git a/docs/user_docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md b/docs/user_docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md index 9e42f356ddd..b61e8ff36b4 100644 --- a/docs/user_docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md +++ b/docs/user_docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md @@ -10,7 +10,7 @@ sidebar_label: Install KubeBlocks The quickest way to try out KubeBlocks is to create a new Kubernetes cluster and install KubeBlocks using the playground. However, production environments are more complex, with applications running in different namespaces and with resource or permission limitations. This document explains how to deploy KubeBlocks on an existing Kubernetes cluster. -To try out KubeBlocks on your local host, you can use the [Playground](./../../try-out-on-playground/try-kubeblocks-on-your-laptop.md) or [create a local Kubernetes test cluster first](./../prerequisite/prepare-a-local-k8s-cluster.md) and then follow the steps in this tutorial to install KubeBlocks. +To try out KubeBlocks on your local host, you can use the [Playground](./../../try-out-on-playground/try-kubeblocks-on-your-laptop.md) or [create a local Kubernetes test cluster first](./../prepare-a-local-k8s-cluster/prepare-a-local-k8s-cluster.md) and then follow the steps in this tutorial to install KubeBlocks. ## Environment preparation diff --git a/i18n/zh-cn/user-docs/connect-databases/connect-to-database-in-production-environment.md b/i18n/zh-cn/user-docs/connect-databases/connect-to-database-in-production-environment.md index 415b64ef410..a780d681d32 100644 --- a/i18n/zh-cn/user-docs/connect-databases/connect-to-database-in-production-environment.md +++ b/i18n/zh-cn/user-docs/connect-databases/connect-to-database-in-production-environment.md @@ -96,26 +96,24 @@ kbcli cluster expose ${cluster-name} --type vpc --enable=true 此处以 MySQL 集群为例,在阿里云上为集群暴露 VPC 访问地址的方式如下: -```bash +```yaml kubectl apply -f - < @@ -136,26 +134,24 @@ kbcli cluster expose ${cluster-name} --type vpc --enable=false -```bash +```yaml kubectl apply -f - < @@ -192,26 +188,25 @@ kbcli cluster expose ${cluster-name} --type internet --enable=true 以 MySQL 集群为例,在阿里云上为集群暴露公网访问地址的方式如下: -```bash +```yaml kubectl apply -f - < @@ -238,26 +233,24 @@ kbcli cluster expose ${cluster-name} --type internet --enable=false -```bash +```yaml kubectl apply -f - < diff --git a/i18n/zh-cn/user-docs/create_database/overview-of-create-database.md b/i18n/zh-cn/user-docs/create_database/overview-of-create-database.md index 625879df95a..a8a0234d1e2 100644 --- a/i18n/zh-cn/user-docs/create_database/overview-of-create-database.md +++ b/i18n/zh-cn/user-docs/create_database/overview-of-create-database.md @@ -13,10 +13,10 @@ KubeBlocks 通过插件(Addon)机制支持多种数据库引擎。部署 Kub - [ApeCloud MySQL](./../kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md) - [MySQL 社区版](./../kubeblocks-for-mysql-community-edition/cluster-management/create-and-connect-a-mysql-cluster.md) - [PostgreSQL](./../kubeblocks-for-postgresql/cluster-management/create-and-connect-a-postgresql-cluster.md) -- [Redis](./../kubeblocks-for-redis/cluster-management/create-and-connect-a-redis-cluster.md) +- [Redis](./../kubeblocks-for-redis/cluster-management/create-and-connect-to-a-redis-cluster.md) - [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) +- [Pulsar](./../kubeblocks-for-pulsar/cluster-management/create-pulsar-cluster-on-kb.md) - [RabbitMQ](./../kubeblocks-for-rabbitmq/manage-rabbitmq.md) - [Elasticsearch](./../kubeblocks-for-elasticsearch/manage-elasticsearch.md) - [StarRocks](./../kubeblocks-for-starrocks/manage-starrocks.md) diff --git a/i18n/zh-cn/user-docs/installation/install-with-helm/install-kubeblocks.md b/i18n/zh-cn/user-docs/installation/install-with-helm/install-kubeblocks.md index 895e93561ab..34767037d8a 100644 --- a/i18n/zh-cn/user-docs/installation/install-with-helm/install-kubeblocks.md +++ b/i18n/zh-cn/user-docs/installation/install-with-helm/install-kubeblocks.md @@ -13,7 +13,7 @@ import TabItem from '@theme/TabItem'; KubeBlocks 是 Kubernetes 原生 operator,可通过 Helm 或者 kubectl 应用 YAML 文件安装 KubeBlocks。本文将介绍如何在现有的 Kubernetes 集群上部署 KubeBlocks。 -如果您想要在本地环境试用 KubeBlocks,可通过 [Playground](./../../try-out-on-playground/try-kubeblocks-on-local-host.md) 试用,或者[先在本地创建 Kubernetes 测试集群](./../prerequisite/prepare-a-local-k8s-cluster.md),然后按照本文操作步骤安装 KubeBlocks。 +如果您想要在本地环境试用 KubeBlocks,可通过 [Playground](./../../try-out-on-playground/try-kubeblocks-on-local-host.md) 试用,或者[先在本地创建 Kubernetes 测试集群](./../prepare-a-local-k8s-cluster/prepare-a-local-k8s-cluster.md),然后按照本文操作步骤安装 KubeBlocks。 :::note diff --git a/i18n/zh-cn/user-docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md b/i18n/zh-cn/user-docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md index 6cc48b87e5f..dbfb3cc95a3 100644 --- a/i18n/zh-cn/user-docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md +++ b/i18n/zh-cn/user-docs/installation/install-with-kbcli/install-kubeblocks-with-kbcli.md @@ -10,7 +10,7 @@ sidebar_label: 用 kbcli 安装 KubeBlocks 使用 Playground 创建一个新的 Kubernetes 集群并安装 KubeBlocks,是快速上手的一种方法。然而,在实际生产环境中,情况会复杂得多,应用程序在不同的命名空间中运行,还存在资源或权限限制。本文档将介绍如何在现有的 Kubernetes 集群上部署 KubeBlocks。 -如果您想要在本地环境试用 KubeBlocks,可通过 [Playground](./../../try-out-on-playground/try-kubeblocks-on-local-host.md) 试用,或者[先在本地创建 Kubernetes 测试集群](./../prerequisite/prepare-a-local-k8s-cluster.md),然后按照本文操作步骤安装 KubeBlocks。 +如果您想要在本地环境试用 KubeBlocks,可通过 [Playground](./../../try-out-on-playground/try-kubeblocks-on-local-host.md) 试用,或者[先在本地创建 Kubernetes 测试集群](./../prepare-a-local-k8s-cluster/prepare-a-local-k8s-cluster.md),然后按照本文操作步骤安装 KubeBlocks。 ## 环境准备 diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-a-mysql-cluster.md b/i18n/zh-cn/user-docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md similarity index 100% rename from i18n/zh-cn/user-docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-a-mysql-cluster.md rename to i18n/zh-cn/user-docs/kubeblocks-for-apecloud-mysql/cluster-management/create-and-connect-an-apecloud-mysql-cluster.md diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md b/i18n/zh-cn/user-docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md index 7ec3f015720..bb391fb6afb 100644 --- a/i18n/zh-cn/user-docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md +++ b/i18n/zh-cn/user-docs/kubeblocks-for-elasticsearch/manage-elasticsearch.md @@ -85,7 +85,7 @@ EOF | 字段 | 定义 | |---------------------------------------|--------------------------------------| -| `spec.terminationPolicy` | 集群的终止策略,默认值为 `Delete`,有效值为 `DoNotTerminate`、`Halt`、`Delete` 和 `WipeOut`。

- `DoNotTerminate` 会阻止删除操作。

- `Halt` 会删除工作负载资源,如 statefulset 和 deployment 等,但是保留了 PVC 。

- `Delete` 在 `Halt` 的基础上进一步删除了 PVC。

- `WipeOut` 在 `Delete` 的基础上从备份存储的位置完全删除所有卷快照和快照数据。

| +| `spec.terminationPolicy` | 集群的终止策略,默认值为 `Delete`,有效值为 `DoNotTerminate`、`Halt`、`Delete` 和 `WipeOut`。 具体定义可参考 [终止策略](#终止策略)。| | `spec.affinity` | 为集群的 Pods 定义了一组节点亲和性调度规则。该字段可控制 Pods 在集群中节点上的分布。 | | `spec.affinity.podAntiAffinity` | 定义了不在同一 component 中的 Pods 的反亲和性水平。该字段决定了 Pods 以何种方式跨节点分布,以提升可用性和性能。 | | `spec.affinity.topologyKeys` | 用于定义 Pod 反亲和性和 Pod 分布约束的拓扑域的节点标签值。 | @@ -944,3 +944,80 @@ KubeBlocks 支持重启集群中的所有 Pod。当数据库出现异常时,
+ +## 删除集群 + +### 终止策略 + +:::note + +终止策略决定了删除集群的方式。 + +::: + +| **终止策略** | **删除操作** | +|:----------------------|:-------------------------------------------------------------------------------------------| +| `DoNotTerminate` | `DoNotTerminate` 禁止删除操作。 | +| `Halt` | `Halt` 删除集群资源(如 Pods、Services 等),但保留 PVC。停止其他运维操作的同时,保留了数据。但 `Halt` 策略在 v0.9.1 中已删除,设置为 `Halt` 的效果与 `DoNotTerminate` 相同。 | +| `Delete` | `Delete` 在 `Halt` 的基础上,删除 PVC 及所有持久数据。 | +| `WipeOut` | `WipeOut` 删除所有集群资源,包括外部存储中的卷快照和备份。使用该策略将会删除全部数据,特别是在非生产环境,该策略将会带来不可逆的数据丢失。请谨慎使用。 | + +执行以下命令查看终止策略。 + + + + + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 4m29s +``` + + + + + +```bash +kbcli cluster list mycluster -n demo +> +NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME +mycluster demo Delete Running Sep 27,2024 11:42 UTC+0800 +``` + + + + + +### 步骤 + +执行以下命令,删除集群。 + + + + + +```bash +kubectl delete cluster mycluster -n demo +``` + +如果想删除集群和所有相关资源,可以将终止策略修改为 `WipeOut`,然后再删除该集群。 + +```bash +kubectl patch -n demo cluster mycluster -p '{"spec":{"terminationPolicy":"WipeOut"}}' --type="merge" + +kubectl delete -n demo cluster mycluster +``` + + + + + +```bash +kbcli cluster delete mycluster -n demo +``` + + + + diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-rabbitmq/_category_.yml b/i18n/zh-cn/user-docs/kubeblocks-for-rabbitmq/_category_.yml new file mode 100644 index 00000000000..4cb5c8130e4 --- /dev/null +++ b/i18n/zh-cn/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/i18n/zh-cn/user-docs/kubeblocks-for-rabbitmq/manage-rabbitmq.md b/i18n/zh-cn/user-docs/kubeblocks-for-rabbitmq/manage-rabbitmq.md new file mode 100644 index 00000000000..ebd32c20c44 --- /dev/null +++ b/i18n/zh-cn/user-docs/kubeblocks-for-rabbitmq/manage-rabbitmq.md @@ -0,0 +1,629 @@ +--- +title: 用 KubeBlocks 管理 RabbitMQ +description: 如何使用 KubeBlocks 管理 RabbitMQ +keywords: [rabbitmq, 消息队列, streaming, broker] +sidebar_position: 1 +sidebar_label: 用 KubeBlocks 管理 RabbitMQ +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# 用 KubeBlocks 管理 RabbitMQ + +RabbitMQ 是可靠且成熟的消息和流处理中间件,支持在云环境、本地数据中心或个人计算机上部署。 + +本文档展示了如何通过 kbcli、kubectl 等方式创建和管理 RabbitMQ 集群。您可以在 [GitHub 仓库](https://github.com/apecloud/kubeblocks-addons/tree/main/examples/rabbitmq)查看 YAML 示例。 + +:::note + +当前,KubeBlocks 仅支持通过 `kubectl` 管理 RabbitMQ 集群. + +::: + +## 开始之前 + +- 安装 KubeBlocks,可通过 [kbcli](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md) 或 [Helm](./../installation/install-with-helm/install-kubeblocks.md) 安装. +- 安装并启用 rabbitmq 引擎,可通过 [kbcli](./../installation/install-with-kbcli/install-addons.md) 或 [Helm](./../installation/install-with-helm/install-addons.md)操作. + +## 创建集群 + +KubeBlocks 通过 `Cluster` 定义集群。以下是创建 RabbitMQ 集群的示例。Pod 默认分布在不同节点。但如果您只有一个节点可用于部署集群,可将 `spec.affinity.topologyKeys` 设置为 `null`。 + +:::note + +生产环境中,不建议将所有副本部署在同一个节点上,因为这可能会降低集群的可用性。 + +::: + +```bash +cat < +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +#### 步骤 + + + + + +1. 对指定的集群应用 OpsRequest,可根据您的需求配置参数。 + + ```bash + kubectl apply -f - < + NAME TYPE CLUSTER STATUS PROGRESS AGE + ops-vertical-scaling VerticalScaling mycluster Succeed 3/3 6m + ``` + + 如果有报错,可执行 `kubectl describe ops -n demo` 命令查看该运维操作的相关事件,协助排障。 + +3. 当 OpsRequest 状态为 `Succeed` 或集群状态再次回到 `Running` 后,查看相应资源是否变更。 + + ```bash + kubectl describe cluster mycluster -n demo + ``` + + + + + +1. 修改 YAML 文件中 `spec.componentSpecs.resources` 的配置。`spec.componentSpecs.resources` 控制资源的请求值和限制值,修改参数值将触发垂直扩缩容。 + + ```bash + kubectl edit cluster mycluster -n demo + ``` + + 在编辑器中修改 `spec.componentSpecs.resources` 的值。 + + ```yaml + ... + spec: + componentSpecs: + - name: rabbitmq + componentDefRef: rabbitmq + replicas: 3 + resources: # 修改 resources 中的参数值 + requests: + memory: "2Gi" + cpu: "1" + limits: + memory: "4Gi" + cpu: "2" + ... + ``` + +2. 当集群状态再次回到 `Running` 后,查看相应资源是否变更。 + + ```bash + kubectl describe cluster mycluster -n demo + ``` + + + + + +### 水平伸缩 + +水平扩展改变 Pod 的数量。例如,您可以将副本从三个扩展到五个。 + +从 v0.9.0 开始,KubeBlocks 还支持了指定实例扩缩容。可通过 [水平扩缩容文档](./../maintenance/scale/horizontal-scale.md) 文档了解更多细节和示例。 + +#### 开始之前 + +确认集群状态是否为 `Running`。否则,后续相关操作可能会失败。 + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +#### 步骤 + + + + + +1. 对指定的集群应用 OpsRequest,可根据您的需求配置参数。 + + 以下示例演示了增加 2 个副本。 + + ```bash + kubectl apply -f - < + NAME TYPE CLUSTER STATUS PROGRESS AGE + ops-horizontal-scaling HorizontalScaling mycluster Succeed 2/2 6m + ``` + + 如果有报错,可执行 `kubectl describe ops -n demo` 命令查看该运维操作的相关事件,协助排障。 + +3. 当 OpsRequest 状态为 `Succeed` 或集群状态再次回到 `Running` 后,查看相应资源是否变更。 + + ```bash + kubectl describe cluster mycluster -n demo + ``` + + + + + +1. 修改 YAML 文件中 `spec.componentSpecs.replicas` 的配置。`spec.componentSpecs.replicas` 定义了 pod 数量,修改该参数将触发集群水平扩缩容。 + + ```bash + kubectl edit cluster mycluster -n demo + ``` + + 在编辑器中修改 `spec.componentSpecs.replicas` 的值。 + + ```yaml + ... + spec: + componentSpecs: + - name: rabbitmq + componentDefRef: rabbitmq + replicas: 1 # 修改参数值 + ... + ``` + +2. 当集群状态再次回到 `Running` 后,查看相关资源是否变更。 + + ```bash + kubectl describe cluster mycluster -n demo + ``` + + + + + +## 磁盘扩容 + +### 开始之前 + +确认集群状态是否为 `Running`。否则,后续相关操作可能会失败。 + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +### 步骤 + + + + + +1. 应用 OpsRequest。根据需求更改 storage 的值,并执行以下命令来更改集群的存储容量。 + + ```bash + kubectl apply -f - < + NAME TYPE CLUSTER STATUS PROGRESS AGE + ops-volume-expansion VolumeExpansion mycluster Succeed 1/1 6m + ``` + + 如果有报错,可执行 `kubectl describe ops -n demo` 命令查看该运维操作的相关事件,协助排障。 + +3. 当 OpsRequest 状态为 `Succeed` 或集群状态再次回到 `Running` 后,查看相应资源是否变更。 + + ```bash + kubectl describe cluster mycluster -n demo + ``` + + + + + +1. 修改集群 YAML 文件中 `spec.componentSpecs.volumeClaimTemplates.spec.resources` 的值。 + + `spec.componentSpecs.volumeClaimTemplates.spec.resources` 定义了 Pod 存储资源信息,修改该数值将触发集群磁盘扩容。 + + ```bash + kubectl edit cluster mycluster -n demo + ``` + + 在编辑器中修改 `spec.componentSpecs.volumeClaimTemplates.spec.resources` 的值。 + + ```yaml + ... + spec: + componentSpecs: + - name: rabbitmq + componentDefRef: rabbitmq + replicas: 2 + volumeClaimTemplates: + - name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 40Gi # 修改该参数值 + terminationPolicy: Delete + ... + ``` + +2. 当集群状态再次回到 `Running` 后,查看相应资源是否变更。 + + ```bash + kubectl describe cluster mycluster -n demo + ``` + + + + + +## 停止/启动集群 + +您可以停止/启动集群以释放计算资源。当集群停止时,其计算资源将被释放,也就是说 Kubernetes 的 Pod 将被释放,但其存储资源仍将被保留。您也可以重新启动该集群,使其恢复到停止集群前的状态。 + +### 停止集群 + +1. 配置集群名称,并执行以下命令来停止该集群。 + + + + + + ```bash + kubectl apply -f - < + + + + 将 replicas 的值修改为 0,删除 pod。 + + ```yaml + apiVersion: apps.kubeblocks.io/v1alpha1 + kind: Cluster + metadata: + name: mycluster + namespace: demo + spec: + terminationPolicy: Delete + affinity: + podAntiAffinity: Preferred + topologyKeys: + - kubernetes.io/hostname + componentSpecs: + - name: rabbitmq + componentDef: rabbitmq + serviceVersion: 3.13.2 + replicas: 0 + serviceAccountName: kb-mycluster + resources: + limits: + cpu: "0.5" + memory: "0.5Gi" + requests: + cpu: "0.5" + memory: "0.5Gi" + volumeClaimTemplates: + - name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi + services: + ``` + + + + + +2. 查看集群状态,确认集群是否已停止。 + + ```bash + kubectl get cluster mycluster -n demo + ``` + +### 启动集群 + +1. 配置集群名称,并执行以下命令来启动该集群。 + + + + + + ```bash + kubectl apply -f - < + + + + 将 replicas 数值修改为初始值,启动集群。 + + ```yaml + apiVersion: apps.kubeblocks.io/v1alpha1 + kind: Cluster + metadata: + name: mycluster + namespace: demo + spec: + terminationPolicy: Delete + affinity: + podAntiAffinity: Preferred + topologyKeys: + - kubernetes.io/hostname + componentSpecs: + - name: rabbitmq + componentDef: rabbitmq + serviceVersion: 3.13.2 + replicas: 3 + serviceAccountName: kb-mycluster + resources: + limits: + cpu: "0.5" + memory: "0.5Gi" + requests: + cpu: "0.5" + memory: "0.5Gi" + volumeClaimTemplates: + - name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi + services: + ``` + + + + + +2. 查看集群状态,确认集群是否已再次运行。 + + ```bash + kubectl get cluster mycluster -n demo + ``` + +## 重启集群 + +1. 执行以下命令,重启集群。 + + ```bash + kubectl apply -f - < +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster Delete Running 47m +``` + +### 步骤 + +执行以下命令,删除集群。 + +```bash +kubectl delete cluster mycluster -n demo +``` + +如果想删除集群和所有相关资源,可以将终止策略修改为 `WipeOut`,然后再删除该集群。 + +```bash +kubectl patch -n demo cluster mycluster -p '{"spec":{"terminationPolicy":"WipeOut"}}' --type="merge" + +kubectl delete -n demo cluster mycluster +``` diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-redis/redis-cluster-mode.md b/i18n/zh-cn/user-docs/kubeblocks-for-redis/redis-cluster-mode.md index 8b19d277cd7..a9fdd61062a 100644 --- a/i18n/zh-cn/user-docs/kubeblocks-for-redis/redis-cluster-mode.md +++ b/i18n/zh-cn/user-docs/kubeblocks-for-redis/redis-cluster-mode.md @@ -31,7 +31,7 @@ Redis Cluster 还提供集群的节点间通信和数据迁移机制。当集群 ### 开始之前 -* [安装 KubeBlocks](./../installation/install-kubeblocks.md)。 +* 安装 KubeBlocks,可通过 [kbcli](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md) 或 [Helm](./../installation/install-with-helm/install-kubeblocks.md) 安装。 - KubeBlocks 及 Addon 的版本都需要 0.9 版本以上。 * 确保 Redis 引擎已启用。 * 查看可用于创建集群的数据库类型和版本。 diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-starrocks/manage-starrocks.md b/i18n/zh-cn/user-docs/kubeblocks-for-starrocks/manage-starrocks.md index 94f1cedd441..4c021664937 100644 --- a/i18n/zh-cn/user-docs/kubeblocks-for-starrocks/manage-starrocks.md +++ b/i18n/zh-cn/user-docs/kubeblocks-for-starrocks/manage-starrocks.md @@ -94,7 +94,7 @@ EOF |---------------------------------------|--------------------------------------| | `spec.clusterDefinitionRef` | 集群定义 CRD 的名称,用来定义集群组件。 | | `spec.clusterVersionRef` | 集群版本 CRD 的名称,用来定义集群版本。 | -| `spec.terminationPolicy` | 集群的终止策略,默认值为 `Delete`,有效值为 `DoNotTerminate`、`Halt`、`Delete` 和 `WipeOut`。

- `DoNotTerminate` 会阻止删除操作。

- `Halt` 会删除工作负载资源,如 statefulset 和 deployment 等,但是保留了 PVC 。

- `Delete` 在 `Halt` 的基础上进一步删除了 PVC。

- `WipeOut` 在 `Delete` 的基础上从备份存储的位置完全删除所有卷快照和快照数据。

| +| `spec.terminationPolicy` | 集群的终止策略,默认值为 `Delete`,有效值为 `DoNotTerminate`、`Halt`、`Delete` 和 `WipeOut`。具体定义可参考 [终止策略](#终止策略)。 | | `spec.affinity` | 为集群的 Pods 定义了一组节点亲和性调度规则。该字段可控制 Pods 在集群中节点上的分布。 | | `spec.affinity.podAntiAffinity` | 定义了不在同一 component 中的 Pods 的反亲和性水平。该字段决定了 Pods 以何种方式跨节点分布,以提升可用性和性能。 | | `spec.affinity.topologyKeys` | 用于定义 Pod 反亲和性和 Pod 分布约束的拓扑域的节点标签值。 | @@ -578,7 +578,7 @@ mycluster demo starrocks starrocks-3.1.1 Delete 如果有报错,可执行 `kubectl describe ops -n demo` 命令查看该运维操作的相关事件,协助排障。 -3. 查看相应资源是否变更。 +3. 当 OpsRequest 状态为 `Succeed` 或集群状态再次回到 `Running` 后,查看相应资源是否变更。 ```bash kubectl describe cluster mycluster -n demo @@ -616,7 +616,7 @@ mycluster demo starrocks starrocks-3.1.1 Delete terminationPolicy: Delete ``` -2. 查看相应资源是否变更。 +2. 当集群状态再次回到 `Running` 后,查看相应资源是否变更。 ```bash kubectl describe cluster mycluster -n demo @@ -738,26 +738,26 @@ mycluster demo starrocks starrocks-3.1.1 Delete kbcli cluster stop mycluster -n demo ``` - -
+ + 2. 查看集群状态,确认集群是否已停止。 - + ```bash - kbcli cluster list mycluster -n demo + kubectl get cluster mycluster -n demo ``` - + ```bash - kubectl get cluster mycluster -n demo + kbcli cluster list mycluster -n demo ``` @@ -831,18 +831,18 @@ mycluster demo starrocks starrocks-3.1.1 Delete - + ```bash - kbcli cluster list mycluster -n demo + kubectl get cluster mycluster -n demo ``` - + ```bash - kubectl get cluster mycluster -n demo + kbcli cluster list mycluster -n demo ``` @@ -928,3 +928,80 @@ KubeBlocks 支持重启集群中的所有 Pod。当数据库出现异常时, + +## 删除集群 + +### 终止策略 + +:::note + +终止策略决定了删除集群的方式。 + +::: + +| **终止策略** | **删除操作** | +|:----------------------|:-------------------------------------------------------------------------------------------| +| `DoNotTerminate` | `DoNotTerminate` 禁止删除操作。 | +| `Halt` | `Halt` 删除集群资源(如 Pods、Services 等),但保留 PVC。停止其他运维操作的同时,保留了数据。但 `Halt` 策略在 v0.9.1 中已删除,设置为 `Halt` 的效果与 `DoNotTerminate` 相同。 | +| `Delete` | `Delete` 在 `Halt` 的基础上,删除 PVC 及所有持久数据。 | +| `WipeOut` | `WipeOut` 删除所有集群资源,包括外部存储中的卷快照和备份。使用该策略将会删除全部数据,特别是在非生产环境,该策略将会带来不可逆的数据丢失。请谨慎使用。 | + +执行以下命令查看终止策略。 + + + + + +```bash +kubectl get cluster mycluster -n demo +> +NAME CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS AGE +mycluster starrocks starrocks-ce-3.1.1 Delete Running 47m +``` + + + + + +```bash +kbcli cluster list -n demo +> +NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME +mycluster demo starrocks starrocks-3.1.1 Delete Running Jul 17,2024 19:06 UTC+0800 +``` + + + + + +### 步骤 + +执行以下命令,删除集群。 + + + + + +```bash +kubectl delete cluster mycluster -n demo +``` + +如果想删除集群和所有相关资源,可以将终止策略修改为 `WipeOut`,然后再删除该集群。 + +```bash +kubectl patch -n demo cluster mycluster -p '{"spec":{"terminationPolicy":"WipeOut"}}' --type="merge" + +kubectl delete -n demo cluster mycluster +``` + + + + + +```bash +kbcli cluster delete mycluster -n demo +``` + + + + diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-weaviate/_category_.yml b/i18n/zh-cn/user-docs/kubeblocks-for-weaviate/_category_.yml deleted file mode 100644 index c669e840380..00000000000 --- a/i18n/zh-cn/user-docs/kubeblocks-for-weaviate/_category_.yml +++ /dev/null @@ -1,4 +0,0 @@ -position: 17 -label: 用 KubeBlocks 管理 Weaviate -collapsible: true -collapsed: true diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-weaviate/manage-weaviate.md b/i18n/zh-cn/user-docs/kubeblocks-for-weaviate/manage-weaviate.md deleted file mode 100644 index ee855bb1928..00000000000 --- a/i18n/zh-cn/user-docs/kubeblocks-for-weaviate/manage-weaviate.md +++ /dev/null @@ -1,303 +0,0 @@ ---- -title: 用 KubeBlocks 管理 Weaviate -description: 如何用 KubeBlocks 管理 Weaviate -keywords: [weaviate, 向量数据库] -sidebar_position: 1 -sidebar_label: 用 KubeBlocks 管理 Weaviate ---- - -# 用 KubeBlocks 管理 Weaviate - -生成式人工智能的爆火引发了人们对向量数据库的关注。Weaviate 是开源向量数据库,可简化人工智能应用程序的开发。内置向量和混合搜索、易于连接的机器学习模型以及对数据隐私的关注使各级开发人员能够更快地构建、迭代和扩展 AI 功能。 - -## 开始之前 - -- [安装 kbcli](./../installation/install-with-kbcli/install-kbcli.md)。 -- [安装 KubeBlocks](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md)。 -- [安装并启用 weaviate 引擎](./../overview/database-engines-supported.md#使用引擎)。 - -## 创建集群 - -***步骤:*** - -1. 创建集群 - - ```bash - kbcli cluster create weaviate --cluster-definition=weaviate - ``` - - 如需创建多副本 Weaviate 集群,可使用以下命令,设置副本数量。 - - ```bash - kbcli cluster create weaviate --cluster-definition=weaviate --set replicas=3 - ``` - -:::note - -执行以下命令,查看更多集群创建的选项和默认值。 - -```bash -kbcli cluster create --help -``` - -::: - -2. 查看集群是否已创建。 - - ```bash - kbcli cluster list - > - NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME - weaviate default weaviate weaviate-1.18.0 Delete Running Jul 05,2024 17:42 UTC+0800 - ``` - -3. 查看集群信息。 - - ```bash - kbcli cluster describe weaviate - > - Name: weaviate Created Time: Jul 05,2024 17:42 UTC+0800 - NAMESPACE CLUSTER-DEFINITION VERSION STATUS TERMINATION-POLICY - default weaviate weaviate-1.18.0 Running Delete - - Endpoints: - COMPONENT MODE INTERNAL EXTERNAL - weaviate ReadWrite weaviate-weaviate.default.svc.cluster.local:8080 - - Topology: - COMPONENT INSTANCE ROLE STATUS AZ NODE CREATED-TIME - weaviate weaviate-weaviate-0 Running minikube/192.168.49.2 Jul 05,2024 17:42 UTC+0800 - - Resources Allocation: - COMPONENT DEDICATED CPU(REQUEST/LIMIT) MEMORY(REQUEST/LIMIT) STORAGE-SIZE STORAGE-CLASS - weaviate false 1 / 1 1Gi / 1Gi data:20Gi standard - - Images: - COMPONENT TYPE IMAGE - weaviate weaviate docker.io/semitechnologies/weaviate:1.19.6 - - Data Protection: - BACKUP-REPO AUTO-BACKUP BACKUP-SCHEDULE BACKUP-METHOD BACKUP-RETENTION RECOVERABLE-TIME - ``` - -## 连接集群 - -Weaviate 提供 HTTP 访问协议,使用端口 8080 进行通信。您可通过本地主机访问集群。 - -```bash -curl http://localhost:8080/v1/meta | jq -``` - -## 监控集群 - -对于测试环境,您可以执行以下命令,打开 Grafana 监控大盘。 - -1. 查看内置监控引擎,确认监控引擎已启用。如果未启用,可参考[该文档](./../overview/database-engines-supported.md#使用引擎)启用引擎。 - - ```bash - # View all addons supported - kbcli addon list - ... - grafana Helm Enabled true - alertmanager-webhook-adaptor Helm Enabled true - prometheus Helm Enabled alertmanager true - ... - ``` - -2. 查看集群监控功能是否开启。可通过查看集群 YAML 文件中是否显示 `disableExporter: false`,如果有该字段,则说明集群监控功能已开启。 - - ```bash - kubectl get cluster weaviate -o yaml - > - apiVersion: apps.kubeblocks.io/v1alpha1 - kind: Cluster - metadata: - ...... - spec: - ...... - componentSpecs: - ...... - disableExporter: false - ``` - - 如果输出结果未显示 `disableExporter: false`,则说明集群未开启监控功能,可执行以下命令,开启该功能。 - - ```bash - kbcli cluster update weaviate --disable-exporter=false - ``` - -3. 查看大盘列表。 - - ```bash - kbcli dashboard list - > - NAME NAMESPACE PORT CREATED-TIME - kubeblocks-grafana kb-system 13000 Jul 24,2023 11:38 UTC+0800 - kubeblocks-prometheus-alertmanager kb-system 19093 Jul 24,2023 11:38 UTC+0800 - kubeblocks-prometheus-server kb-system 19090 Jul 24,2023 11:38 UTC+0800 - ``` - -4. 打开监控大盘网页控制台。 - - ```bash - kbcli dashboard open kubeblocks-grafana - ``` - -对于生产环境,强烈建议您搭建专属监控系统或者购买第三方监控服务,详情可参考[监控文档](./../observability/monitor-database.md#生产环境)。 - -## 扩缩容 - -### 水平扩缩容 - -水平扩展改变 Pod 的数量。例如,您可以将副本从三个扩展到五个。 - -从 v0.9.0 开始,KubeBlocks 还支持了指定实例扩缩容。可通过 [水平扩缩容 API 文档](./../../api-docs/maintenance/scale/horizontal-scale.md) 文档了解更多细节和示例。 - -#### 开始之前 - -确认集群状态是否为 `Running`。否则,后续相关操作可能会失败。 - -```bash -kbcli cluster list weaviate -> -NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME -weaviate default weaviate weaviate-1.18.0 Delete Running Jul 24,2023 11:38 UTC+0800 -``` - -#### 步骤 - -执行以下命令进行水平扩缩容。 - -```bash -kbcli cluster hscale weaviate --replicas=3 --components=weaviate -``` - -- `--components` 表示准备进行水平扩容的组件名称。 -- `--replicas` 表示指定组件的副本数。 根据需要设定数值,进行扩缩容。 - -执行 `kbcli cluster hscale` 后会输出一条 ops 相关命令,可使用该命令查看扩缩容任务进度。 - -```bash -kbcli cluster describe-ops weaviate-horizontalscaling-xpdwz -n default -``` - -也可通过以下命令,查看扩缩容任务是否完成。 - -```bash -kbcli cluster describe weaviate -``` - -### 垂直扩缩容 - -#### 开始之前 - -确认集群状态是否为 `Running`。否则,后续相关操作可能会失败。 - -```bash -kbcli cluster list weaviate -> -NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME -weaviate default weaviate weaviate-1.18.0 Delete Running Jul 24,2023 11:38 UTC+0800 -``` - -#### 步骤 - -执行以下命令进行垂直扩缩容。 - -```bash -kbcli cluster vscale weaviate --cpu=0.5 --memory=512Mi --components=weaviate -``` - -执行 `kbcli cluster vscale` 后会输出一条 ops 相关命令,可使用该命令查看扩缩容任务进度。 - -```bash -kbcli cluster describe-ops weaviate-verticalscaling-rpw2l -n default -``` - -也可通过以下命令,查看扩缩容任务是否完成。 - -```bash -kbcli cluster describe weaviate -``` - -## 磁盘扩容 - -***步骤:*** - -```bash -kbcli cluster volume-expand weaviate --storage=40Gi --components=weaviate -t data -``` - -执行磁盘扩容任务可能需要几分钟。 - -执行 `kbcli cluster volume-expand` 后会输出一条 ops 相关命令,可使用该命令查看扩缩容任务进度。 - -```bash -kbcli cluster describe-ops weaviate-volumeexpansion-5pbd2 -n default -``` - -也可通过以下命令,查看磁盘扩容任务是否完成。 - -```bash -kbcli cluster describe weaviate -``` - -## 重启集群 - -1. 执行以下命令,重启集群。 - - 配置 `components` 和 `ttlSecondsAfterSucceed` 的值,执行以下命令来重启指定集群。 - - ```bash - kbcli cluster restart weaviate --components="weaviate" \ - --ttlSecondsAfterSucceed=30 - ``` - - - `components` 表示需要重启的组件名称。 - - `ttlSecondsAfterSucceed` 表示重启成功后 OpsRequest 作业的生存时间。 - -2. 验证重启是否成功。 - - 检查集群状态,验证重启操作是否成功。 - - ```bash - kbcli cluster list weaviate - > - NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME - weaviate default weaviate weaviate-1.18.0 Delete Running Jul 05,2024 18:42 UTC+0800 - ``` - - - STATUS=Updating 表示集群正在重启中。 - - STATUS=Running 表示集群已重启。 - -## 停止/启动集群 - -你可以停止/启动集群以释放计算资源。当集群被停止时,其计算资源将被释放,也就是说 Kubernetes 的 Pod 将被释放,但其存储资源仍将被保留。如果你希望通过快照从原始存储中恢复集群资源,请重新启动该集群。 - -## 停止集群 - -1. 配置集群名称,并执行以下命令来停止该集群。 - - ```bash - kbcli cluster stop weaviate - ``` - -2. 查看集群状态,确认集群是否已停止。 - - ```bash - kbcli cluster list - ``` - -### 启动集群 - -1. 配置集群名称,并执行以下命令来启动该集群。 - - ```bash - kbcli cluster start weaviate - ``` - -2. 查看集群状态,确认集群是否已再次运行。 - - ```bash - kbcli cluster list - ``` diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-xinference/_category_.yml b/i18n/zh-cn/user-docs/kubeblocks-for-xinference/_category_.yml deleted file mode 100644 index 5f89333d640..00000000000 --- a/i18n/zh-cn/user-docs/kubeblocks-for-xinference/_category_.yml +++ /dev/null @@ -1,4 +0,0 @@ -position: 19 -label: 用 KubeBlocks 管理 Xinference -collapsible: true -collapsed: true \ No newline at end of file diff --git a/i18n/zh-cn/user-docs/kubeblocks-for-xinference/manage-xinference.md b/i18n/zh-cn/user-docs/kubeblocks-for-xinference/manage-xinference.md deleted file mode 100644 index 05a1da23e7c..00000000000 --- a/i18n/zh-cn/user-docs/kubeblocks-for-xinference/manage-xinference.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: 用 KubeBlocks 管理 Xinference -description: 如何用 KubeBlocks 管理 Xinference -keywords: [xinference, LLM, AI] -sidebar_position: 1 -sidebar_label: 用 KubeBlocks 管理 Xinference ---- - -# 用 KubeBlocks 管理 Xinference - -Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。 - -## 开始之前 - -- [安装 kbcli](./../installation/install-with-kbcli/install-kbcli.md)。 -- [安装 KubeBlocks](./../installation/install-with-kbcli/install-kubeblocks-with-kbcli.md)。 -- [安装并启用 xinference 引擎](./../overview/database-engines-supported.md#使用引擎)。 - -## 创建集群 - -***步骤:*** - -1. 创建集群。 - - ```bash - kbcli cluster create mycluster --cluster-definition=xinference - ``` - - 如需创建多副本 Weaviate 集群,可使用以下命令,设置副本数量。 - - ```bash - kbcli cluster create mycluster --cluster-definition=xinference --set replicas=3 - ``` - - 您也可使用 `--set` 指定 CPU、memory、存储的值。 - - ```bash - kbcli cluster create mycluster --cluster-definition=xinference --set cpu=1,memory=2Gi,storage=10Gi - ``` - -:::note - -执行以下命令,查看更多集群创建的选项和默认值。 - -```bash -kbcli cluster create --help -``` - -::: - -2. 查看集群是否已创建。 - - ```bash - kbcli cluster list - > - NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME - mycluster default xinference xinference-0.11.0 Delete Running Jul 17,2024 17:24 UTC+0800 - ``` - -3. 查看集群信息。 - - ```bash - kbcli cluster describe mycluster - > - Name: mycluster Created Time: Jul 17,2024 17:29 UTC+0800 - NAMESPACE CLUSTER-DEFINITION VERSION STATUS TERMINATION-POLICY - default xinference xinference-0.11.0 Running Delete - - Endpoints: - COMPONENT MODE INTERNAL EXTERNAL - xinference ReadWrite mycluster-xinference.default.svc.cluster.local:9997 - - Topology: - COMPONENT INSTANCE ROLE STATUS AZ NODE CREATED-TIME - xinference mycluster-xinference-0 Running minikube/192.168.49.2 Jul 17,2024 17:29 UTC+0800 - - Resources Allocation: - COMPONENT DEDICATED CPU(REQUEST/LIMIT) MEMORY(REQUEST/LIMIT) STORAGE-SIZE STORAGE-CLASS - xinference false 1 / 1 1Gi / 1Gi data:20Gi standard - - Images: - COMPONENT TYPE IMAGE - xinference xinference docker.io/xprobe/xinference:v0.11.0 - - Show cluster events: kbcli cluster list-events -n default mycluster - ``` - -## 垂直扩缩容 - -#### 开始之前 - -确认集群状态是否为 `Running`。否则,后续相关操作可能会失败。 - -```bash -kbcli cluster list -> - NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME - mycluster default xinference xinference-0.11.0 Delete Running Jul 05,2024 17:29 UTC+0800 -``` - -#### 步骤 - -执行以下命令进行垂直扩缩容。 - -```bash -kbcli cluster vscale mycluster --cpu=0.5 --memory=512Mi --components=xinference -``` - -执行 `kbcli cluster vscale` 后会输出一条 ops 相关命令,可使用该命令查看扩缩容任务进度。 - -```bash -kbcli cluster describe-ops mycluster-verticalscaling-smx8b -n default -``` - -也可通过以下命令,查看扩缩容任务是否完成。 - -```bash -kbcli cluster describe mycluster -``` - -## 重启集群 - -1. 执行以下命令,重启集群。 - - 配置 `components` 和 `ttlSecondsAfterSucceed` 的值,执行以下命令来重启指定集群。 - - ```bash - kbcli cluster restart mycluster --components="xinference" \ - --ttlSecondsAfterSucceed=30 - ``` - - - `components` 表示需要重启的组件名称。 - - `ttlSecondsAfterSucceed` 表示重启成功后 OpsRequest 作业的生存时间。 - -2. 验证重启是否成功。 - - 检查集群状态,验证重启操作是否成功。 - - ```bash - kbcli cluster list mycluster - > - NAME NAMESPACE CLUSTER-DEFINITION VERSION TERMINATION-POLICY STATUS CREATED-TIME - mycluster default xinference xinference-0.11.0 Delete Running Jul 05,2024 18:42 UTC+0800 - ``` - - - STATUS=Updating 表示集群正在重启中。 - - STATUS=Running 表示集群已重启。 - -## 停止/启动集群 - -你可以停止/启动集群以释放计算资源。当集群被停止时,其计算资源将被释放,也就是说 Kubernetes 的 Pod 将被释放,但其存储资源仍将被保留。如果你希望通过快照从原始存储中恢复集群资源,请重新启动该集群。 - -## 停止集群 - -1. 配置集群名称,并执行以下命令来停止该集群。 - - ```bash - kbcli cluster stop mycluster - ``` - -2. 查看集群状态,确认集群是否已停止。 - - ```bash - kbcli cluster list - ``` - -### 启动集群 - -1. 配置集群名称,并执行以下命令来启动该集群。 - - ```bash - kbcli cluster start mycluster - ``` - -2. 查看集群状态,确认集群是否已再次运行。 - - ```bash - kbcli cluster list - ```