在 Kubernetes 上部署 TiDB Operator

    TiDB Operator 部署前,请确认以下软件需求:

    • Kubernetes v1.12 或者更高版本
    • DNS 插件
    • RBAC 启用(可选)
    • 版本 >= 2.11.0 && < 3.0.0 && != 2.16.4

    部署 Kubernetes 集群

    TiDB Operator 运行在 Kubernetes 集群,你可以使用 Getting started 页面列出的任何一种方法搭建一套 Kubernetes 集群。只要保证 Kubernetes 版本大于等于 v1.12。如果你使用 AWS、GKE 或者本机,下面是快速上手教程:

    TiDB Operator 使用持久化存储 TiDB 集群数据(包括数据库,监控和备份数据),所以 Kubernetes 集群必须提供至少一种持久化卷。为提高性能,建议使用本地 SSD 盘作为持久化卷。可以根据这一步配置本地持久化卷。

    Kubernetes 集群建议启用 。

    参考 使用 Helm 安装 Helm 并配置 PingCAP 官方 chart 仓库。

    配置本地持久化卷

    TiDB Operator 使用 CRD (Custom Resource Definition) 扩展 Kubernetes,所以要使用 TiDB Operator,必须先创建 自定义资源类型。只需要在你的 Kubernetes 集群上创建一次即可:

    创建 TidbCluster 自定义资源类型后,接下来在 Kubernetes 集群上安装 TiDB Operator。

    1. 获取你要安装的 tidb-operator chart 中的 values.yaml 文件:

    2. TiDB Operator 里面会用到 k8s.gcr.io/kube-scheduler 镜像,如果下载不了该镜像,可以修改 /home/tidb/tidb-operator/values-tidb-operator.yaml 文件中的 scheduler.kubeSchedulerImageNameregistry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler

    3. 安装 TiDB Operator

    自定义 TiDB Operator

    通过修改 /home/tidb/tidb-operator/values-tidb-operator.yaml 中的配置自定义 TiDB Operator。后续文档使用 指代 /home/tidb/tidb-operator/values-tidb-operator.yaml

    TiDB Operator 有两个组件:

    • tidb-controller-manager
    • tidb-scheduler

    这两个组件是无状态的,通过 Deployment 部署。你可以在 values.yaml 中自定义资源 limitrequest 和 。