Drupal在gh_mirrors/pi/pi-cluster上的部署:从容器化到持久化存储完整指南
2026/7/21 19:24:53 网站建设 项目流程

Drupal在gh_mirrors/pi/pi-cluster上的部署:从容器化到持久化存储完整指南

【免费下载链接】pi-clusterRaspberry Pi Cluster automation项目地址: https://gitcode.com/gh_mirrors/pi/pi-cluster

gh_mirrors/pi/pi-cluster是一个专注于Raspberry Pi集群自动化的项目,通过Ansible实现了从容器化部署到持久化存储的完整流程。本文将详细介绍如何在该项目环境中部署Drupal,包括配置准备、容器化部署及持久化存储方案,帮助新手用户快速搭建稳定的Drupal站点。

📋 准备工作:环境与配置文件

在开始部署前,需要确保您的Raspberry Pi集群已通过项目的自动化脚本完成基础配置。核心配置文件为example.config.yml,其中包含Drupal部署所需的关键参数:

  • Drupal镜像设置:默认使用drupal:10.2-apache官方镜像
  • 安全配置drupal_hash_saltdrupal_database_password等敏感信息
  • 存储路径drupal_base_web_path定义了网站文件存放位置

您可以通过复制示例配置创建自定义配置:

cp example.config.yml config.yml

🖥️ 认识您的硬件:Raspberry Pi集群平台

该项目支持多种Raspberry Pi集群硬件配置,下图展示了典型的集群节点布局,绿色的Raspberry Pi计算模块通过主板连接,形成高性能的分布式计算环境:

图1:运行中的DeskPi Super6C集群,适合Drupal部署的多节点环境

另一款流行的集群主板是Turing Pi 2,它提供了模块化设计,便于扩展和维护:

图2:Turing Pi 2主板特写,支持热插拔的Raspberry Pi计算模块

🚀 一键部署Drupal:Ansible自动化流程

项目通过Ansible Playbook实现了Drupal的自动化部署。核心部署逻辑位于main.yml中,通过导入专门的Drupal任务文件:

import_playbook: tasks/kubernetes/drupal.yml tags: ['drupal']

执行以下命令即可启动部署流程:

ansible-playbook main.yml --tags drupal

部署过程包含以下关键步骤:

  1. 创建独立的drupal命名空间
  2. 部署MariaDB数据库(使用持久化存储)
  3. 配置Drupal应用及相关服务
  4. 设置网络访问规则

💾 持久化存储方案:从文件系统到ZFS

Drupal网站需要稳定的持久化存储来保存配置文件、用户上传和数据库数据。项目提供了两种存储方案,可在config.yml中通过storage_type参数选择:

基础文件系统存储

默认使用NFS共享存储,配置路径为:

storage_type: filesystem storage_nfs_dir: "srv" storage_nfs_share_name: nfsshare

相关配置文件:tasks/storage/filesystem.yml

高性能ZFS存储

对于需要更好性能和数据保护的场景,可选择ZFS存储:

storage_type: zfs storage_zfs_pool_name: zfsdata

ZFS配置会创建镜像池提高数据可靠性,相关实现位于tasks/storage/zfs.yml

ansible.builtin.command: "zpool create {{ storage_zfs_pool_name }} mirror /dev/sda /dev/sdb"

⚙️ Drupal存储配置细节

在Drupal部署模板templates/drupal.yml中,通过PersistentVolumeClaim实现数据持久化:

apiVersion: v1 kind: PersistentVolumeClaim metadata: name: drupal-files-pvc namespace: drupal spec: storageClassName: nfs-client accessModes: - ReadWriteOnce resources: requests: storage: 20Gi

同样,MariaDB数据库也使用独立的PVC确保数据安全,配置文件为templates/mariadb.yml

🔍 验证部署:访问与测试

部署完成后,Drupal服务会通过Kubernetes Service暴露访问端点。您可以通过集群节点IP和服务端口访问网站,默认配置下会自动完成数据库连接和初始设置。

建议执行项目提供的基准测试脚本,验证部署性能:

./benchmarks/drupal-benchmark.sh

📝 总结与后续优化

通过gh_mirrors/pi/pi-cluster项目,您可以轻松在Raspberry Pi集群上部署生产级别的Drupal网站。关键优势包括:

  • 全自动化部署流程,减少手动配置
  • 灵活的存储选项,适应不同需求
  • 专为ARM架构优化,充分利用Raspberry Pi硬件

后续可考虑通过tasks/kubernetes/prometheus.yml配置监控,或探索ceph/目录中的分布式存储方案,进一步提升系统可靠性。

希望本指南能帮助您顺利完成Drupal在Raspberry Pi集群上的部署!如有问题,可参考项目中的README.md或相关任务文件获取更多细节。

【免费下载链接】pi-clusterRaspberry Pi Cluster automation项目地址: https://gitcode.com/gh_mirrors/pi/pi-cluster

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询