官方文档中的示例是用root用户安装部署的,请问tidb支持非root用户安装部署集群吗?
可以帮忙发一下使用非root用户部署的文档流程吗?
每个节点以root用户创建tidb用户和密码
#useradd tidb
#passwd tidb
[
2.配置sudo免密
](#%E7%AC%AC%E5%9B%9B%E9%83%A8%E5%88%86%C2%A0%20TiDB%E5%8F%8A%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85/%E4%B8%89%E3%80%81%20%E9%85%8D%E7%BD%AE%E4%BA%92%E4%BF%A1/2.%E9%85%8D%E7%BD%AEsudo%E5%85%8D%E5%AF%86)
每个节点配置sudo免密
visudo
添加以下内容
tidb ALL=(ALL) NOPASSWD:ALL
[
3.配置中控机到其他节点互信
](#%E7%AC%AC%E5%9B%9B%E9%83%A8%E5%88%86%C2%A0%20TiDB%E5%8F%8A%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85/%E4%B8%89%E3%80%81%20%E9%85%8D%E7%BD%AE%E4%BA%92%E4%BF%A1/3.%E9%85%8D%E7%BD%AE%E4%B8%AD%E6%8E%A7%E6%9C%BA%E5%88%B0%E5%85%B6%E4%BB%96%E8%8A%82%E7%82%B9%E4%BA%92%E4%BF%A1)
中控机(21.72.124.43)以tidb用户登录,执行以下命令
ssh-keygen -t rsa
根据路径配置到各节点的互信
ssh-copy-id -i /home/tidb/.ssh/id_rsa.pub 21.72.124.39
ssh-copy-id -i /home/tidb/.ssh/id_rsa.pub 21.72.124.40
。。。。。。
[
4.测试互信
](#%E7%AC%AC%E5%9B%9B%E9%83%A8%E5%88%86%C2%A0%20TiDB%E5%8F%8A%E7%BB%84%E4%BB%B6%E5%AE%89%E8%A3%85/%E4%B8%89%E3%80%81%20%E9%85%8D%E7%BD%AE%E4%BA%92%E4%BF%A1/4.%E6%B5%8B%E8%AF%95%E4%BA%92%E4%BF%A1)
中控机tidb用户登录 直接ssh到节点
[tidb@localhost]# ssh 21.72.124.39
#sudo -su root
如果以上命令可登录39节点并可直接切换至root用户,表示sudo免密配置成功
我自己写的安装部署文档,可以参考下
当然支持了,核心就是 ansible 的 ssh 信任关系配通就行,配通之后换个用户用 tiup 部署集群即可
sudo免密了, 本质上还是root用户啊… 使用普通权限的普通用户可以安装部署吗?
普通用户赋权就可以,但是没有免密互信的话,集群部署不起来的
普通用户免密互信不需要sudo权限吧?
设置互信什么用户都可以
用非root账号,最后还是要提权的
提权很正常,只要限制好,又没啥大问题
可以用其他用户部署,yaml文件指定安装用户,用root去安装也会放在对应用户下。一般都是用tidb用户
当然支持,只是部署用户需要sudo权限。 visudo给加一下权限即可
非root部署,最怕的是各种权限导致的问题,有时候还比较难查
只有部署(扩容)的时候需要高权限的用户,创建tidb相关服务systemctl status xxx等。
日常运维不需要,只需要部署的时候配置文件中指定的普通用户。
如果集群的机器可以用一次root用户,用root装最简单,装完会自动添加tidb用户运行集群,这时候root用户你就可以禁用了。
tiup最好别部署在root下
支持,配置sudo
可以,其实root用户安装后默认会添加一个tidb用户,如果使用其他用户可能会有各种权限问题
支持的,需要配置sudo权限。如果不配置sudo权限,在yaml文件中写好tidb用户,在deploy集群的时候使用root用户和密码,这样会自动为tidb用户创建sudo权限。
肯定支持,就是需要sudo权限
支持,配置sudo 权限即可