docker集群软件之fleet安装

简介:

前几天给大家介绍了docker的集群存储软件etcd的安装(地址http://dl528888.blog.51cto.com/2382721/1623746),今天就再给大家介绍集群的控制软件fleet安装。

fleet的介绍,info里复制的

1
fleet 是一个通过 Systemd对CoreOS 集群中进行控制和管理的工具。fleet 与 Systemd 之间通过 D-Bus API 进行交互,每个 fleet agent 之间通过 etcd 服务来注册和同步数据。fleet 提供的功能非常丰富,包括查看集群中服务器的状态、启动或终止 Docker container、读取日志内容等。

简单来说,我搭建docker集群,使用etcd作为信息存储,fleet连接与控制所有节点服务器的systemd,然后通过想用的命令创建或者消灭节点里docker容器。

下面是我自己画的一个fleet的架构图

wKioL1UTXgmTDweuAAHFbUQTfA4044.jpgfleet与etcd都是coreos开发,内置到coreos系统里,但我后来在弄docker集群的时候,在centos7系统里部署与使用这2个软件,使用起来很方便。

下面是安装

1、安装go

1
yum  install  go -y

2、下载fleet

1
2
cd  /tmp/
git clone https: //github .com /coreos/fleet .git

3、安装fleet

1
2
cd  fleet
. /build

4、负责可执行程序

1
2
cp  bin /fleetd  /usr/local/bin/
cp  bin /fleetctl  /usr/local/bin/

5、配置fleet

在某一个节点里编辑与配置/etc/fleet/fleet.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
09:15:02  # cat /etc/fleet/fleet.conf
# This config file is INI-formatted
 
# Lower the logging threshold. Acceptable values are 0, 1, and 2. A higher
# value corresponds to a lower logging threshold.
# verbosity=0
 
# Provide a custom set of etcd endpoints. The default value is determined
# by the underlying go-etcd library.
#etcd_servers=["http://192.168.65.2:4001"]
 
# Amount of time in seconds to allow a single etcd request before considering it failed.
# etcd_request_timeout=1.0
 
# Provide TLS configuration when SSL certificate authentication is enabled in etcd endpoints
# etcd_cafile=/path/to/CAfile
# etcd_keyfile=/path/to/keyfile
# etcd_certfile=/path/to/certfile
 
# IP address that should be published with any socket information. By default,
# no IP address is published.
public_ip= "10.10.27.221"
 
# Comma-delimited key/value pairs that are published to the fleet registry.
# This data can be referenced in unit files to affect scheduling descisions.
# An example could look like: metadata="region=us-west,az=us-west-1"
metadata= "region=cn-core-02"
 
# An Agent will be considered dead if it exceeds this amount of time to
# communicate with the Registry. The agent will attempt a heartbeat at half
# of this value.
# agent_ttl="30s"
 
# Interval at which the engine should reconcile the cluster schedule in etcd.
# engine_reconcile_interval=2

基本只需要修改public_ip与metadata

6、配置启动脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
09:16:14  # cat /usr/lib/systemd/system/fleet.service;
[Unit]
Description=Fleet
Documentation=https: //github .com /coreos/fleet
 
[Service]
Type=simple
EnvironmentFile=- /etc/fleet/fleet .conf
ExecStart= /usr/local/bin/fleetd  -config  /etc/fleet/fleet .conf
ExecStop= /usr/bin/killall  -9 fleetd
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target

7、启动fleet

1
systemctl start fleet

8、查看集群状态

我目前已经创建好了集群,并且有了4个节点

1
2
3
4
5
6
09:15:06  # fleetctl list-machines -l
MACHINE                 IP      METADATA
1a1b60030aaef2f1d8d0468f0000002d    10.10.21.199    region=cn-core-01
6d832c54a40fe752dba35d0b00000024    10.10.27.221    region=cn-core-02
893b160e363b4ec7834719a7f06e67cf    10.10.17.3  region=cn-core-04
cce83e1dd55b46f6a543b49a6b59586a    10.10.17.3  region=cn-core-03

其中machine是一个主机唯一的标示,ip是之前配置fleet.conf里的public_ip项,metadata是fleet.conf里metadata的。

目前已经建立好集群,请直接安装fleet前一定要先在每个节点安装etcd,否则fleet无法工作的,之后给大家整体介绍一个docker集群的真实案例。






 本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1624481,如需转载请自行联系原作者

目录
打赏
0
0
0
0
348
分享
相关文章
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
276 91
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
33 16
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
93 30
Docker Desktop 4.38 安装与配置全流程指南(Windows平台)
Docker Desktop 是容器化应用开发与部署的一体化工具,支持本地创建、管理和运行 Docker 容器。4.38 版本新增 GPU 加速、WSL 2 性能优化和 Kubernetes 1.28 集群管理功能,适用于微服务开发和 CI/CD 流水线搭建。安装要求为 Windows 10 2004 及以上(64 位),需启用 Hyper-V 或 WSL 2。硬件最低配置为 4GB 内存、20GB 存储和虚拟化技术支持的 CPU。安装步骤包括启用系统功能、下载并运行安装程序,完成后配置镜像加速并验证功能。常见问题涵盖 WSL 2 安装不完整、磁盘空间清理及容器外网访问等。
1288 13
|
29天前
|
Docker Buildx 简介与安装指南
Docker Buildx 是一个强大的工具,提供了多架构构建、并行构建和高级缓存管理等功能。通过正确安装和配置 Buildx,可以显著提升 Docker 镜像的构建效率和灵活性。希望本文能帮助你更好地理解和使用 Docker Buildx,以提高开发和部署的效率。
260 16
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
386 79
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
219 42
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
265 4
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
92 20
安装docker-18.06报错Error: libseccomp conflicts with docker-18.06
通过这些步骤,您可以成功在CentOS上安装Docker 18.06,并解决libseccomp的冲突问题。这些方法确保系统兼容性,并保证Docker的正常运行。
81 27