docker swarm集群部署 portainer 管理实践,农民工看完都学会了

文章详细介绍了DockerSwarm中添加节点(manager和worker)、节点状态管理、服务创建与更新的方法,以及节点退出和集群管理的相关操作。
摘要由CSDN通过智能技术生成

docker swarm init --advertise-addr 192.168.2.101 --listen-addr 192.168.2.101:2377

添加节点

docker swarm join [OPTIONS] HOST:PORT

Options

1

2

3

4

5

6

7

8

9

10

11

12

13

14

–token: 所需加入集群的token

–advertise-addr: 多网卡的情况下,指定需要使用的ip

–listen-addr: 指定监听的 ip 与端口

–availability: 节点的有效性(“active”|“pause”|“drain”)

Active:集群中该Node可以被指派Task

Pause:集群中该Node不可以被指派新的Task,但是其他已经存在的Task保持运行

Drain:集群中该Node不可以被指派新的Task,Swarm Scheduler停掉已经存在的Task,并将它们调度到可用的Node上

添加manager节点

ser1已经是管理节点,这里介绍如何添加另一个管理节点。swarm支持多个管理节点,但是只会有一个leader。

首先要获取manager的token,在ser1上执行以下命令:

docker swarm join-token manager

获取到manager token,然后执行以下命令,将ser2服务器作为manager节点加入集群

1

2

3

4

5

docker swarm join

–advertise-addr 192.168.2.102

–listen-addr 192.168.2.101:2377

–token SWMTKN-1-29ynh5uyfiiospy4fsm4pd4xucyji2rn0oj4b4ak4s7a37syf9-ajkrv2ctjr5cmxzuij75tbrmz

192.168.2.101:2377

worker节点

首先要获取worker的token,在ser1上执行以下命令:

docker swarm join-token worker

获取到worker token,然后执行以下命令,将ser2服务器作为worker节点加入集群:

1

2

3

4

5

docker swarm join

–advertise-addr 192.168.2.102

–listen-addr 192.168.2.101:2377

–token SWMTKN-1-29ynh5uyfiiospy4fsm4pd4xucyji2rn0oj4b4ak4s7a37syf9-a53g5oimn8zeaqomm5vxgcoj7

192.168.2.101:2377

查看节点

以下命令只能在manager节点上执行

查出集群的节点列表

语法

docker node ls [OPTIONS]

Options

–filter , -f : 根据条件筛选查询结果

示例

docker node ls

修改节点

以下命令只能在manager节点上执行

节点降级

将manager节点降为worker

语法

docker node demote NODE [NODE…]

示例

docker node demote rpi2

节点升级

将worker节点提升为manager

语法

docker node promote NODE [NODE…]

示例

docker node promote rpi

修改节点参数

语法

docker node update [OPTIONS] NODE

Options

1

2

3

4

5

6

7

8

9

–availability : 节点的有效性(“active”|“pause”|“drain”)

Active:集群中该Node可以被指派Task

Pause:集群中该Node不可以被指派新的Task,但是其他已经存在的Task保持运行

Drain:集群中该Node不可以被指派新的Task,Swarm Scheduler停掉已经存在的Task,并将它们调度到可用的Node上

–role : 节点角色(“worker”|“manager”)

示例

docker node update --availability Active rpi2

退出节点

docker node rm

从集群中移除一个或多个节点(manager 节点执行)

语法

docker node rm [OPTIONS] NODE [NODE…]

Options

–force , -f : 强制从集群中删除节点

示例

docker node rm -f rpi2

docker swarm leave

退出集群(需要退出的节点执行)

语法

docker swarm leave [OPTIONS]

Options

–force , -f : 强制从集群中删除节点

示例

docker swarm leave

应用部署

创建服务

语法

docker service create [OPTIONS] IMAGE [COMMAND] [ARG…]

Options

1

2

3

4

5

6

7

8

–detach , -d : 指定容器运行于前台还是后台,默认为false

–name : 服务名称

–network : 网络连接

–publish , -p : 端口映射

–env , -e : 设置环境变量

–tty , -t : 分配tty设备,该可以支持终端登录

–mount : 文件挂载

–replicas : 指定任务数量

示例

创建一个docker网络

1

docker network create --driver overlay swarm_test

创建一个2个副本的redis service

docker service create --replicas 2 --name redis -p 6379:6379 --network=swarm_test arm32v7/redis

注意:rpi是arm架构的,只能使用arm docker镜像,现在docker官方已经有了arm镜像

arm32v7

arm32v6

修改服务

修改服务参数

语法

docker service update [OPTIONS] SERVICE

Options

1

2

3

4

5

6

7

8

9

10

–detach , -d : 指定容器运行于前台还是后台

–env-add : 增加环境变量

–env-rm : 删除环境变量

–mount-add : 增加文件挂载

–mount-rm : 通过目标路径删除文件挂载

–network-add : 增加网络设置

–network-rm : 移除网络设置

–publish-add : 增加端口映射

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

总结

机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。

对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。

你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:

请转发本文支持一下

起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-121gkKwz-1710961358971)]
[外链图片转存中…(img-ihyngDug-1710961358971)]
[外链图片转存中…(img-XGYCgXeh-1710961358972)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-GWRO3BVs-1710961358973)]

总结

机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。

对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。

你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:

请转发本文支持一下

[外链图片转存中…(img-n8vkupIq-1710961358973)]

[外链图片转存中…(img-Nz1ojm5N-1710961358974)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值