- 关于 TiDB Operator
- 快速上手
- 部署
- 自托管的 Kubernetes
- 公有云的 Kubernetes
- 在 ARM64 机器上部署 TiDB 集群
- 部署 TiDB HTAP 存储引擎 TiFlash
- 跨多个 Kubernetes 集群部署 TiDB 集群
- 部署 TiDB 异构集群
- 部署增量数据同步工具 TiCDC
- 部署 Binlog 收集工具
- 监控与告警
- 数据迁移
- 运维管理
- 安全
- 扩缩容
- 升级
- 升级 TiDB 集群
- 升级 TiDB Operator
- 备份与恢复
- 备份与恢复简介
- 备份与恢复 CR 介绍
- 远程存储访问授权
- 使用 Amazon S3 兼容的存储
- 使用 Google Cloud Storage
- 使用持久卷
- 运维
- 灾难恢复
- 故障诊断
- 常见问题
- 参考
- 版本发布历史
- v1.3
- v1.2
- v1.1
- v1.0
- v0
以非 root 用户运行容器
在某些 Kubernetes 环境中,无法用 root 用户运行容器。本文介绍如何通过配置 securityContext
来以非 root 用户运行容器。
配置 TiDB Operator 相关的容器
对于 TiDB Operator 相关的容器,你可以在 Helm 的 values.yaml
文件中配置安全上下文 (security context)。TiDB operator 的所有相关组件都支持该配置 (<controllerManager/scheduler/advancedStatefulset/admissionWebhook>.securityContext
)。
以下是一个配置示例:
controllerManager:
securityContext:
runAsUser: 1000
runAsGroup: 2000
fsGroup: 2000
配置按照 CR 生成的容器
对于按照 Custom Resource (CR) 生成的容器,你同样可以在任意一种 CR (TidbCluster
/DmCluster
/TidbInitializer
/TidbMonitor
/Backup
/BackupSchedule
/Restore
) 中配置安全上下文 (security context)。
你可以采用以下两种 podSecurityContext
配置。如果同时配置了集群级别和组件级别,则该组件以组件级别的配置为准。
配置在集群级别 (
spec.podSecurityContext
),对所有组件生效。配置示例如下:spec: podSecurityContext: runAsUser: 1000 runAsGroup: 2000 fsGroup: 2000
配置在组件级别,仅对该组件生效。例如,为 PD 组件配置
spec.pd.podSecurityContext
,为 TiDB 组件配置spec.tidb.podSecurityContext
。配置示例如下:spec: pd: podSecurityContext: runAsUser: 1000 runAsGroup: 2000 fsGroup: 2000 tidb: podSecurityContext: runAsUser: 1000 runAsGroup: 2000 fsGroup: 2000
文档内容是否有帮助?