解决树莓派docker集群主机和从机重启后的连接问题---重新配置docker集群

前两天学习docker集群 用刚买的树莓派3B和zero 2w搭建了一个集群,然后从某鱼的二手平台上又淘了个3B+ 。我把zero 2w和3b的配置做了一些更改,想尝试能不能用zero 2w 和 0.96屏幕结合一下,搞个屏幕驱动,改完设置发现需要重启这俩小可爱~~~
刚搭建好的docker集群,万一重启了,断开了咋办,断开了我又连不上咋办~
百度了好些内容,众说纷纭,本着折腾的想法,颤抖的手,在我的俩小可爱上都键入了:

sudo shutdown -h now

俩都关机了以后,从新上电,开机,由于zero 2w 我配置是是无线上网,就在我旁边,看了看正常开机,ssh连接后也正常连接了。3b那边出现了点小问题,连不上网了,最后把路由器的网线接口重新调换了一下,才解决问题。
俩小可爱都开机后,3b键入命令:

sudo docker node ls  //查看一下docker集群的连接情况

主机反馈

ID                            HOSTNAME                            STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
w9pgbmfyn1o5607l59ggzpm70 *   kali-raspberry-pi                   Ready     Active         Leader           20.10.25+dfsg1
kxwqa0er49rhktfg58td5bp15     kali-raspberry-pi-zero-2-w-pitail   Down      Active                          20.10.25+dfsg1

这里可以看到 我的zero 2w小可爱 Down掉了/(ㄒoㄒ)/~~
庆幸的是 3b小可爱依然坚挺 开机直接上线,因为是主机,也不需要额外的配置了。
那么现在需要解决的问题就变成了怎么把从机zero 2w给从新加入了集群中。
远程ssh zero 2w后 键入命令

┌──(kali㉿kali-raspberry-pi-zero-2-w-pitail)-[~]
└─$ sudo docker swarm join --token SWMTKN-1-2bbbw4thkydxy5g1ws7dmyqp5in28ytb2vfb9cybmynznuwbqz-25en512ntzq431fp2y7927srl 192.168.2.31:2377
Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.

告诉我说已经是节点的一部分了 不能再加入了 可是明明刚才我在主机3b是发现是没有上线撒
突然反应过来,哦,对了 这是加入的命令,之前已经加入过了,应该是不能重复加入。
解决思路是,如何让他重新上线呗~~
各种百度后,结果不尽人意,还是解决不了办法。
换个思路吧,我把这个节点删掉他,从新再加入试试~

sudo docker swarm leave   //从机运行 离开当前所处节点

主机运行

sudo docker node rm kxwqa0er49rhktfg58td5bp15  //主机删除当前节点

删除的时候 用的命令里 rm后面跟的ID 在前面执行 sudo docker node ls 这个命令的时候能看到。
接着主机执行

sudo docker swarm ca --rotate   //主机旋转根CA证书
sudo docker swarm join-token worker  //主机获取新的加入令牌
sudo docker swarm join-token manager  //将新的加入令牌提供给要加入集群的节点

给大家展示下执行结果

┌──(kali㉿kali-raspberry-pi)-[~]
└─$ sudo docker node ls
ID                            HOSTNAME            STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
w9pgbmfyn1o5607l59ggzpm70 *   kali-raspberry-pi   Ready     Active         Leader           20.10.25+dfsg1

┌──(kali㉿kali-raspberry-pi)-[~]
└─$ sudo docker swarm ca --rotate
desired root digest: sha256:a86f289098581e1f08b2929c6e5342dfb507e04d8d3b4f091c13eb4a1c966680
  rotated TLS certificates:  [==================================================>] 1/1 nodes
  rotated CA certificates:   [==================================================>] 1/1 nodes
-----BEGIN CERTIFICATE-----
MIIBajCCARCgAwIBAgIULp7Pn/5ogAwAZ4awjhCv6oQ23TYwCgYIKoZIzj0EAwIw
EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMjQwMzAxMDI1MzAwWhcNNDQwMjI1MDI1
MzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABJq6qnKptFdpoL5aNtMR1nAMN6TbTto816l97hI0Dov2pJ+kl6RdOamR1YIq
8drN2O1Mm5FyQKkVkgMIKwaDFiGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB
Af8EBTADAQH/MB0GA1UdDgQWBBSJFsWNqiZcVaoiDVkYDC7J3pmKDDAKBggqhkjO
PQQDAgNIADBFAiAim9GDp3tfnZtWdb3VfbHxTsG7tLYcmcbCAGlNRTdujgIhAPn3
6KSiyEHHpfBBYnesTzMCPCKWWvhIc72LPUK+FGg/
-----END CERTIFICATE-----

┌──(kali㉿kali-raspberry-pi)-[~]
└─$ sudo docker swarm join-token worker
To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-474nt6yj0504bgn8zt8pf4vq2vfxuvk2qntduki5vzf1en07sw-8j704q4heoa3bnv9to5mlyijf 192.168.2.31:2377


┌──(kali㉿kali-raspberry-pi)-[~]
└─$ sudo docker swarm join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-474nt6yj0504bgn8zt8pf4vq2vfxuvk2qntduki5vzf1en07sw-exmdfck0lvaagv6qycszrqdzs 192.168.2.31:2377


然后我去从机执行加入命令

┌──(kali㉿kali-raspberry-pi-zero-2-w-pitail)-[~]
└─$ sudo docker swarm join --token SWMTKN-1-474nt6yj0504bgn8zt8pf4vq2vfxuvk2qntduki5vzf1en07sw-exmdfck0lvaagv6qycszrqdzs 192.168.2.31:2377
Error response from daemon: error while validating Root CA Certificate: x509: certificate has expired or is not yet valid: current time 2023-09-30T11:06:22Z is before 2024-03-01T02:53:00Z

咋回事 ???
突然想起来,是不是时间不是当前时间啊!!!

┌──(kali㉿kali-raspberry-pi)-[~]
└─$ date
Fri Mar  1 03:01:50 AM UTC 2024

看吧 果然不是当前时间 咱也不管时区啥的了 直接手动改了吧

┌──(kali㉿kali-raspberry-pi)-[~]
└─$ sudo date -s "2024-03-01 11:03"
Fri Mar  1 11:03:00 AM UTC 2024

然后从机也改一下 同样的命令 用 date -s 做到主机和从机的时间统一
再次执行加入命令

┌──(kali㉿kali-raspberry-pi-zero-2-w-pitail)-[~]
└─$ sudo docker swarm join --token SWMTKN-1-474nt6yj0504bgn8zt8pf4vq2vfxuvk2qntduki5vzf1en07sw-exmdfck0lvaagv6qycszrqdzs 192.168.2.31:2377
This node joined a swarm as a manager.

嘿嘿 好像成了
主机看一下

┌──(kali㉿kali-raspberry-pi)-[~]
└─$ sudo docker node ls
ID                            HOSTNAME                            STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
w9pgbmfyn1o5607l59ggzpm70 *   kali-raspberry-pi                   Ready     Active         Leader           20.10.25+dfsg1
kb43fkjfsc961c9xtj0q5qtjt     kali-raspberry-pi-zero-2-w-pitail   Ready     Active         Reachable        20.10.25+dfsg1

哈哈 果然都成了 已经都是 Ready 状态啦 哈哈哈 开心 又解决一个问题 ~~

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值