管理
节点管理标准操作程序
节点管理 SOP,添加和移除节点,设置管理员,绑定 VIP 和其他杂项
以下是 NODE
模块的一些常见管理任务。
添加节点
要将节点添加到 Pigsty,您需要对该节点具有免密 ssh/sudo 访问权限
# ./node.yml -l <cls|ip|group> # 底层 playbook
# bin/node-add <selector|ip...> # 将集群/节点添加到 pigsty
bin/node-add node-test # 初始化节点集群 'node-test'
bin/node-add 10.10.10.10 # 初始化节点 '10.10.10.10'
移除节点
要从 Pigsty 中移除节点,您可以使用以下命令:
# ./node-rm.yml -l <cls|ip|group> # 底层 playbook
# bin/node-rm <selector|ip...> # 从 pigsty 中移除节点:
bin/node-rm node-test # 移除节点集群 'node-test'
bin/node-rm 10.10.10.10 # 移除节点 '10.10.10.10'
创建管理员
如果当前用户对节点没有免密 ssh/sudo 访问权限,您可以使用其他管理员用户来引导节点:
node.yml -t node_admin -k -K -e ansible_user=<another admin> # 为另一个管理员输入 ssh/sudo 密码
绑定 VIP
您可以使用 vip_enabled
在节点集群上绑定可选的 L2 VIP。
proxy:
hosts:
10.10.10.29: { nodename: proxy-1 }
10.10.10.30: { nodename: proxy-2 } # , vip_role: master }
vars:
node_cluster: proxy
vip_enabled: true
vip_vrid: 128
vip_address: 10.10.10.99
vip_interface: eth1
./node.yml -l proxy -t node_vip # 首次启用
./node.yml -l proxy -t vip_refresh # 刷新 VIP 配置(例如指定主节点)
其他任务
# Play
./node.yml -t node # 初始化节点本身(不包括 haproxy 监控)
./node.yml -t haproxy # 在节点上设置 haproxy 以暴露服务
./node.yml -t monitor # 设置 node_exporter 和 promtail 用于指标和日志
./node.yml -t node_vip # 为节点集群 L2 VIP 启用 keepalived
./node.yml -t vip_config,vip_reload # 刷新 L2 VIP 配置
./node.yml -t haproxy_config,haproxy_reload # 刷新节点集群上的 haproxy 服务定义
./node.yml -t register_prometheus # 将节点注册到 Prometheus
./node.yml -t register_nginx # 将 haproxy 管理页面 URL 注册到基础设施节点上的 Nginx
# Task
./node.yml -t node-id # 生成节点身份
./node.yml -t node_name # 设置主机名
./node.yml -t node_hosts # 设置 /etc/hosts 记录
./node.yml -t node_resolv # 设置 DNS 解析器
./node.yml -t node_firewall # 设置防火墙和 selinux
./node.yml -t node_ca # 添加和信任 CA 证书
./node.yml -t node_repo # 添加上游仓库
./node.yml -t node_pkg # 安装 yum 包
./node.yml -t node_feature # 设置 numa、grub、静态网络
./node.yml -t node_kernel # 启用内核模块
./node.yml -t node_tune # 设置调优配置文件
./node.yml -t node_sysctl # 设置额外的 sysctl 参数
./node.yml -t node_profile # 写入 /etc/profile.d/node.sh
./node.yml -t node_ulimit # 设置资源限制
./node.yml -t node_data # 设置主数据目录
./node.yml -t node_admin # 设置管理员用户和 SSH 密钥
./node.yml -t node_timezone # 设置时区
./node.yml -t node_ntp # 设置 NTP 服务器/客户端
./node.yml -t node_crontab # 添加/覆写 crontab 任务
./node.yml -t node_vip # 为节点集群设置可选的 L2 VRRP VIP
节点调优
Pigsty 为不同的工作负载预定义了四个调优配置文件:
您也可以在节点上使用 tuned-adm
命令管理调优配置文件:
tuned-adm list # 列出可用配置文件
tuned-adm active # 显示当前配置文件
tuned-adm profile # 列出活动配置文件
tuned-adm profile <name> # 切换到配置文件 <name>
tuned-adm verify # 列出活动配置文件
cat /var/log/tuned/tuned.log # 显示调优日志
内核模块
您可以在 node.yml
中使用 node_kernel_modules
管理内核模块。
要手动管理内核模块,您可以在节点上使用以下命令:
lsmod # 列出已加载的内核模块
modprobe <module> # 加载内核模块 <module>