11---
22title : Overlay 功能
3- summary : 了解如何使用 TiDB Operator 的 Overlay 功能来自定义和覆盖 Kubernetes 原生资源的配置,包括 Pod、PersistentVolumeClaim 等资源的灵活配置调整 。
3+ summary : 介绍如何使用 TiDB Operator 的 Overlay 功能自定义并覆盖 Kubernetes 原生资源的配置,例如调整 Pod、PersistentVolumeClaim 等资源,以满足不同的部署需求 。
44---
55
66# Overlay 功能
77
8- 本文档介绍 TiDB Operator 的 Overlay 功能的使用场景 、使用方法、使用限制和常见问题。
8+ 本文介绍 TiDB Operator 的 Overlay 功能,包括其适用场景 、使用方法、注意事项和最佳实践。
99
10- Overlay 功能是 TiDB Operator 提供的一种配置机制,允许用户自定义和覆盖 Kubernetes 原生资源的配置 。通过 Overlay,你可以在不修改 TiDB Operator 代码的情况下,灵活地调整 Pod、 PersistentVolumeClaim (PVC) 等 Kubernetes 资源的配置,以满足特定的部署需求。
10+ Overlay 功能是 TiDB Operator 提供的一种配置机制,允许用户在不修改 TiDB Operator 源代码的前提下,自定义并覆盖 Kubernetes 集群中原生资源的配置 。通过 Overlay 功能,你可以灵活地调整 Pod 和 PersistentVolumeClaim (PVC) 等 Kubernetes 资源的配置,以满足特定的部署需求。
1111
12- ## 使用场景
12+ ## 适用场景
1313
14- Overlay 功能可以在以下场景中使用 :
14+ Overlay 功能适用于以下场景 :
1515
16- - 为容器添加自定义环境变量:例如配置日志级别、时区等
17- - 配置 Pod 的安全上下文(security context):如设置特定的 Linux 权限
18- - 原地更新 Pod/ PVC 的标签或注解(无需重启):用于集成第三方工具
19- - 自定义资源限制:调整 CPU 和内存限制
20- - 添加 sidecar 容器:注入监控或日志收集容器
16+ - 自定义容器环境变量:例如配置容器的日志级别或时区设置
17+ - 配置 Pod 的安全上下文 ( ` securityContext ` ):例如设置特定的 Linux 权限
18+ - 原地更新 Pod 或 PVC 的标签或注解(无需重启):用于集成第三方工具
19+ - 自定义资源限制:根据实际需求调整容器的 CPU 和内存限制
20+ - 注入 [ sidecar 容器] ( https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/sidecar-containers/ ) :向 Pod 中添加额外的辅助容器 (sidecar),例如用于监控或日志收集
2121
2222## 使用方法
2323
24- 在 Component Group (如 ` PDGroup ` 、` TiDBGroup ` 、` TiKVGroup ` 、` TiFlashGroup ` 、` TiCDCGroup ` ) 等 Custom Resource (CR) 的 ` spec.template.spec.overlay ` 字段中定义配置 。
24+ 你可以在 Component Group(例如 ` PDGroup ` 、` TiDBGroup ` 、` TiKVGroup ` 、` TiFlashGroup ` 、` TiCDCGroup ` 等) Custom Resource (CR) 的 ` spec.template.spec.overlay ` 字段中定义所需的配置 。
2525
26- 例如,为 PD 的容器添加了一个自定义环境变量 :
26+ 以下示例展示如何为 PD 容器添加一个名为 ` CUSTOM_ENV_VAR ` 的环境变量 :
2727
2828``` yaml
2929apiVersion : core.pingcap.com/v1alpha1
4343 value : " custom_value"
4444` ` `
4545
46- 或者为 TiKV 的 PVC 添加一个自定义标签 :
46+ 以下示例展示如何为 TiKV 的 PVC 添加一个名为 ` custom-label` 的自定义标签 :
4747
4848` ` ` yaml
4949apiVersion: core.pingcap.com/v1alpha1
@@ -69,20 +69,20 @@ spec:
6969
7070# # 注意事项
7171
72- 1. Overlay 功能会将你定义的配置与 TiDB Operator 生成的默认配置合并 。如果存在冲突,会以 Overlay 中定义的配置为准。
72+ - Overlay 功能会将你在 `spec.template.spec.overlay` 字段中定义的配置与 TiDB Operator 自动生成的默认配置进行合并 。如果存在冲突,以 Overlay 中定义的配置为准。
7373
74- 2. 对于 map 类型的字段(例如 ` nodeSelector`、`labels` 等) ,Overlay 会将你定义的值与已存在的值合并 ,而不是完全替换。
74+ - 对于 `nodeSelector`、`labels` 等 map 类型的字段 ,Overlay 功能会将你定义的值添加到已有的值中 ,而不是完全替换。
7575
76- 3. 使用 Overlay 功能时,请确保你了解所修改配置的影响,特别是涉及到安全上下文、资源限制等关键配置时 。
76+ - 在使用 Overlay 功能修改配置前,请务必充分了解这些修改可能带来的影响,特别是涉及安全上下文 (`securityContext`) 和资源限制等关键配置时 。
7777
78784. 某些字段可能不支持通过 Overlay 进行修改,这取决于 TiDB Operator 的实现。
7979
8080# # 最佳实践
8181
82- 1. **逐步引入变更**:在生产环境中使用 Overlay 功能时,建议先在测试环境验证配置,然后再逐步应用到生产环境 。
82+ - **逐步引入变更**:在生产环境中使用 Overlay 功能时,建议先在测试环境中进行充分的验证,确认配置的正确性和稳定性后再逐步应用到生产环境 。
8383
84- 2. **保持配置简洁**:只覆盖必要的配置,避免不必要的复杂性 。
84+ - **保持配置简洁**:只覆盖必要的配置,避免引入不必要的复杂性 。
8585
86- 3. **记录配置变更**:保持对使用 Overlay 功能所做变更的记录,以便于故障排查和配置审计 。
86+ - **记录配置变更**:记录所有通过 Overlay 功能进行的配置变更,便于故障排查和配置审计 。
8787
88- 4. **使用版本控制**:将 Overlay 配置纳入版本控制系统,以跟踪配置的变更历史。
88+ - **使用版本控制**:将 Overlay 配置纳入版本控制系统,以跟踪配置的变更历史。
0 commit comments