在 Ubuntu 上做 Docker 集群部署,常见方案有两种:
下面分别说明,并给出实操步骤。
# 每台机器安装 Docker
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
在 主节点 执行:
sudo docker swarm init --advertise-addr <主节点IP>
输出类似:
docker swarm join --token SWMTKN-... <主节点IP>:2377
在 其他节点 执行:
sudo docker swarm join --token SWMTKN-... <主节点IP>:2377
sudo docker node ls
sudo docker service create \
--name web \
--replicas 3 \
-p 80:80 \
nginx
docker service ls
docker service scale web=5
docker service logs web
✅ 适合:中小项目、快速部署
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker
# 安装 kubeadm kubelet kubectl
sudo apt install -y apt-transport-https ca-certificates curl
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubeadm join <主节点IP>:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxx
kubectl get nodes
✅ 适合:大规模、高可用、微服务
| 方案 | 难度 | 适合场景 |
|---|---|---|
| Docker Swarm | ⭐ | 快速集群、小项目 |
| Kubernetes | ⭐⭐⭐⭐ | 企业生产环境 |
如果你愿意,可以告诉我:
我可以给你专属部署方案 + 示例配置文件。