如何安全关闭gh_mirrors/pi/pi-cluster:Ansible自动化与物理断电最佳流程
如何安全关闭gh_mirrors/pi/pi-cluster:Ansible自动化与物理断电最佳流程
【免费下载链接】pi-clusterRaspberry Pi Cluster automation项目地址: https://gitcode.com/gh_mirrors/pi/pi-cluster
gh_mirrors/pi/pi-cluster是一个基于Raspberry Pi的集群自动化项目,提供了从配置到部署的完整解决方案。本文将详细介绍如何安全关闭这个Raspberry Pi集群,包括Ansible自动化关闭方法和物理断电的最佳流程,确保集群设备和数据的安全。
为什么安全关闭Raspberry Pi集群至关重要
Raspberry Pi集群通常运行着Kubernetes等容器编排系统,直接断电可能导致:
- 数据损坏或丢失
- 容器状态不一致
- 存储系统(如ZFS或Ceph)损坏
- 硬件寿命缩短
图:运行中的Raspberry Pi集群,正确的关闭流程可保护设备和数据安全
准备工作:了解你的集群结构
在关闭集群前,建议先了解集群的基本结构:
- 控制节点(control_plane):运行K3s控制平面
- 工作节点(nodes):运行容器工作负载
- 存储节点(storage):提供NFS或其他存储服务
这些信息可以在项目的main.yml文件中找到,该文件定义了集群的整体配置和部署流程。
方法一:Ansible自动化关闭流程
虽然项目中没有专门的关闭playbook,但我们可以基于现有Ansible配置创建安全关闭流程:
步骤1:创建关闭playbook
在项目根目录创建shutdown.yml文件,内容如下:
--- - name: Safely shut down Raspberry Pi cluster hosts: all gather_facts: false become: true tasks: - name: Drain worker nodes (if K3s is running) ansible.builtin.command: k3s kubectl drain {{ inventory_hostname }} --ignore-daemonsets when: "'nodes' in group_names" ignore_errors: true - name: Stop K3s service ansible.builtin.service: name: k3s state: stopped when: "'control_plane' in group_names" - name: Stop K3s agent service ansible.builtin.service: name: k3s-agent state: stopped when: "'nodes' in group_names" - name: Wait for services to stop ansible.builtin.pause: seconds: 30 - name: Shutdown the system ansible.builtin.command: shutdown -h now步骤2:执行关闭playbook
确保你的Ansible配置正确(参考ansible.cfg),然后运行:
ansible-playbook shutdown.yml -i hosts.ini这个命令会:
- 排空工作节点上的容器
- 停止K3s服务
- 安全关闭所有节点
方法二:手动安全关闭流程
如果无法使用Ansible,可按照以下步骤手动关闭集群:
1. 关闭控制节点
# 登录控制节点 ssh pi@control-plane-ip # 停止K3s服务 sudo systemctl stop k3s # 安全关闭 sudo shutdown -h now2. 关闭工作节点
# 登录每个工作节点 ssh pi@node-ip # 停止K3s agent sudo systemctl stop k3s-agent # 安全关闭 sudo shutdown -h now3. 关闭存储节点
# 登录存储节点 ssh pi@storage-ip # 停止NFS服务(如使用NFS) sudo systemctl stop nfs-server # 安全关闭 sudo shutdown -h now图:Turing Pi 2集群主板,关闭后再断开电源可保护硬件
物理断电最佳实践
当所有节点完全关闭后(指示灯停止闪烁),遵循以下断电顺序:
- 先断开存储设备电源(如有独立存储)
- 断开工作节点电源
- 最后断开控制节点电源
重新启动时,应按相反顺序进行:先启动控制节点,再启动工作节点和存储设备。
常见问题解决
Q: 如何确认节点已完全关闭?
A: 观察Raspberry Pi的ACT指示灯(通常为绿色),当它停止闪烁并保持熄灭状态时,表示系统已完全关闭。
Q: 关闭后无法重新启动怎么办?
A: 检查main.yml中的启动配置,确保K3s服务设置为自动启动:
# 确保服务设置为开机启动 sudo systemctl enable k3s sudo systemctl enable k3s-agent总结
安全关闭gh_mirrors/pi/pi-cluster集群需要遵循正确的流程,无论是使用Ansible自动化还是手动操作,都应先停止服务再关闭系统。正确的关闭流程可以保护你的Raspberry Pi集群免受数据损坏和硬件问题,延长设备寿命并确保系统稳定运行。
记得在每次维护或长时间不使用集群时,都采用本文介绍的安全关闭方法,保护你的投资和数据安全。
【免费下载链接】pi-clusterRaspberry Pi Cluster automation项目地址: https://gitcode.com/gh_mirrors/pi/pi-cluster
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
