离线 TiDB-Ansible 部署方案
离线 TiDB-Ansible 部署方案
准备机器
-
下载机一台
- 该机器需开放外网访问,用于下载 TiDB-Ansible、TiDB 及相关软件安装包。
- 推荐安装 CentOS 7.3 及以上版本 Linux 操作系统。
-
部署目标机器若干及部署中控机一台
- 系统要求及配置参考准备机器。
- 可以无法访问外网。
在中控机器上离线安装 Ansible 及其依赖
-
CentOS 7 系统 Ansible 离线安装方式:
下载 Ansible 离线安装包,上传至中控机。
# tar -xzvf ansible-2.4-rpms.el7.tar.gz # cd ansible-2.4-rpms.el7 # rpm -ivh PyYAML*rpm libyaml*rpm python-babel*rpm python-backports*rpm python-backports-ssl_match_hostname*rpm python-cffi*rpm python-enum34*rpm python-httplib2*rpm python-idna*rpm python-ipaddress*rpm python-jinja2*rpm python-markupsafe*rpm python-paramiko*rpm python-passlib*rpm python-ply*rpm python-pycparser*rpm python-setuptools*rpm python-six*rpm python2-cryptography*rpm python2-jmespath*rpm python2-pyasn1*rpm sshpass*rpm # rpm -ivh ansible-2.4.2.0-2.el7.noarch.rpm
-
安装完成后,可通过
ansible --version
查看版本:# ansible --version ansible 2.4.2.0
在下载机上下载 TiDB-Ansible 及 TiDB 安装包
-
在下载机上安装 Ansible
请按以下方式在 CentOS 7 系统的下载机上在线安装 Ansible。 通过 epel 源安装, 会自动安装 Ansible 相关依赖(如 Jinja2==2.7.2 MarkupSafe==0.11),安装完成后,可通过
ansible --version
查看版本,请务必确认是 Ansible 2.4 及以上版本,否则会有兼容问题。# yum install epel-release # yum install ansible curl # ansible --version ansible 2.4.2.0
-
下载 tidb-ansible
使用以下命令从 Github TiDB-Ansible 项目 上下载 TiDB-Ansible 相应版本,默认的文件夹名称为
tidb-ansible
。下载 GA 版本:
git clone -b release-1.0 https://github.com/pingcap/tidb-ansible.git
或
下载 master 版本:
git clone https://github.com/pingcap/tidb-ansible.git
注: 生产环境请下载 GA 版本部署 TiDB。
-
执行
local_prepare.yml
playbook,联网下载 TiDB binary 到下载机cd tidb-ansible ansible-playbook local_prepare.yml
-
将执行完以上命令之后的
tidb-ansible
文件夹拷贝到中控机/home/tidb
目录下,文件属主权限需是tidb
用户。
分配机器资源,编辑 inventory.ini 文件
参考分配机器资源,编辑 inventory.ini 文件即可。
部署任务
-
参考部署任务即可。
-
ansible-playbook local_prepare.yml
该 playbook 不需要再执行。
测试集群
参考测试集群即可。