Skip to content

Commit

Permalink
Preview PR pingcap/docs-tidb-operator#2478 and this preview is trigge…
Browse files Browse the repository at this point in the history
  • Loading branch information
Docsite Preview Bot committed Mar 21, 2024
1 parent e1b3d36 commit d1616f9
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,11 @@ TiDB Operator 支持为 PD、TiDB、TiKV、TiCDC 挂载多块 PV,可以用于
<div label="PD 微服务">
为 PD 微服务挂载 PV,以 TSO 微服务为例:
为 PD 微服务挂载 PV,以 `tso` 微服务为例:

> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md)。
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)。

```yaml
pd:
Expand Down Expand Up @@ -271,7 +271,7 @@ spec:

> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md)。
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)。

如果要在集群中开启 PD 微服务,需要在 `${cluster_name}/tidb-cluster.yaml` 文件中配置 `spec.pd.mode` 与 `spec.pdms`:

Expand All @@ -288,8 +288,7 @@ spec:
replicas: 1
```

- `spec.pd.mode` 用于开启或关闭 PD 微服务。`"ms"` 表示开启 PD 微服务,当为 `""` 或删除 `mode` 字段时,表示关闭 PD 微服务。

- `spec.pd.mode` 用于开启或关闭 PD 微服务。设置为 `"ms"` 时表示开启 PD 微服务,设置为 `""` 或删除该字段时,表示关闭 PD 微服务。
- `spec.pdms.config` 用于配置 PD 微服务,具体的配置参数与 `spec.pd.config` 相同。要获取 PD 微服务可配置的所有参数,请参考 [PD 配置文件描述](https://docs.pingcap.com/zh/tidb/stable/pd-configuration-file)。

#### 部署 TiProxy
Expand Down Expand Up @@ -428,7 +427,7 @@ spec:
>
> PD 从 v8.0.0 版本开始支持微服务模式。

你可以通过 TidbCluster CR 的 `spec.pd.mode` 与 `spec.pdms` 来配置 PD 微服务参数。目前 PD 支持 TSO 和 Scheduling 两个微服务(配置名为 `tso` 和 `scheduling`,配置示例如下:
你可以通过 TidbCluster CR 的 `spec.pd.mode` 与 `spec.pdms` 来配置 PD 微服务参数。目前 PD 支持 `tso` 和 `scheduling` 这两个微服务,配置示例如下:

```yaml
spec:
Expand All @@ -454,9 +453,9 @@ spec:
> **注意:**
>
> - 为了兼容 `helm` 部署,如果你的 TiDB 集群是通过 CR 文件部署的,即使你不设置 `config` 配置,也需要保证 `config: {}` 的设置,避免 PD 微服务组件无法正常启动。
> - 如果是直接启用 PD 微服务模式,PD 微服务的部分配置项会持久化到 etcd 中且后续将以 etcd 中的配置为准。
> - 如果是切换到 PD 微服务模式,PD 微服务的部分配置会沿用 PD 的配置并持久化到 etcd 中,后续将以 etcd 中的配置为准。
> - 因此 PD 微服务在首次启动后,这些配置项将无法再通过配置参数来进行修改,而需要使用 SQLpd-ctl 或 PD server API 来动态进行修改,PD 微服务会同步修改。目前,[在线修改 PD 配置](https://docs.pingcap.com/zh/tidb/stable/dynamic-config#在线修改-pd-配置)文档中所列的配置项中,除 `log.level` 外,其他配置项在 PD 首次启动之后均不再支持通过配置参数进行修改
> - 如果在部署 TiDB 集群时就启用了 PD 微服务模式,PD 微服务的部分配置项会持久化到 etcd 中且后续将以 etcd 中的配置为准。
> - 如果在现有 TiDB 集群中启用 PD 微服务模式,PD 微服务的部分配置会沿用 PD 的配置并持久化到 etcd 中,后续将以 etcd 中的配置为准。
> - 因此PD 微服务在首次启动后,这些配置项将无法再通过配置参数来进行修改,而需要使用 [SQL](https://docs.pingcap.com/zh/tidb/stable/dynamic-config#在线修改-pd-配置)、[pd-ctl](https://docs.pingcap.com/tidb/stable/pd-control#config-show--set-option-value--placement-rules) 或 PD server API 来动态进行修改。目前,[在线修改 PD 配置](https://docs.pingcap.com/zh/tidb/stable/dynamic-config#在线修改-pd-配置)文档中所列的配置项中,除 `log.level` 外,其他配置项在 PD 微服务首次启动之后均不再支持通过配置参数进行修改

#### 配置 TiProxy 配置参数

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ EOF

2. 以步骤 1 为例,按顺序进行如下升级操作:

1. 如果集群中部署了 [PD 微服务](pd-microservices.md)(从 TiDB v8.0.0 版本开始支持),为所有部署了 PD 微服务的 Kubernetes 集群升级 PD 微服务版本。
1. 如果集群中部署了 [PD 微服务](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)(从 TiDB v8.0.0 版本开始支持),为所有部署了 PD 微服务的 Kubernetes 集群升级 PD 微服务版本。
2. 如果集群中部署了 TiProxy,为所有部署了 TiProxy 的 Kubernetes 集群升级 TiProxy 版本。
3. 如果集群中部署了 TiFlash,为所有部署了 TiFlash 的 Kubernetes 集群升级 TiFlash 版本。
4. 升级所有 Kubernetes 集群的 TiKV 版本。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ aliases: ['/docs-cn/tidb-in-kubernetes/dev/enable-tls-between-components/']
> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md)。如需部署 PD 微服务,并不需要为 PD 微服务的各个组件生成证书,只需要在 `pd-server.json` 文件的 `hosts` 字段中添加微服务相关的 hosts 配置即可。以 Scheduling 微服务为例,你需要进行以下配置:
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)。如需部署 PD 微服务,并不需要为 PD 微服务的各个组件生成证书,只需要在 `pd-server.json` 文件的 `hosts` 字段中添加微服务相关的 hosts 配置即可。以 `scheduling` 微服务为例,你需要进行以下配置:
>
> ``` json
> ...
Expand All @@ -164,7 +164,7 @@ aliases: ['/docs-cn/tidb-in-kubernetes/dev/enable-tls-between-components/']
> "${cluster_name}-pd",
> ...
> "*.${cluster_name}-pd-peer.${namespace}.svc",
> // 以下是为 Scheduling 微服务添加的 hosts 配置
> // 以下是为 `scheduling` 微服务添加的 hosts 配置
> "${cluster_name}-scheduling",
> "${cluster_name}-scheduling.${cluster_name}",
> "${cluster_name}-scheduling.${cluster_name}.svc",
Expand Down Expand Up @@ -1389,10 +1389,10 @@ aliases: ['/docs-cn/tidb-in-kubernetes/dev/enable-tls-between-components/']
> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md),如需部署 PD 微服务,需要为各个微服务配置 `cert-allowed-cn`。以 Scheduling 服务为例,你需要进行以下配置:
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices),如需部署 PD 微服务,需要为各个微服务配置 `cert-allowed-cn`。以 Scheduling 服务为例,你需要进行以下配置:
>
> - 更新 `pd.mode``ms`
> - 为 `scheduling` 服务配置 `security` 字段
> - 为 `scheduling` 微服务配置 `security` 字段
>
> ```yaml
> pd:
Expand Down
3 changes: 1 addition & 2 deletions markdown-pages/zh/tidb-in-kubernetes/master/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,8 +322,7 @@ tidbcluster.pingcap.com/basic created

> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md),如需部署 PD 微服务,可以按照如下方式进行部署:
>
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)。如需部署 PD 微服务,可以按照如下方式进行部署:
>
> ``` shell
> kubectl create namespace tidb-cluster && \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@ PD 中[支持在线修改的配置项](https://docs.pingcap.com/zh/tidb/stable/d

> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md)。
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)。

在 PD 微服务各个组件首次启动成功后,PD 的部分配置项会持久化到 etcd 中,且后续将以 etcd 中的配置为准。因此,在 PD 微服务各个组件首次启动后,这些配置项将无法再通过 TidbCluster CR 来进行修改。

PD 微服务各个组件中[支持在线修改的配置项](https://docs.pingcap.com/zh/tidb/stable/dynamic-config#在线修改-pd-配置)里,除 `log.level` 外,其他配置项在 PD 微服务各个组件首次启动之后均不再支持通过 TidbCluster CR 进行修改。

对于部署在 Kubernetes 中的 TiDB 集群,如需修改 PD 配置参数,需要使用 [SQL](https://docs.pingcap.com/zh/tidb/stable/dynamic-config/#在线修改-pd-配置)、[pd-ctl](https://docs.pingcap.com/tidb/stable/pd-control#config-show--set-option-value--placement-rules) 或 PD server API 来动态进行修改,PD 微服务会同步修改
对于部署在 Kubernetes 中的 TiDB 集群,如需修改 PD 微服务配置参数,你可以使用 [SQL](https://docs.pingcap.com/zh/tidb/stable/dynamic-config#在线修改-pd-配置)、[pd-ctl](https://docs.pingcap.com/tidb/stable/pd-control#config-show--set-option-value--placement-rules) 或 PD server API 来动态进行修改。

## 修改 TiProxy 组件配置

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,21 +159,21 @@ watch kubectl -n ${namespace} get pod -o wide

> **注意:**
>
> PD 从 v8.0.0 版本开始支持[微服务模式](pd-microservices.md)。
> PD 从 v8.0.0 版本开始支持[微服务模式](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)。

PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务质量。可通过 [PD 微服务常见问题](pd-microservices.md#常见问题) 判断是否需要进行 PD 微服务扩缩容操作。
PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务质量。可通过 [PD 微服务常见问题](https://docs.pingcap.com/zh/tidb/dev/pd-microservices#常见问题) 判断是否需要进行 PD 微服务扩缩容操作。

- 目前,PD 微服务模式可将 PD 的时间戳分配和集群调度功能拆分为 TSO 微服务和 Scheduling 微服务单独部署。
- TSO 微服务为主备架构,如遇到瓶颈建议采用垂直扩缩容。
- Scheduling 微服务为调度组件,如遇到瓶颈建议采用水平扩缩容。
- 目前,PD 微服务模式可将 PD 的时间戳分配和集群调度功能拆分为 `tso` 微服务和 `scheduling` 微服务单独部署。
- `tso` 微服务为主备架构,如遇到瓶颈建议采用垂直扩缩容。
- `scheduling` 微服务为调度组件,如遇到瓶颈建议采用水平扩缩容。

- 如果要对 PD 微服务各个组件进行垂直扩缩容,可以使用 `kubectl` 命令修改集群所对应的 `TidbCluster` 对象的 `spec.pdms.resources` 至期望值。

- 如果要对 PD 微服务各个组件进行水平扩缩容,可以使用 `kubectl` 命令修改集群所对应的 `TidbCluster` 对象中的 `spec.pdms.replicas` 至期望值。
- 如果要对 PD 微服务各个组件进行水平扩缩容,可以使用 `kubectl` 命令修改集群所对应的 `TidbCluster` 对象的 `spec.pdms.replicas` 至期望值。

以下步骤以 Scheduling 微服务为例说明如何进行水平扩缩容:
以下步骤以 `scheduling` 微服务为例说明如何进行水平扩缩容:

1. 按需修改 TiDB 集群组件的 `replicas` 值。例如,执行以下命令可将 `scheduling``replicas` 值设置为 `3`
1. 按需修改 `TidbCluster` 对象的 `replicas` 值。例如,执行以下命令可将 `scheduling``replicas` 值设置为 `3`

```shell
kubectl patch -n ${namespace} tc ${cluster_name} --type merge --patch '{"spec":{"pdms":{"name":"scheduling", "replicas":3}}}'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ summary: 了解如何通过配置挂起 Kubernetes 上的 TiDB 集群。

> **注意:**
>
> 如果集群中部署了 [PD 微服务](pd-microservices.md)(从 TiDB v8.0.0 版本开始支持),PD 微服务组件的 Pod 会在删除 PD 之后被删除。
> 如果集群中部署了 [PD 微服务](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)(从 TiDB v8.0.0 版本开始支持),PD 微服务组件的 Pod 会在删除 PD 之后被删除。

## 恢复 TiDB 集群

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Kubernetes 提供了[滚动更新功能](https://kubernetes.io/docs/tutorials/ku

> **注意:**
>
> 当集群中部署了 [PD 微服务](pd-microservices.md)(从 TiDB v8.0.0 版本开始支持)时,如果采用滚动更新来升级 TiDB 集群,TiDB Operator 会按照 PD 各个微服务组件、PD、TiKV、TiDB 的顺序,串行地删除旧版本的 Pod 并创建新版本的 Pod。当新版本的 Pod 正常运行后,再处理下一个 Pod。
> 当集群中部署了 [PD 微服务](https://docs.pingcap.com/zh/tidb/dev/pd-microservices)(从 TiDB v8.0.0 版本开始支持)时,如果采用滚动更新来升级 TiDB 集群,TiDB Operator 会按照 PD 各个微服务组件、PD、TiKV、TiDB 的顺序,串行地删除旧版本的 Pod 并创建新版本的 Pod。当新版本的 Pod 正常运行后,再处理下一个 Pod。
滚动更新中,TiDB Operator 会自动处理 PD 和 TiKV 的 Leader 迁移。因此,在多节点的部署拓扑下(最小环境:PD \* 3、TiKV \* 3、TiDB \* 2),滚动更新 TiKV、PD 不会影响业务正常运行。对于有连接重试功能的客户端,滚动更新 TiDB 同样不会影响业务。

Expand Down

0 comments on commit d1616f9

Please sign in to comment.