IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker -swarm集群搭建 -> 正文阅读

[系统运维]docker -swarm集群搭建

一共三台主机
192.168.19.4
192.168.19.5
192.168.19.6

192.168.19.4
设置主机名

[root@centos redis-cluster]# hostnamectl set-hostname manager
[root@centos redis-cluster]#

初始化swarm集群

[root@centos redis-cluster]# docker swarm init 
Swarm initialized: current node (lfjk87d0pguk7tkgoj69fu9nq) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-526bzo5skkyhb509xk6mpbmsm5wepnbt12clg68ozr0n93emtf-adqinc1qrub0uyti0683hjqvw 192.168.19.4:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

获取加入令牌

[root@centos redis-cluster]# docker swarm join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-526bzo5skkyhb509xk6mpbmsm5wepnbt12clg68ozr0n93emtf-b1r2kkd4ccic3jpdlpsh8sjlq 192.168.19.4:2377

[root@centos redis-cluster]# docker swarm join-token worker
To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-526bzo5skkyhb509xk6mpbmsm5wepnbt12clg68ozr0n93emtf-adqinc1qrub0uyti0683hjqvw 192.168.19.4:2377

[root@centos redis-cluster]# 

查询集群的所有节点

[root@centos redis-cluster]# docker node ls
ID                            HOSTNAME   STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
lfjk87d0pguk7tkgoj69fu9nq *   manager    Ready     Active         Leader           20.10.11

192.168.19.5
设置机器名

[root@centos ~]# hostnamectl set-hostname worker

加入集群

[root@centos ~]# docker swarm join --token SWMTKN-1-526bzo5skkyhb509xk6mpbmsm5wepnbt12clg68ozr0n93emtf-adqinc1qrub0uyti0683hjqvw 192.168.19.4:2377
This node joined a swarm as a worker.

192.168.19.4
创建服务

[root@centos redis-cluster]# docker service create --replicas 1 --name mynginx -p 80:80 nginx
puajwi3kllcgd482vdyqdm4mn
overall progress: 1 out of 1 tasks 
1/1: running   [==================================================>] 
verify: Service converge

查看服务

[root@centos redis-cluster]# docker service ls
ID             NAME      MODE         REPLICAS   IMAGE          PORTS
puajwi3kllcg   mynginx   replicated   1/1        nginx:latest   *:80->80/tcp
[root@centos redis-cluster]# docker service inspect --pretty mynginx

ID:		yirs931yqmkzwjkuhhlrvyex3
Name:		mynginx
Service Mode:	Replicated
 Replicas:	1
Placement:
UpdateConfig:
 Parallelism:	1
 On failure:	pause
 Monitoring Period: 5s
 Max failure ratio: 0
 Update order:      stop-first
RollbackConfig:
 Parallelism:	1
 On failure:	pause
 Monitoring Period: 5s
 Max failure ratio: 0
 Rollback order:    stop-first
ContainerSpec:
 Image:		nginx:latest@sha256:9522864dd661dcadfd9958f9e0de192a1fdda2c162a35668ab6ac42b465f0603
 Init:		false
Resources:
Endpoint Mode:	vip
Ports:
 PublishedPort = 80
  Protocol = tcp
  TargetPort = 80
  PublishMode = ingress 

动态扩容

[root@centos redis-cluster]# docker service scale mynginx=2
mynginx scaled to 2
overall progress: 2 out of 2 tasks 
1/2: running   [==================================================>] 
2/2: running   [==================================================>] 
verify: Service converged
[root@centos redis-cluster]# docker service ls
ID             NAME      MODE         REPLICAS   IMAGE          PORTS
puajwi3kllcg   mynginx   replicated   2/2        nginx:latest   *:80->80/tcp

查看192.168.19.4机器

[root@centos redis-cluster]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                      PORTS     NAMES
fe5299cd8172   nginx:latest   "/docker-entrypoint.…"   7 minutes ago    Up 7 minutes                80/tcp    mynginx.1.4d3c535tl0jid28z5i54info9
5ae1db544afc   redis          "docker-entrypoint.s…"   29 minutes ago   Exited (0) 27 minutes ago             redis-6372

查看192.168.19.5机器

[root@centos ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS              PORTS     NAMES
5d7aa8a46a8c   nginx:latest   "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    mynginx.2.jqpo0xtpdo6usuavhmiptu0py

都部署了 nginx

查看服务跑在那台机器上 注意:只能在manage节点使用

[root@centos redis-cluster]# docker service ps mynginx
ID             NAME        IMAGE          NODE      DESIRED STATE   CURRENT STATE            ERROR     PORTS
4d3c535tl0ji   mynginx.1   nginx:latest   manager   Running         Running 12 minutes ago             
jqpo0xtpdo6u   mynginx.2   nginx:latest   worker    Running         Running 6 minutes ago 

服务应用滚动更新

[root@centos redis-cluster]# docker service update  --replicas 2 --update-delay 10s mynginx
mynginx
overall progress: 2 out of 2 tasks 
1/2: running   [==================================================>] 
2/2: running   [==================================================>] 
verify: Service converged

注意:

  1. manager节点加入不上;关闭机器的防火墙就可以了
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:16:28  更:2021-12-13 13:18:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:12:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码