利用Rancher平台搭建Swarm集群

发布于:2025-09-12 ⋅ 阅读:(22) ⋅ 点赞:(0)

一、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

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

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

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

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

6. 验证安装
sudo docker --version
# 应该显示: Docker version 18.09.9, build xxxxxxx
        4.3 检验,查看集群是否添加成功

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


网站公告

今日签到

点亮在社区的每一天
去签到