使用Saltstack初始化机器

  • 购买/重制服务器
  • 在腾讯云上配置基础网络互通
  • 在腾讯云上购买并挂载硬盘
  • ssh 到新的服务器上
  • 配置主机名称

    hostnamectl set-hostname new_host_name - 修改 hosts, 添加本机记录:

    127.0.0.1 new_host_name - 安装 saltstack,只需要安装 salt-minion

    curl -L https://bootstrap.saltstack.com -o install_salt.sh

    sudo sh install_salt.sh -P

    sudo sed -i 's/#master: salt/master: 10.22.4.3/g' /etc/salt/minion

    sudo systemctl restart salt-minion

  • mount /data 目录到新的硬盘(/etc/fstab),具体步骤略

  • 将新机器添加到允许私有网络通信 https://console.cloud.tencent.com/vpc/vpc?rid=1&unVpcId=vpc-7f0m0xq9

  • ssh 到 gm-monitor 中,

    • 处理salt-key
    • 新机器处理

    sudo salt-key -L #列出所有己接受

    sudo salt-key -a new_host_name #接受key

    • 旧机器处理:如果旧的事先没有删除,则删除的时候会有二个相同名称的key,全部删除。在新的机器上面restart salt-minion生成新的key

    sudo salt-key -L #列出所有己接受

    sudo salt-key -d new_host_name #删除己存在的key

    sudo salt-key -a new_host_name #接受新的key

    将主机名对应的IP添加到salt 的hosts文件(/srv/salt/files/hosts)中 #主机统一

    • 测试salt

    salt 'new_host_name' test.ping

  • 运行系统初始化

    salt 'new_host_name' state.highstate

    • 安装一些非标配的服务,比如 UWSGI、Nginx 或者 Node.js

    salt 'new_host_name' state.sls uwsgi

    salt 'new_host_name' state.sls nginx

  • 配置 jumpserver

    • 添加资产
  • 检查 new_host_name 的 hosts

  • 配置腾讯云监控和zabbix监控

  • 在 gate 机器上添加新机器 hosts,用于 gmdeploy 发布脚本

  • 修改发布脚本

  • HOSTS 中添加或者删除老机器
  • 修改 worker_host
  • 修改 nginx_rule

  • 配置日志

  • 在 gm_monitor 上执行 sudo salt 'new_host_name' state.sls linux.logtail
  • 阿里云/日志服务/gm-log/Logtail机器组/workers/修改机器组 中添加新机器的内网IP。在 查看状态 中确保新机器的心跳为「OK」
  • 观察机器上的日志是否成功地上传到了阿里云上(可以使用 request id 进行匹配)