利用Rancher平台搭建Swarm集群

一、Rancher概述

1、rancher平台

2、Rancher的组成

二、Rancher单容器部署和应用

1、Swarm集群基础环境

|--------|------------------------|--------------|
| 主机名 | IP地址 | 角色 |
| master | 192.168.51.101 | 管理节点 |
| node1 | 192.168.51.102 | 工作节点 |
| node2 | 192.168.51.103 | 工作节点 |

2、安装docker

2.1 安装必要的一些系统工具
复制代码
[root@master ~]# sudo yum install -y yum-utils
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                   | 3.6 kB  00:00:00
docker-ce-stable                                                                       | 3.5 kB  00:00:00
epel                                                                                   | 4.3 kB  00:00:00
extras                                                                                 | 2.9 kB  00:00:00
kubernetes                                                                             | 1.4 kB  00:00:00
updates                                                                                | 2.9 kB  00:00:00
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Nothing to do
2.2 添加软件源信息
复制代码
[root@master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
2.3 安装Docker
复制代码
[root@master ~]# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

[root@master ~]# rpm -q docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker-ce-26.1.4-1.el7.x86_64
docker-ce-cli-26.1.4-1.el7.x86_64
containerd.io-1.6.33-3.1.el7.x86_64
docker-buildx-plugin-0.14.1-1.el7.x86_64
docker-compose-plugin-2.27.1-1.el7.x86_64
2.4 开启Docker服务
复制代码
[root@master ~]# systemctl start docker
[root@master ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@master ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2025-07-04 04:06:56 EDT; 1min 11s ago
     Docs: https://docs.docker.com
 Main PID: 8934 (dockerd)
   CGroup: /system.slice/docker.service
           └─8934 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
2.5 配置镜像加速器
复制代码
[root@master ~]# vi /etc/docker/daemon.json
[root@master ~]# cat /etc/docker/daemon.json
{
  "registry-mirrors":["http://docker.m.daocloud.io"],
  "dns":["8.8.8.8"]
}

## 重启docker服务
[root@master ~]# systemctl restart docker
[root@master ~]# systemctl daemon-reload
2.6 查看docker版本
复制代码
[root@master ~]# docker version
Client: Docker Engine - Community
 Version:           26.1.4
 API version:       1.45
 Go version:        go1.21.11
 Git commit:        5650f9b
 Built:             Wed Jun  5 11:32:04 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          26.1.4
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.11
  Git commit:       de5c9cf
  Built:            Wed Jun  5 11:31:02 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.33
  GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

3、搭建并访问rancher平台

3.1 分别在三个节点上,获取rancher镜像

这里小编拉取的是stable稳定版的rancher镜像,读者可自行根据需求拉取不同版本的镜像

复制代码
[root@master ~]# docker pull rancher/server:stable
stable: Pulling from rancher/server
bae382666908: Pull complete
29ede3c02ff2: Pull complete
da4e69f33106: Pull complete
8d43e5f5d27f: Pull complete
b0de1abb17d6: Pull complete
422f47db4517: Pull complete
79d37de643ce: Pull complete
69d13e08a4fe: Pull complete
2ddfd3c6a2b7: Pull complete
bc433fed3823: Pull complete
b82e188df556: Pull complete
dae2802428a4: Pull complete
07bf18e8eec0: Pull complete
339e24088f91: Pull complete
9372455de0b8: Pull complete
5a33b348bf45: Pull complete
3286997d8874: Pull complete
bd79bfb954de: Pull complete
ba7c19991a31: Pull complete
0c19aca4f8a1: Pull complete
e03fc76c8997: Pull complete
Digest: sha256:95b55603122c28baea4e8d94663aa34ad770bbc624a9ed6ef986fb3ea5224d91
Status: Downloaded newer image for rancher/server:stable
docker.io/rancher/server:stable
3.2 在管理节点上,利用rancher镜像生成rancher容器
复制代码
[root@master ~]# docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
4cb3495e062e1037ce0531bb6a3827e83a9e65411b6efdf2dec3209ad8b7139a

## 查看容器状态,注意一定是要处于"UP"状态
[root@master ~]# docker ps -n1
CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS         PORTS                                                 NAMES
4cb3495e062e   rancher/server:stable   "/usr/bin/entry /usr..."   11 seconds ago   Up 9 seconds   3306/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   gallant_wozniak
3.3 利用浏览器访问rancher平台

浏览器访问(http://管理节点IP:端口号)

http://192.168.51.100:8080

初始登录平台时的语言默认是英文,这里大家可以在页面的右下角处手动修改

3.4 创建admin用户
3.5 创建完成后,注销当前用户,使用admin用户登录平台

4、搭建Swarm集群

4.1 创建一个环境模板:mySwarm,并将其添加到环境中

添加环境模板将mySwarm模板添加到环境中4.2 添加主机到mySwarm

先切换到mySwarm环境中复制主机添加地址在主机上运行复制的脚本,将管理节点master主机、工作节点node1和node2主机添加到mySwarm集群中(三个节点均要执行)

  • 若出现以下报错:
  • 原因:

当前系统安装的是 Docker 26.1.4 版本(API 版本 1.45),而 Rancher Agent v1.2.11 要求的最低 API 版本为 1.2414。虽然你的 Docker 版本理论上兼容(1.45 > 1.24),但 Rancher 旧版本可能对高版本 Docker 存在兼容性问题。主机的docker api版本为1.45,rancher支持的最新api版本为1.24,不兼容,所以需要对主机的docker api版本降级。

  • 解决方案:

    1. 完全卸载旧版 Docker

    卸载所有 Docker 相关软件包

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine docker-ce docker-ce-cli containerd.io

    删除 Docker 相关文件和目录

    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd
    sudo rm -rf /etc/docker/
    sudo rm -f /usr/bin/docker /usr/local/bin/docker

    1. 安装必要工具
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    2. 添加 Docker 官方仓库
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    3. 安装特定版本 Docker (18.09.9)
      sudo yum install -y docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io

    4. 启动 Docker 并设置开机启动
      sudo systemctl start docker
      sudo systemctl enable docker
      sudo systemc tl daemon-reload

    5. 验证安装
      sudo docker --version

    应该显示: Docker version 18.09.9, build xxxxxxx

4.3 检验,查看集群是否添加成功

添加成功!Swarm集群搭建完成!!

相关推荐
卷无止境9 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
吕海洋13 小时前
目前可用的docker源2026.08
运维·docker·容器
gsls20080816 小时前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot
xrlfreedom17 小时前
大厂 MCP 面试实录:本地 Server 远程化改造中的技术选型与落地实践
docker·json schema·mcp
艾伦_耶格宇20 小时前
【DOCKER容器实战】-2MySQL
运维·docker·容器
禅口魔心1 天前
RK3576开发——Docker部署
docker·嵌入式linux
随便做点啥1 天前
32卡×4090 24GB,Qwen3.8-27B-FP8 集群部署报告
服务器·经验分享·docker·vllm
To_OC1 天前
跑了3个Docker容器后,我终于搞懂镜像和容器到底啥关系
后端·docker·容器
tryCbest1 天前
Docker 从零到精通:知识与跨平台使用指南
docker·容器
开始学AI2 天前
Codex2API Docker 使用宿主机代理:OAuth Token 兑换 403 问题排查与解决方案
运维·docker·容器