【Tidb·进阶必看】以非 root 用户运行容器

伍六七叭酒 2022-03-17 10:24:24

在某些 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

详见:https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/containers-run-as-non-root-user

...全文
243 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-云原生 发布问题, 以便更快地解决您的疑问

87

社区成员

发帖
与我相关
我的任务
社区描述
Tidb开发者
其他 企业社区
社区管理员
  • csdnsqst0014
  • kikokingzz
  • karina17
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区初立,为了鼓励小友们在社区中积极互动,现在有一个活动如下:

试试用AI创作助手写篇文章吧