@@ -14,14 +14,12 @@ summary: 介绍如何初始化配置 Kubernetes 上的 TiDB 集群。
1414
1515## 配置 TidbInitializer
1616
17- 请参考 TidbInitializer [ 示例] ( < https://github.com/pingcap/tidb-operator/blob/{{{ .tidb_operator_version }}}/manifests/initializer/tidb-initializer.yaml > ) 和 [ API 文档] ( < https://github.com/pingcap/tidb-operator/blob/{{{ .tidb_operator_version }}}/docs/api-references/docs.md > ) (示例和 API 文档请切换到当前使用的 TiDB Operator 版本)以及下面的步骤,完成 TidbInitializer CR,保存到文件 ` ${cluster_name}/tidb-initializer.yaml ` 。
17+ 请参考 TidbInitializer [ 示例] ( < https://github.com/pingcap/tidb-operator/blob/{{{ .tidb_operator_version }}}/manifests/initializer/tidb-initializer.yaml > ) 和 [ API 文档] ( < https://github.com/pingcap/tidb-operator/blob/{{{ .tidb_operator_version }}}/docs/api-references/docs.md#tidbinitializer > ) (示例和 API 文档请切换到当前使用的 TiDB Operator 版本)以及下面的步骤,完成 TidbInitializer CR,保存到文件 ` ${cluster_name}/tidb-initializer.yaml ` 。
1818
1919### 设置集群的命名空间和名称
2020
2121在 ` ${cluster_name}/tidb-initializer.yaml ` 文件中,修改 ` spec.cluster.namespace ` 和 ` spec.cluster.name ` 字段:
2222
23- {{< copyable "shell-regular" >}}
24-
2523``` yaml
2624# ...
2725spec :
@@ -37,16 +35,12 @@ spec:
3735
3836通过下面命令创建 [Secret](https://kubernetes.io/docs/concepts/configuration/secret/) 指定 root 账号密码:
3937
40- {{< copyable "shell-regular" >}}
41-
4238` ` ` shell
4339kubectl create secret generic tidb-secret --from-literal=root=${root_password} --namespace=${namespace}
4440` ` `
4541
4642如果希望能自动创建其它用户,可以在上面命令里面再加上其他用户的 username 和 password,例如:
4743
48- {{< copyable "shell-regular" >}}
49-
5044` ` ` shell
5145kubectl create secret generic tidb-secret --from-literal=root=${root_password} --from-literal=developer=${developer_password} --namespace=${namespace}
5246` ` `
@@ -55,6 +49,12 @@ kubectl create secret generic tidb-secret --from-literal=root=${root_password} -
5549
5650在 `${cluster_name}/tidb-initializer.yaml` 中设置 `passwordSecret : tidb-secret`。
5751
52+ 在创建集群之前,请确保完成以下操作:
53+
54+ - 创建 Secret。
55+ - 在 `TidbInitializer` 中将 `passwordSecret` 设置为你为 `root` 密码创建的 Secret 名称。
56+ - 将 `${cluster_name}/tidb-initializer.yaml` 应用到集群中。
57+
5858# # 设置允许访问 TiDB 的主机
5959
6060在 `${cluster_name}/tidb-initializer.yaml` 中设置 `permitHost : ${mysql_client_host_name}` 配置项来设置允许访问 TiDB 的主机 **host_name**。如果不设置,则允许所有主机访问。详情请参考 [MySQL GRANT host name](https://dev.mysql.com/doc/refman/5.7/en/grant.html)。
@@ -63,8 +63,6 @@ kubectl create secret generic tidb-secret --from-literal=root=${root_password} -
6363
6464集群在初始化过程还可以自动执行 `initSql` 中的 SQL 语句用于初始化,该功能可以用于默认给集群创建一些 database 或者 table,并且执行一些用户权限管理类的操作。例如如下设置会在集群创建完成后自动创建名为 `app` 的 database,并且赋予 `developer` 账号对 `app` 的所有管理权限:
6565
66- {{< copyable "" >}}
67-
6866` ` ` yaml
6967spec:
7068...
@@ -79,8 +77,6 @@ initSql: |-
7977
8078# # 执行初始化
8179
82- {{< copyable "shell-regular" >}}
83-
8480` ` ` shell
8581kubectl apply -f ${cluster_name}/tidb-initializer.yaml --namespace=${namespace}
8682` ` `
@@ -97,17 +93,13 @@ tnir/mysqlclient:latest
9793
9894接下来通过下面的命令将所有这些镜像下载下来:
9995
100- {{< copyable "shell-regular" >}}
101-
10296` ` ` shell
10397docker pull tnir/mysqlclient:latest
10498docker save -o mysqlclient-latest.tar tnir/mysqlclient:latest
10599` ` `
106100
107101接下来将这些 Docker 镜像上传到服务器上,并执行 `docker load` 将这些 Docker 镜像安装到服务器上:
108102
109- {{< copyable "shell-regular" >}}
110-
111103` ` ` shell
112104docker load -i mysqlclient-latest.tar
113105` ` `
0 commit comments