This is an automated email from the ASF dual-hosted git repository.
kassiez pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new 74e71813ebc [doc]add username and password usage (#2420)
74e71813ebc is described below
commit 74e71813ebc18f22dd5740f143e7d4dcfb96b81f
Author: smiletan <[email protected]>
AuthorDate: Tue Jun 3 14:28:29 2025 +0800
[doc]add username and password usage (#2420)
## Versions
- [x] dev
- [x] 3.0
- [ ] 2.1
- [ ] 2.0
## Languages
- [x] Chinese
- [x] English
## Docs Checklist
- [ ] Checked by AI
- [ ] Test Cases Built
---
.../separating-storage-compute/config-cluster.md | 226 +++++++++++++++++
.../separating-storage-compute/config-cluster.md | 271 +++++++++++++++++++++
.../separating-storage-compute/config-cluster.md | 271 +++++++++++++++++++++
sidebars.json | 1 +
.../separating-storage-compute/config-cluster.md | 226 +++++++++++++++++
versioned_sidebars/version-3.0-sidebars.json | 1 +
6 files changed, 996 insertions(+)
diff --git
a/docs/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
b/docs/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
new file mode 100644
index 00000000000..125e9c0b1c2
--- /dev/null
+++
b/docs/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
@@ -0,0 +1,226 @@
+---
+{
+ "title": "Config Cluster",
+ "language": "en"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+In a disaggregated compute-storage cluster, certain configurations apply at
the cluster level, such as credentials used by the management system to
administer the nodes of various components.
+
+## Configuring Management Username and Password
+Managing Doris nodes requires connecting to a live Frontend (FE) node using a
username and password via the MySQL protocol. Doris implements a [role-based
access control (RBAC)-like authorization
mechanism](../../../admin-manual/auth/authentication-and-authorization), and
node management operations require a user account with the
[Node_priv](../../../admin-manual/auth/authentication-and-authorization#Types-of-Permissions)
privilege.
+
+By default, the Doris Operator uses the root user—who has full privileges and
no password—for deploying and managing clusters defined in the
DorisDisaggregatedCluster resource. Once a password is assigned to the root
account, it is necessary to explicitly configure a username and password with
Node_priv in the DorisDisaggregatedCluster resource, enabling the Doris
Operator to continue performing automated management tasks.
+
+The DorisDisaggregatedCluster resource supports two methods for configuring
the credentials required to manage cluster nodes: using environment variables,
or using a Kubernetes Secret. Depending on the deployment scenario, the
management credentials can be configured in the following ways:
+
+- Initializing a password for the root user during cluster deployment
+
+- Automatically creating a non-root user with management privileges in a
passwordless root deployment
+
+- Assigning a password to the root user after the cluster has been deployed
using the passwordless root mode
+
+### Configuring the Root User Password During Cluster Deployment
+Doris supports specifying the root user password in encrypted form within the
`fe.conf` file. To enable Doris Operator to automatically manage cluster nodes
during initial deployment, follow the steps below to configure the root
password.
+
+#### Step 1: Generate the Encrypted Root Password
+Doris allows you to configure the root user password in the [FE configuration
file](../../../admin-manual/config/fe-config#initial_root_password) using an
encrypted format. The password is encrypted using a two-stage SHA-1 hashing
algorithm. Below are code examples demonstrating how to perform this encryption:
+
+**Java Implementation:**
+```javascript
+import org.apache.commons.codec.digest.DigestUtils;
+
+public static void main(String[] args) {
+ // Original password
+ String a = "123456";
+ String b =
DigestUtils.sha1Hex(DigestUtils.sha1(a.getBytes())).toUpperCase();
+ // Output the two-stage encrypted password
+ System.out.println("*" + b);
+}
+```
+**Golang Implementation:**
+```go
+import (
+"crypto/sha1"
+"encoding/hex"
+"fmt"
+"strings"
+)
+
+func main() {
+// Original password
+plan := "123456"
+
+// First stage encryption
+h := sha1.New()
+h.Write([]byte(plan))
+eb := h.Sum(nil)
+
+// Second stage encryption
+h.Reset()
+h.Write(eb)
+teb := h.Sum(nil)
+dst := hex.EncodeToString(teb)
+tes := strings.ToUpper(fmt.Sprintf("%s", dst))
+
+// Output the two-stage encrypted password
+fmt.Println("*" + tes)
+}
+```
+Add the resulting encrypted password to the fe.conf file as required. Then,
follow the instructions in the [FE startup configuration
section](config-fe.md#custom-startup-configuration) to deliver the
configuration file to the Kubernetes cluster using a `ConfigMap`.
+
+#### Step 2: Define the DorisDisaggregatedCluster Resource
+Once the initial password is configured in the `fe.conf` file, the root
password takes effect immediately when the first Doris FE node starts. As
additional nodes join the cluster, Doris Operator uses the root credentials to
manage and add these nodes. Therefore, it is necessary to provide the root
username and password in the `DorisDisaggregatedCluster` resource.
+
+**Option 1: Using Environment Variables**
+Specify the root credentials in the `.spec.adminUser.name` and
`.spec.adminUser.password` fields of the `DorisDisaggregatedCluster` resource.
Doris Operator will automatically convert these values into container
environment variables. Auxiliary services within the container will use these
environment variables to add nodes to the cluster.
+Example configuration:
+```yaml
+spec:
+ adminUser:
+ name: root
+ password: ${password}
+```
+Here, ${password} should be the plaintext (unencrypted) password for the root
user.
+
+**Option 2: Using a Secret**
+Doris Operator also supports using a [Basic Authentication
Secret](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret)
to provide the root username and password. Doris Operator will mount this
Secret into the container as a file, which auxiliary services will parse to
retrieve the credentials and use them to automatically add nodes to the cluster.
+
+The Secret must contain exactly two fields: `username` and `password`.
+
+1. Define the Secret
+ Create a Basic Authentication Secret in the following format:
+
+ ```yaml
+ stringData:
+ username: root
+ password: ${password}
+ ```
+ ${password} is the plaintext password for the root user.
+ Deploy the Secret to the Kubernetes cluster using the command below:
+ ```yaml
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+ ${namespace}: the target namespace where the DorisDisaggregatedCluster will
be deployed.
+ ${secretFileName}: the name of the YAML file containing the Secret
definition
+
+2. Configure the DorisDisaggregatedCluster Resource
+ Reference the Secret in the `DorisDisaggregatedCluster` resource using the
`spec.authSecret` field:
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+ Here, ${secretName} is the name of the Kubernetes Secret containing the
root user credentials.
+
+### Automatically Creating a Non-Root Administrative User and Password During
Deployment (Recommended)
+If you choose not to set an initial password for the root user during the
first deployment, you can configure a non-root administrative user and its
password using either environment variables or a Kubernetes Secret. Doris's
auxiliary services within the container will automatically create this user
within Doris, assign the specified password, and grant it the `Node_priv`
privilege. The Doris Operator will then use this automatically created user
account to manage cluster nodes.
+
+#### Option 1: Using Environment Variables
+Define the `DorisDisaggregatedCluster` resource as shown below:
+```yaml
+spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+```
+${DB_ADMIN_USER}: the name of the new non-root user with administrative
privileges. ${DB_ADMIN_PASSWD}: the password to assign to the new user.
+
+#### Option 2: Using a Secret
+a. Create the Required Secret
+Define a Basic Authentication Secret using the following format:
+```yaml
+stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+```
+${DB_ADMIN_USER}: the username for the new administrative user.
${DB_ADMIN_PASSWD}: the password to assign to the new user.
+Deploy the Secret to your Kubernetes cluster using:
+```shell
+kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+```
+${namespace}: the namespace where the DorisDisaggregatedCluster resource is
deployed. ${secretFileName}: the name of the YAML file defining the Secret.
+
+b. Update the DorisDisaggregatedCluster Resource
+Specify the Secret in the `DorisDisaggregatedCluster` resource:
+```yaml
+spec:
+ authSecret: ${secretName}
+```
+${secretName}: the name of the Secret containing the non-root administrative
user credentials.
+
+:::tip Note
+After deployment, it is recommended to set a password for the root user. Once
this is done, Doris Operator will switch to managing cluster nodes using the
new non-root user. Avoid deleting this user after it has been created.
+:::
+
+### Setting the Root User Password After Cluster Deployment
+If the root user password is not configured during initial deployment, a user
with the
[Node_priv](../../../admin-manual/auth/authentication-and-authorization.md#types-of-permissions)
privilege must be provided to allow Doris Operator to continue managing
cluster nodes automatically. It is not recommended to use the root user for
this purpose. Instead, refer to the [User Creation and Privilege Assignment
documentation](../../../sql-manual/sql-statements/account-management/CREATE-USER)
to [...]
+
+#### Step 1: Create a User with Node_priv Privilege
+Connect to the database using the MySQL protocol, and execute the following
SQL command to create a new user and assign a password:
+```sql
+CREATE USER '${DB_ADMIN_USER}' IDENTIFIED BY '${DB_ADMIN_PASSWD}';
+```
+${DB_ADMIN_USER}: the name of the user to be created. ${DB_ADMIN_PASSWD}: the
password for the new user.
+
+#### Step 2: Grant Node_priv Privilege to the User
+Still connected via the MySQL protocol, execute the following command to grant
the `Node_priv` privilege:
+```sql
+GRANT NODE_PRIV ON *.*.* TO ${DB_ADMIN_USER};
+```
+Refer to the official [CREATE USER
documentation](../../../sql-manual/sql-statements/account-management/CREATE-USER)
for more details on user creation and privilege assignment.
+
+#### Step 3: Update the DorisDisaggregatedCluster Resource
+- Option 1: Using Environment Variables
+ Specify the newly created user and password in the DorisDisaggregatedCluster
resource:
+ ```yaml
+ spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+ ${DB_ADMIN_USER}: the name of the new administrative user.
${DB_ADMIN_PASSWD}: the corresponding password.
+
+- Option 2: Using a Secret
+ a. Define the Secret
+ Create a Basic Authentication Secret in the following format:
+ ```yaml
+ stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+ Deploy the Secret to your Kubernetes cluster using the following command:
+ ```shell
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+ ${namespace}: the namespace where the DorisDisaggregatedCluster resource is
deployed. ${secretFileName}: the name of the Secret definition file.
+
+ b. Update the DorisDisaggregatedCluster Resource
+ Reference the Secret in the resource configuration:
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+ ${secretName}: the name of the Secret containing the user credentials.
+
+:::tip Note
+- After configuring the root password and specifying a new user with node
management privileges, Doris Operator will trigger a rolling restart of
existing services in the cluster.
+ :::
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
new file mode 100644
index 00000000000..f02786db589
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
@@ -0,0 +1,271 @@
+---
+{
+"title": "集群级配置",
+"language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+存算分离集群存在集群级别的配置,比如管控账号的用户名密码用于管理集群中各个组件的节点等。
+
+## 配置管理用户名和密码
+
+Doris 节点的管理需要通过用户名、密码以 MySQL 协议连接活着的 FE 节点进行操作。Doris 实现[类似 RBAC
的权限管理机制](../../../admin-manual/auth/authentication-and-authorization),节点的管理需要用户拥有
[Node_priv](../../../admin-manual/auth/authentication-and-authorization#权限类型)
权限。Doris Operator 默认使用拥有所有权限的 root 用户无密码模式对 DorisDisaggregatedCluster
资源配置的集群进行部署和管理。root 用户添加密码后,需要在 DorisDisaggregatedCluster 资源中显示配置拥有 Node_Priv
权限的用户名和密码,以便 Doris Operator 对集群进行自动化管理操作。
+
+DorisDisaggregatedCluster 资源提供两种方式来配置管理集群节点所需的用户名、密码,包括:环境变量配置的方式,以及使用
[Secret](https://kubernetes.io/docs/concepts/configuration/secret/)
配置的方式。配置集群管理的用户名和密码分为 3 种情况:
+
+- 集群部署需初始化 root 用户密码;
+
+- root 无密码部署下,自动化设置拥有管理权限的非 root 用户;
+
+- 集群 root 无密码模式部署后,设置 root 用户密码。
+
+### 集群部署配置 root 用户密码
+
+Doris 支持将 root 的用户以密文的形式配置在 `fe.conf` 中,在 Doris 首次部署时配置 root 用户的密码,以便让 Doris
Operator 能够自动管理集群节点,请按照如下步骤操作:
+
+#### 第 1 步:构建 root 加密密码
+
+Doris 支持密文的方式在 [FE
的配置文件](../../../admin-manual/config/fe-config#initial_root_password)中设置 root
用户的密码,密码的加密方式是采用两阶段 SHA-1 加密实现。代码实现示例如下:
+
+Java 代码实现:
+
+```java
+import org.apache.commons.codec.digest.DigestUtils;
+
+public static void main( String[] args ) {
+ //the original password
+ String a = "123456";
+ String b =
DigestUtils.sha1Hex(DigestUtils.sha1(a.getBytes())).toUpperCase();
+ //output the 2 stage encrypted password.
+ System.out.println("*"+b);
+ }
+```
+
+Golang 代码实现:
+
+```go
+import (
+"crypto/sha1"
+"encoding/hex"
+"fmt"
+"strings"
+)
+
+func main() {
+ //original password
+ plan := "123456"
+ //the first stage encryption.
+ h := sha1.New()
+ h.Write([]byte(plan))
+ eb := h.Sum(nil)
+
+ //the two stage encryption.
+ h.Reset()
+ h.Write(eb)
+ teb := h.Sum(nil)
+ dst := hex.EncodeToString(teb)
+ tes := strings.ToUpper(fmt.Sprintf("%s", dst))
+ //output the 2 stage encrypted password.
+ fmt.Println("*"+tes)
+}
+```
+
+将加密后的密码按照配置文件要求配置到 `fe.conf` 中,根据[FE 启动参数配置章节](config-fe.md#自定义启动配置)的说明,将配置文件以
`ConfigMap` 的形式下发到 Kubernetes 集群。
+
+#### 第 2 步:构建 DorisDisaggregatedCluster 资源
+
+配置文件设置了 root 初始化密码后,当 Doris FE 第一个节点启动后 root 的密码会立即生效,后续节点加入集群时,Doris Operator
将使用 root 用户名和密码来添加节点。因此,需要在部署的 DorisDisaggregatedCluster 资源中指定用户名和密码,以便 Doris
Operator 管理集群节点。
+
+- 环境变量方式
+
+ 将 root 用户名和密码配置到 DorisDisaggregatedCluster 资源中的 ".spec.adminUser.name" 和
".spec.adminUser.password" 字段,Doris Operator
会自动将这些配置转为容器的环境变量,容器内的辅助服务会使用环境变量来添加节点到集群。配置格式如下:
+
+ ```yaml
+ spec:
+ adminUser:
+ name: root
+ password: ${password}
+ ```
+
+ 其中,`${password}` 为 root 的非加密密码。
+
+- Secret 方式
+
+ Doris Operator 提供使用 [Basic authentication
Secret](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret)
来指定管理节点的用户名和密码,Doris Operator 会自动将 Secret
以文件形式挂载到容器指定位置,容器的辅助服务会解析出文件中的用户名和密码,用于自动将节点加入集群。basic-authentication-secret 的
stringData 只包含 2 个字段:username 和 password。使用 Secret 配置管理用户名和密码流程如下:
+
+ a. 配置需要使用的 Secret
+
+ 按照如下格式配置需要使用的 Basic Authentication Secret:
+
+ ```yaml
+ stringData:
+ username: root
+ password: ${password}
+ ```
+
+ 其中,`${password}` 为 root 设置的非加密密码。
+ 通过如下命令将更新后的 Secret 部署到 Kubernetes 集群中。
+ ```shell
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+ 其中,`${namespace}` 为 DorisDisaggregatedCluster 资源需要部署的命名空间,${secretFileName}
为需要部署的 Secret 的文件名称。
+
+ b. 配置 DorisDisaggregatedCluster 资源
+
+ 在需要部署的 DorisDisaggregatedCluster 资源中,指定使用的 Secret。配置如下:
+
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+
+ 其中,`${secretName}` 为包含 root 用户名和密码的 Secret 名称。
+
+### 部署时自动创建非 root 管理用户和密码(推荐)
+
+在首次部署时,如果不设置 root 的初始化密码,通过环境变量或者 Secret 的方式配置非 root 用户和登录密码。Doris 容器的辅助服务会自动在
Doris 中创建该用户,设置密码和赋予 Node_priv 权限,Doris Operator 将使用自动创建的用户名和密码管理集群节点。
+
+- 环境变量模式
+
+ 按照如下格式配置需要部署的 DorisDisaggregatedCluster 资源:
+ ```yaml
+ spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中,`${DB_ADMIN_USER}` 为需要新建拥有管理权限的用户名,`${DB_ADMIN_PASSWD}` 为新建用户的密码。
+
+- Secret 方式
+
+ a. 配置需要使用的 Secret
+
+ 按照如下格式配置需要使用的 Basic authentication Secret:
+
+ ```yaml
+ stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中,`${DB_ADMIN_USER}` 为新创建的用户名,`${DB_ADMIN_PASSWD}` 为新建用户名设置的密码。
+
+ 使用以下命令将 Secret 部署到 Kubernetes 集群中:
+
+ ```
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+
+ 其中,`${namespace}` 为 DorisDisaggregatedCluster 资源部署的命名空间,`${secretFileName}`
为需要部署的 Secret 的文件名称。
+
+ b. 更新 DorisDisaggregatedCluster 资源
+
+ 在 DorisDisaggregatedCluster 资源中指定使用的 Secret,如下所示:
+
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+
+ 其中,`${secretName}` 为部署的 Basic Authentication Secret 的名称。
+
+:::tip 提示
+- 部署后请设置 root 的密码,Doris Operator 会切换为使用新用户和密码管理集群节点,请避免删除新建的用户。
+ :::
+
+### 集群部署后设置 root 用户密码
+
+Doris 集群在部署后,若未设置 root 用户的密码。需要配置一个具有
[Node_priv](../../../admin-manual/auth/authentication-and-authorization.md#权限类型)
权限的用户,便于 Doris Operator 自动化的管理集群节点。建议不要使用 root
用户,请参考[用户新建和权限赋值章节](../../../sql-manual/sql-statements/account-management/CREATE-USER)来创建新用户并赋予
Node_priv 权限。创建用户后,通过环境变量或者 Secret 配置新的管理用户和密码,并在 DorisDisaggregatedCluster
资源中配置。
+
+#### 第 1 步:新建拥有 Node_priv 权限用户
+
+通过 MySQL 协议连接数据库后,通过如下命令创建一个仅拥有 Node_priv 权限的用户并设置密码。
+
+```shell
+CREATE USER '${DB_ADMIN_USER}' IDENTIFIED BY '${DB_ADMIN_PASSWD}';
+```
+
+其中 ${DB_ADMIN_USER} 为要创建的用户名,${DB_ADMIN_PASSWD} 为要设置的密码。
+
+#### 第 2 步:为新用户赋予 Node_priv 权限
+
+使用 MySQL 协议连接数据库后,执行如下命令将 Node_priv 权限赋予新用户。
+
+```shell
+GRANT NODE_PRIV ON *.*.* TO ${DB_ADMIN_USER};
+```
+
+其中,${DB_ADMIN_USER} 为新创建的用户名。
+
+新建用户名密码,以及赋予权限详细使用,请参考官方文档
[CREATE-USER](../../../sql-manual/sql-statements/account-management/CREATE-USER)
部分。
+
+#### 第 3 步:配置 DorisDisaggregatedCluster 资源
+
+- 环境变量方式
+
+ 在 DorisDisaggregatedCluster 资源中配置新建用户及其密码,格式如下:
+ ```yaml
+ spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中,${DB_ADMIN_USER} 为新建的用户名,${DB_ADMIN_PASSWD} 为新建用户设置的密码。
+
+- Secret 方式
+
+ a. 配置 Secret
+
+ 按照如下格式创建 Basic Authentication Secret:
+
+ ```yaml
+ stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中 ${DB_ADMIN_USER} 为新创建的用户名,${DB_ADMIN_PASSWD} 为新建用户名设置的密码。
+
+ 使用以下命令将 Secret 部署到 Kubernetes 集群:
+
+ ```shell
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+
+ 其中,`${namespace}` 为 DorisDisaggregatedCluster 资源部署的命名空间,`${secretFileName}`
为需要部署的 Secret 的文件名称。
+
+ b. 更新需要使用 Secret 的 DorisDisaggregatedCluster 资源
+
+ 在 DorisDisaggregatedCluster 资源中指定使用的 Secret,如下所示:
+
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+
+ 其中,`${secretName}` 为部署的 Basic authentication Secret 的名称。
+
+:::tip 提示
+- 部署后设置 root 密码,并配置新的拥有管理节点的用户名和密码后,会引起存量服务滚动重启一次。
+ :::
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
new file mode 100644
index 00000000000..f02786db589
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
@@ -0,0 +1,271 @@
+---
+{
+"title": "集群级配置",
+"language": "zh-CN"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+存算分离集群存在集群级别的配置,比如管控账号的用户名密码用于管理集群中各个组件的节点等。
+
+## 配置管理用户名和密码
+
+Doris 节点的管理需要通过用户名、密码以 MySQL 协议连接活着的 FE 节点进行操作。Doris 实现[类似 RBAC
的权限管理机制](../../../admin-manual/auth/authentication-and-authorization),节点的管理需要用户拥有
[Node_priv](../../../admin-manual/auth/authentication-and-authorization#权限类型)
权限。Doris Operator 默认使用拥有所有权限的 root 用户无密码模式对 DorisDisaggregatedCluster
资源配置的集群进行部署和管理。root 用户添加密码后,需要在 DorisDisaggregatedCluster 资源中显示配置拥有 Node_Priv
权限的用户名和密码,以便 Doris Operator 对集群进行自动化管理操作。
+
+DorisDisaggregatedCluster 资源提供两种方式来配置管理集群节点所需的用户名、密码,包括:环境变量配置的方式,以及使用
[Secret](https://kubernetes.io/docs/concepts/configuration/secret/)
配置的方式。配置集群管理的用户名和密码分为 3 种情况:
+
+- 集群部署需初始化 root 用户密码;
+
+- root 无密码部署下,自动化设置拥有管理权限的非 root 用户;
+
+- 集群 root 无密码模式部署后,设置 root 用户密码。
+
+### 集群部署配置 root 用户密码
+
+Doris 支持将 root 的用户以密文的形式配置在 `fe.conf` 中,在 Doris 首次部署时配置 root 用户的密码,以便让 Doris
Operator 能够自动管理集群节点,请按照如下步骤操作:
+
+#### 第 1 步:构建 root 加密密码
+
+Doris 支持密文的方式在 [FE
的配置文件](../../../admin-manual/config/fe-config#initial_root_password)中设置 root
用户的密码,密码的加密方式是采用两阶段 SHA-1 加密实现。代码实现示例如下:
+
+Java 代码实现:
+
+```java
+import org.apache.commons.codec.digest.DigestUtils;
+
+public static void main( String[] args ) {
+ //the original password
+ String a = "123456";
+ String b =
DigestUtils.sha1Hex(DigestUtils.sha1(a.getBytes())).toUpperCase();
+ //output the 2 stage encrypted password.
+ System.out.println("*"+b);
+ }
+```
+
+Golang 代码实现:
+
+```go
+import (
+"crypto/sha1"
+"encoding/hex"
+"fmt"
+"strings"
+)
+
+func main() {
+ //original password
+ plan := "123456"
+ //the first stage encryption.
+ h := sha1.New()
+ h.Write([]byte(plan))
+ eb := h.Sum(nil)
+
+ //the two stage encryption.
+ h.Reset()
+ h.Write(eb)
+ teb := h.Sum(nil)
+ dst := hex.EncodeToString(teb)
+ tes := strings.ToUpper(fmt.Sprintf("%s", dst))
+ //output the 2 stage encrypted password.
+ fmt.Println("*"+tes)
+}
+```
+
+将加密后的密码按照配置文件要求配置到 `fe.conf` 中,根据[FE 启动参数配置章节](config-fe.md#自定义启动配置)的说明,将配置文件以
`ConfigMap` 的形式下发到 Kubernetes 集群。
+
+#### 第 2 步:构建 DorisDisaggregatedCluster 资源
+
+配置文件设置了 root 初始化密码后,当 Doris FE 第一个节点启动后 root 的密码会立即生效,后续节点加入集群时,Doris Operator
将使用 root 用户名和密码来添加节点。因此,需要在部署的 DorisDisaggregatedCluster 资源中指定用户名和密码,以便 Doris
Operator 管理集群节点。
+
+- 环境变量方式
+
+ 将 root 用户名和密码配置到 DorisDisaggregatedCluster 资源中的 ".spec.adminUser.name" 和
".spec.adminUser.password" 字段,Doris Operator
会自动将这些配置转为容器的环境变量,容器内的辅助服务会使用环境变量来添加节点到集群。配置格式如下:
+
+ ```yaml
+ spec:
+ adminUser:
+ name: root
+ password: ${password}
+ ```
+
+ 其中,`${password}` 为 root 的非加密密码。
+
+- Secret 方式
+
+ Doris Operator 提供使用 [Basic authentication
Secret](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret)
来指定管理节点的用户名和密码,Doris Operator 会自动将 Secret
以文件形式挂载到容器指定位置,容器的辅助服务会解析出文件中的用户名和密码,用于自动将节点加入集群。basic-authentication-secret 的
stringData 只包含 2 个字段:username 和 password。使用 Secret 配置管理用户名和密码流程如下:
+
+ a. 配置需要使用的 Secret
+
+ 按照如下格式配置需要使用的 Basic Authentication Secret:
+
+ ```yaml
+ stringData:
+ username: root
+ password: ${password}
+ ```
+
+ 其中,`${password}` 为 root 设置的非加密密码。
+ 通过如下命令将更新后的 Secret 部署到 Kubernetes 集群中。
+ ```shell
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+ 其中,`${namespace}` 为 DorisDisaggregatedCluster 资源需要部署的命名空间,${secretFileName}
为需要部署的 Secret 的文件名称。
+
+ b. 配置 DorisDisaggregatedCluster 资源
+
+ 在需要部署的 DorisDisaggregatedCluster 资源中,指定使用的 Secret。配置如下:
+
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+
+ 其中,`${secretName}` 为包含 root 用户名和密码的 Secret 名称。
+
+### 部署时自动创建非 root 管理用户和密码(推荐)
+
+在首次部署时,如果不设置 root 的初始化密码,通过环境变量或者 Secret 的方式配置非 root 用户和登录密码。Doris 容器的辅助服务会自动在
Doris 中创建该用户,设置密码和赋予 Node_priv 权限,Doris Operator 将使用自动创建的用户名和密码管理集群节点。
+
+- 环境变量模式
+
+ 按照如下格式配置需要部署的 DorisDisaggregatedCluster 资源:
+ ```yaml
+ spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中,`${DB_ADMIN_USER}` 为需要新建拥有管理权限的用户名,`${DB_ADMIN_PASSWD}` 为新建用户的密码。
+
+- Secret 方式
+
+ a. 配置需要使用的 Secret
+
+ 按照如下格式配置需要使用的 Basic authentication Secret:
+
+ ```yaml
+ stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中,`${DB_ADMIN_USER}` 为新创建的用户名,`${DB_ADMIN_PASSWD}` 为新建用户名设置的密码。
+
+ 使用以下命令将 Secret 部署到 Kubernetes 集群中:
+
+ ```
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+
+ 其中,`${namespace}` 为 DorisDisaggregatedCluster 资源部署的命名空间,`${secretFileName}`
为需要部署的 Secret 的文件名称。
+
+ b. 更新 DorisDisaggregatedCluster 资源
+
+ 在 DorisDisaggregatedCluster 资源中指定使用的 Secret,如下所示:
+
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+
+ 其中,`${secretName}` 为部署的 Basic Authentication Secret 的名称。
+
+:::tip 提示
+- 部署后请设置 root 的密码,Doris Operator 会切换为使用新用户和密码管理集群节点,请避免删除新建的用户。
+ :::
+
+### 集群部署后设置 root 用户密码
+
+Doris 集群在部署后,若未设置 root 用户的密码。需要配置一个具有
[Node_priv](../../../admin-manual/auth/authentication-and-authorization.md#权限类型)
权限的用户,便于 Doris Operator 自动化的管理集群节点。建议不要使用 root
用户,请参考[用户新建和权限赋值章节](../../../sql-manual/sql-statements/account-management/CREATE-USER)来创建新用户并赋予
Node_priv 权限。创建用户后,通过环境变量或者 Secret 配置新的管理用户和密码,并在 DorisDisaggregatedCluster
资源中配置。
+
+#### 第 1 步:新建拥有 Node_priv 权限用户
+
+通过 MySQL 协议连接数据库后,通过如下命令创建一个仅拥有 Node_priv 权限的用户并设置密码。
+
+```shell
+CREATE USER '${DB_ADMIN_USER}' IDENTIFIED BY '${DB_ADMIN_PASSWD}';
+```
+
+其中 ${DB_ADMIN_USER} 为要创建的用户名,${DB_ADMIN_PASSWD} 为要设置的密码。
+
+#### 第 2 步:为新用户赋予 Node_priv 权限
+
+使用 MySQL 协议连接数据库后,执行如下命令将 Node_priv 权限赋予新用户。
+
+```shell
+GRANT NODE_PRIV ON *.*.* TO ${DB_ADMIN_USER};
+```
+
+其中,${DB_ADMIN_USER} 为新创建的用户名。
+
+新建用户名密码,以及赋予权限详细使用,请参考官方文档
[CREATE-USER](../../../sql-manual/sql-statements/account-management/CREATE-USER)
部分。
+
+#### 第 3 步:配置 DorisDisaggregatedCluster 资源
+
+- 环境变量方式
+
+ 在 DorisDisaggregatedCluster 资源中配置新建用户及其密码,格式如下:
+ ```yaml
+ spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中,${DB_ADMIN_USER} 为新建的用户名,${DB_ADMIN_PASSWD} 为新建用户设置的密码。
+
+- Secret 方式
+
+ a. 配置 Secret
+
+ 按照如下格式创建 Basic Authentication Secret:
+
+ ```yaml
+ stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+
+ 其中 ${DB_ADMIN_USER} 为新创建的用户名,${DB_ADMIN_PASSWD} 为新建用户名设置的密码。
+
+ 使用以下命令将 Secret 部署到 Kubernetes 集群:
+
+ ```shell
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+
+ 其中,`${namespace}` 为 DorisDisaggregatedCluster 资源部署的命名空间,`${secretFileName}`
为需要部署的 Secret 的文件名称。
+
+ b. 更新需要使用 Secret 的 DorisDisaggregatedCluster 资源
+
+ 在 DorisDisaggregatedCluster 资源中指定使用的 Secret,如下所示:
+
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+
+ 其中,`${secretName}` 为部署的 Basic authentication Secret 的名称。
+
+:::tip 提示
+- 部署后设置 root 密码,并配置新的拥有管理节点的用户名和密码后,会引起存量服务滚动重启一次。
+ :::
diff --git a/sidebars.json b/sidebars.json
index e1cef94059e..64a9824588a 100644
--- a/sidebars.json
+++ b/sidebars.json
@@ -55,6 +55,7 @@
"label": "Separating Storage Compute",
"items": [
"install/deploy-on-kubernetes/separating-storage-compute/install-fdb",
+
"install/deploy-on-kubernetes/separating-storage-compute/config-cluster",
"install/deploy-on-kubernetes/separating-storage-compute/config-ms",
"install/deploy-on-kubernetes/separating-storage-compute/config-fe",
"install/deploy-on-kubernetes/separating-storage-compute/config-cg",
diff --git
a/versioned_docs/version-3.0/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
b/versioned_docs/version-3.0/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
new file mode 100644
index 00000000000..e017b156110
--- /dev/null
+++
b/versioned_docs/version-3.0/install/deploy-on-kubernetes/separating-storage-compute/config-cluster.md
@@ -0,0 +1,226 @@
+---
+{
+"title": "Config Cluster",
+"language": "en"
+}
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+In a disaggregated compute-storage cluster, certain configurations apply at
the cluster level, such as credentials used by the management system to
administer the nodes of various components.
+
+## Configuring Management Username and Password
+Managing Doris nodes requires connecting to a live Frontend (FE) node using a
username and password via the MySQL protocol. Doris implements a [role-based
access control (RBAC)-like authorization
mechanism](../../../admin-manual/auth/authentication-and-authorization), and
node management operations require a user account with the
[Node_priv](../../../admin-manual/auth/authentication-and-authorization#Types-of-Permissions)
privilege.
+
+By default, the Doris Operator uses the root user—who has full privileges and
no password—for deploying and managing clusters defined in the
DorisDisaggregatedCluster resource. Once a password is assigned to the root
account, it is necessary to explicitly configure a username and password with
Node_priv in the DorisDisaggregatedCluster resource, enabling the Doris
Operator to continue performing automated management tasks.
+
+The DorisDisaggregatedCluster resource supports two methods for configuring
the credentials required to manage cluster nodes: using environment variables,
or using a Kubernetes Secret. Depending on the deployment scenario, the
management credentials can be configured in the following ways:
+
+- Initializing a password for the root user during cluster deployment
+
+- Automatically creating a non-root user with management privileges in a
passwordless root deployment
+
+- Assigning a password to the root user after the cluster has been deployed
using the passwordless root mode
+
+### Configuring the Root User Password During Cluster Deployment
+Doris supports specifying the root user password in encrypted form within the
`fe.conf` file. To enable Doris Operator to automatically manage cluster nodes
during initial deployment, follow the steps below to configure the root
password.
+
+#### Step 1: Generate the Encrypted Root Password
+Doris allows you to configure the root user password in the [FE configuration
file](../../../admin-manual/config/fe-config#initial_root_password) using an
encrypted format. The password is encrypted using a two-stage SHA-1 hashing
algorithm. Below are code examples demonstrating how to perform this encryption:
+
+**Java Implementation:**
+```javascript
+import org.apache.commons.codec.digest.DigestUtils;
+
+public static void main(String[] args) {
+ // Original password
+ String a = "123456";
+ String b =
DigestUtils.sha1Hex(DigestUtils.sha1(a.getBytes())).toUpperCase();
+ // Output the two-stage encrypted password
+ System.out.println("*" + b);
+}
+```
+**Golang Implementation:**
+```go
+import (
+ "crypto/sha1"
+ "encoding/hex"
+ "fmt"
+ "strings"
+)
+
+func main() {
+ // Original password
+ plan := "123456"
+
+ // First stage encryption
+ h := sha1.New()
+ h.Write([]byte(plan))
+ eb := h.Sum(nil)
+
+ // Second stage encryption
+ h.Reset()
+ h.Write(eb)
+ teb := h.Sum(nil)
+ dst := hex.EncodeToString(teb)
+ tes := strings.ToUpper(fmt.Sprintf("%s", dst))
+
+ // Output the two-stage encrypted password
+ fmt.Println("*" + tes)
+}
+```
+Add the resulting encrypted password to the fe.conf file as required. Then,
follow the instructions in the [FE startup configuration
section](config-fe.md#custom-startup-configuration) to deliver the
configuration file to the Kubernetes cluster using a `ConfigMap`.
+
+#### Step 2: Define the DorisDisaggregatedCluster Resource
+Once the initial password is configured in the `fe.conf` file, the root
password takes effect immediately when the first Doris FE node starts. As
additional nodes join the cluster, Doris Operator uses the root credentials to
manage and add these nodes. Therefore, it is necessary to provide the root
username and password in the `DorisDisaggregatedCluster` resource.
+
+**Option 1: Using Environment Variables**
+Specify the root credentials in the `.spec.adminUser.name` and
`.spec.adminUser.password` fields of the `DorisDisaggregatedCluster` resource.
Doris Operator will automatically convert these values into container
environment variables. Auxiliary services within the container will use these
environment variables to add nodes to the cluster.
+Example configuration:
+```yaml
+spec:
+ adminUser:
+ name: root
+ password: ${password}
+```
+Here, ${password} should be the plaintext (unencrypted) password for the root
user.
+
+**Option 2: Using a Secret**
+Doris Operator also supports using a [Basic Authentication
Secret](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret)
to provide the root username and password. Doris Operator will mount this
Secret into the container as a file, which auxiliary services will parse to
retrieve the credentials and use them to automatically add nodes to the cluster.
+
+The Secret must contain exactly two fields: `username` and `password`.
+
+1. Define the Secret
+ Create a Basic Authentication Secret in the following format:
+
+ ```yaml
+ stringData:
+ username: root
+ password: ${password}
+ ```
+ ${password} is the plaintext password for the root user.
+ Deploy the Secret to the Kubernetes cluster using the command below:
+ ```yaml
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+ ${namespace}: the target namespace where the DorisDisaggregatedCluster
will be deployed.
+ ${secretFileName}: the name of the YAML file containing the Secret
definition
+
+2. Configure the DorisDisaggregatedCluster Resource
+ Reference the Secret in the `DorisDisaggregatedCluster` resource using the
`spec.authSecret` field:
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+ Here, ${secretName} is the name of the Kubernetes Secret containing the
root user credentials.
+
+### Automatically Creating a Non-Root Administrative User and Password During
Deployment (Recommended)
+If you choose not to set an initial password for the root user during the
first deployment, you can configure a non-root administrative user and its
password using either environment variables or a Kubernetes Secret. Doris's
auxiliary services within the container will automatically create this user
within Doris, assign the specified password, and grant it the `Node_priv`
privilege. The Doris Operator will then use this automatically created user
account to manage cluster nodes.
+
+#### Option 1: Using Environment Variables
+Define the `DorisDisaggregatedCluster` resource as shown below:
+```yaml
+spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+```
+${DB_ADMIN_USER}: the name of the new non-root user with administrative
privileges. ${DB_ADMIN_PASSWD}: the password to assign to the new user.
+
+#### Option 2: Using a Secret
+a. Create the Required Secret
+Define a Basic Authentication Secret using the following format:
+```yaml
+stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+```
+${DB_ADMIN_USER}: the username for the new administrative user.
${DB_ADMIN_PASSWD}: the password to assign to the new user.
+Deploy the Secret to your Kubernetes cluster using:
+```shell
+kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+```
+${namespace}: the namespace where the DorisDisaggregatedCluster resource is
deployed. ${secretFileName}: the name of the YAML file defining the Secret.
+
+b. Update the DorisDisaggregatedCluster Resource
+Specify the Secret in the `DorisDisaggregatedCluster` resource:
+```yaml
+spec:
+ authSecret: ${secretName}
+```
+${secretName}: the name of the Secret containing the non-root administrative
user credentials.
+
+:::tip Note
+After deployment, it is recommended to set a password for the root user. Once
this is done, Doris Operator will switch to managing cluster nodes using the
new non-root user. Avoid deleting this user after it has been created.
+:::
+
+### Setting the Root User Password After Cluster Deployment
+If the root user password is not configured during initial deployment, a user
with the
[Node_priv](../../../admin-manual/auth/authentication-and-authorization.md#types-of-permissions)
privilege must be provided to allow Doris Operator to continue managing
cluster nodes automatically. It is not recommended to use the root user for
this purpose. Instead, refer to the [User Creation and Privilege Assignment
documentation](../../../sql-manual/sql-statements/account-management/CREATE-USER)
to [...]
+
+#### Step 1: Create a User with Node_priv Privilege
+Connect to the database using the MySQL protocol, and execute the following
SQL command to create a new user and assign a password:
+```sql
+CREATE USER '${DB_ADMIN_USER}' IDENTIFIED BY '${DB_ADMIN_PASSWD}';
+```
+${DB_ADMIN_USER}: the name of the user to be created. ${DB_ADMIN_PASSWD}: the
password for the new user.
+
+#### Step 2: Grant Node_priv Privilege to the User
+Still connected via the MySQL protocol, execute the following command to grant
the `Node_priv` privilege:
+```sql
+GRANT NODE_PRIV ON *.*.* TO ${DB_ADMIN_USER};
+```
+Refer to the official [CREATE USER
documentation](../../../sql-manual/sql-statements/account-management/CREATE-USER)
for more details on user creation and privilege assignment.
+
+#### Step 3: Update the DorisDisaggregatedCluster Resource
+- Option 1: Using Environment Variables
+ Specify the newly created user and password in the
DorisDisaggregatedCluster resource:
+ ```yaml
+ spec:
+ adminUser:
+ name: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+ ${DB_ADMIN_USER}: the name of the new administrative user.
${DB_ADMIN_PASSWD}: the corresponding password.
+
+- Option 2: Using a Secret
+ a. Define the Secret
+ Create a Basic Authentication Secret in the following format:
+ ```yaml
+ stringData:
+ username: ${DB_ADMIN_USER}
+ password: ${DB_ADMIN_PASSWD}
+ ```
+ Deploy the Secret to your Kubernetes cluster using the following command:
+ ```shell
+ kubectl -n ${namespace} apply -f ${secretFileName}.yaml
+ ```
+ ${namespace}: the namespace where the DorisDisaggregatedCluster resource
is deployed. ${secretFileName}: the name of the Secret definition file.
+
+ b. Update the DorisDisaggregatedCluster Resource
+ Reference the Secret in the resource configuration:
+ ```yaml
+ spec:
+ authSecret: ${secretName}
+ ```
+ ${secretName}: the name of the Secret containing the user credentials.
+
+:::tip Note
+After configuring the root password and specifying a new user with node
management privileges, Doris Operator will trigger a rolling restart of
existing services in the cluster.
+:::
diff --git a/versioned_sidebars/version-3.0-sidebars.json
b/versioned_sidebars/version-3.0-sidebars.json
index eb4c74edbf3..dc4c99495ab 100644
--- a/versioned_sidebars/version-3.0-sidebars.json
+++ b/versioned_sidebars/version-3.0-sidebars.json
@@ -55,6 +55,7 @@
"label": "Separating Storage Compute",
"items": [
"install/deploy-on-kubernetes/separating-storage-compute/install-fdb",
+
"install/deploy-on-kubernetes/separating-storage-compute/config-cluster",
"install/deploy-on-kubernetes/separating-storage-compute/config-ms",
"install/deploy-on-kubernetes/separating-storage-compute/config-fe",
"install/deploy-on-kubernetes/separating-storage-compute/config-cg",
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]