Ubuntu进程集群管理指南
在Ubuntu上进行进程集群管理前,需完成以下基础准备工作:
Kubernetes是当前主流的容器编排工具,适用于管理容器化进程集群,步骤如下:
kubelet、kubeadm、kubectl(Ubuntu下通过apt安装,标记为hold防止自动升级);kubeadm init --pod-network-cidr=10.244.0.0/16生成集群配置;admin.conf复制到用户家目录的.kube/config,并设置正确权限;kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml),实现Pod间网络通信;my-app),指定副本数(replicas),使用kubectl create deployment命令部署。适合快速搭建轻量级容器集群,步骤如下:
docker swarm init,生成加入令牌;docker swarm join(使用主节点提供的令牌);docker service create命令,指定副本数(--replicas 3)、服务名称(--name my-app)和镜像(my-app-image),实现进程的分布式部署。适用于需要故障自动转移的传统进程(如数据库、Web服务),步骤如下:
apt安装pacemaker和corosync;/etc/corosync/corosync.conf,设置集群名称、传输协议(如udpu)、节点列表(ring0_addr为节点IP,nodeid为唯一标识)和法定投票数(quorum);corosync和pacemaker(systemctl start corosync && systemctl start pacemaker);pcs status命令查看集群节点状态和资源分配。sudo apt install supervisor;/etc/supervisor/conf.d/下创建.conf文件(如my-app.conf),指定进程命令(command)、自动启动(autostart=true)、自动重启(autorestart=true)和日志路径;sudo supervisorctl reread加载配置,sudo supervisorctl update更新进程列表,sudo supervisorctl start my-app启动进程。sudo npm install pm2 -g;pm2 start app.js -i max(max表示根据CPU核心数自动启动实例);pm2 list查看状态,pm2 stop/restart/delete <app_name>控制进程;pm2 monit实时查看CPU/内存使用,pm2 logs查看日志。/etc/kubernetes/admin.conf、/etc/corosync/corosync.conf)、应用数据(如数据库文件、共享存储数据),并测试恢复流程。