树莓派安装docker,并在PC端监控,启动swarm集群
0.前期准备
硬件及OS:
路由器,
笔记本wifi ,
虚拟机Centos 7,
6个树莓派3B: OS为Raspberry Pi,node1是64位的aarch64,剩下都是32位armv7l ,使用wifi。
软件:
docker:v23.0.6 、
portainer-ce
1. 虚拟机和主机同网段
首先在控制面板 -> 网络和Internet -> 网络连接里查看目前使用的是哪个网卡,如图:

在虚拟机编辑列表中选择虚拟网络编辑器,

打开后点击更改设置,

选择桥接模式,桥接至的列表中选择刚刚查看的网卡名称,最后点确定。

这样虚拟机就和PC一个网段了。
2. 安装docker
虚拟机centos7 安装docker的过程略,查看其它博客。
树莓派安装docker:
sudo curl -sSL https://get.docker.com | sh
本来想离线安装的,但是因为arm架构,尤其是aarch64版本的OS,总是报各种错误,只能选择在线安装。
设置自启动docker:
sudo systemctl enable docker
3. 安装portainer
默认版本:
docker run -d \
--name portainer \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart always \
portainer/portainer
中文版本:
docker run -d \
--name=portainer-zh \
-p 9100:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart=always \
6053537/portainer-ce
4. 创建Swarm环境
在此之前最好关闭 linux 的防火墙,重启docker,以免报错。
1. 初始化swarm集群,Swarm 模式下的操作默认运行于 2337 端口。虽然它是可配置的,但 2377/tcp 是用于客户端与 Swarm 进行安全(HTTPS)通信的约定俗成的端口配置。
docker swarm init --advertise-addr 192.168.0.108:2377
2. 其他manager和worker节点加入集群
#给manager节点加入集群使用
[root@manager1 ~]# docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0zzpk3xqq2ykb5d5jcd6hqeimckhrg5qu82xs7nw2wwnwyjmzg-9tmof9880m9r92vz5rygaa42e 192.168.0.108:2377
#给worker节点加入集群使用
[root@manager1 ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0zzpk3xqq2ykb5d5jcd6hqeimckhrg5qu82xs7nw2wwnwyjmzg-9tmof9880m9r92vz5rygaa4aa 192.168.0.108:2377
3. 打开portainer,添加环境

选择docker swarm,点击启动向导。

选择代理,将下面的命令复制到虚拟机centos7上执行,
执行完毕之后,填入环境名称和地址即可,9001是上面命令执行完毕之后输出信息中显示的端口号,最后点击连接。

环境创建完成。
4. 将6个树莓派通过token加入swarm集群,作为工作节点。

突然有一天假期结束,时来运转,人生才是真正开始了。