docker集群软件之fleet安装

docker集群软件之fleet安装前几天给大家介绍了docker的集群存储软件etcd的安装(地址http://dl528888.blog.51cto.com/2382721/1623746),今天就再给大家介绍集群的控制软件fleet安装。fleet的介绍,info里复制的fleet 是一个通过 Systemd对CoreOS 集群中进行控制和管理的工具。fleet 与 Systemd 之间通过 D-Bus API 进行交互,每个…

大家好,又见面了,我是你们的朋友全栈君。

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

fleet的介绍,info里复制的

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

yum install go -y

2、下载fleet

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

3、安装fleet

cd fleet
./build

4、负责可执行程序

cp bin/fleetd /usr/local/bin/
cp bin/fleetctl /usr/local/bin/

5、配置fleet

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

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、配置启动脚本

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

systemctl start fleet

8、查看集群状态

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

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集群的真实案例。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133333.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 卸载docker命令_删除docker0虚拟网卡

    卸载docker命令_删除docker0虚拟网卡#!/bin/shecho”startuninstallingdocker”echo”=======================================”#停止docker服务sudosystemctlstopdocker#杀死docker进程(为防止特殊情况下有残留的docker进程)#ps-ef|grepdocker|awk'{print$2}’|xargssudokill-s9#删除执行状态文件的根目录sudo…

    2022年9月8日
  • ubuntu彻底卸载docker_docker安装win10

    ubuntu彻底卸载docker_docker安装win10删除docker程序记事本新建脚本文件a.ps1,内容如下:$ErrorActionPreference=”SilentlyContinue”kill-force-processname’DockerforWindows’,com.docker.db,vpnkit,com.docker.proxy,com.docker.9pdb,moby-diag-dl,dockerd…

    2022年10月9日
  • docker离线安装部署_安装rabbitmq

    docker离线安装部署_安装rabbitmq一、首先确保系统环境有dockerdocker-version查看如果没有可以看我的另一篇离线安装docker的文章离线安装docker二、在有外网的地方下载好docker镜像1、拉取docker镜像dockerpullrabbitmq:management2、查看下载好的镜像dockerimages3、开始创建rabbitmq容器dockerrun-d-p5672:5672-p15672:15672–namerabbitmqrabbitmq:manage

    2022年9月25日
  • Docker 启动redis镜像

    Docker 启动redis镜像查看本地所有容器:dockerps-a查看本地运行中的容器:dockerps查看所有镜像:dockerimagesdaocker启动redis镜像同时设置密码:dockerrun-d–nameredis1-p6379:6379redis–requirepass“gs123456”参数解释:-d:后台运行-name为容器的名字-p端口映射–requirepass:redis密码redis为镜像名…

    2022年9月15日
  • 普罗米修斯监控系统搭建(MAC环境基于Docker)「建议收藏」

    普罗米修斯监控系统搭建(MAC环境基于Docker)「建议收藏」采用Docker环境搭建方式可以快速搭建起测试学习环境第一步:下载docker镜像dockerpullprom/node-exporterdockerpullprom/prometheusdockerpullgrafana/grafana第二步:启动exporter(理解为内置好的监控埋点)dockerrun-d-p9100:9100\-v”/proc:/host/proc:ro”\-v”/sys:/host/sys:ro”\-v”/:/roo

    2022年7月19日
  • 使用Docker(k8s)安装Kafka并使用宿主机连接

    使用Docker(k8s)安装Kafka并使用宿主机连接使用Docker(k8s)安装Kafka并使用宿主机连接安装Docker及docker-compose具体安装方法可以去官网看教程检查docker-compose是否安装成功创建docker-compose.yml文件version:’2’services:zookeeper:image:”zookeeper”hostname:”zookeeper.local”container_name:”zookeeper”#设置网络别名可随

    2022年8月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号