首页 > 系统相关 >Centos下安装Docker集群管理工具Shipyard

Centos下安装Docker集群管理工具Shipyard

时间:2024-09-25 18:53:44浏览次数:10  
标签:complete Centos Shipyard shipyard Pulling docker root Docker localhost

 

一、 Docker Shipyard是什么 ?

shipyard是一个开源的docker管理平台,其特性主要包括:

1 支持镜像管理、容器管理。
2 支持控制台命令
3 容器资源消耗监控
4 支持集群swarm,可以随意增加节点
5 支持控制用户管理权限,可以设置某个容器对某个用户只读、管理权限。
6 有汉化版

缺点:

1 不支持image管理;
2 不支持container批量操作。
3 启动容器较多,占用每个节点的一部分资源

 Shipyard的几个概念

1)engine
一个shipyard管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp端口的docker daemon。
shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。
另外,shipyard可以对每个engine做资源限制,包括CPU和内存;因为TCP监听相比Unix socket方式会有一定的安全隐患,
所以shipyard还支持通过SSL证书与docker后台进程安全通信。
  
2)rethinkdb
RethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、
扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。

Shipyard生态

shipyard是由shipyard控制器以及周围生态系统构成,以下按照deploy启动顺序进行介绍(下面几个就是shipyard使用脚本安装后,启动的几个容器名)
1)RethinkDB
deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
 
2)Discovery
为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。
 
3)shipyard_certs
证书管理容器,实现证书验证功能
 
4)Proxy
默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。
 
5)Swarm Manager
Swarm管理器
 
6)Swarm Agent
Swarm代理,运行在每个节点上。
 
7)Controller
shipyard控制器,Remote API的实现和web的实现。

 

 

二、安装前准备

系统:Centos7
时间同步
可连接外网,添加yum源
关闭selinux

 

三安装docker

[root@localhost ~]# yum install docker -y
[root@localhost ~]# docker start docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

 

四、安装Shipyard master端

1.下载镜像,下载前需先配置加速器,否则下载速度感人......

使用加速器下载官网镜像方法:

1.打开https://dev.aliyun.com/ 链接,按提示申请一个账户

2.点击容器镜像服务,再点击容器加速器按提示设置即可

Centos下安装Docker集群管理工具Shipyard_docker

 

 

加速器配置好后开始下载镜像

[root@localhost ~]#docker pull rethinkdb
[root@localhost ~]#docker pull microbox/etcd
[root@localhost ~]#docker pull shipyard/docker-proxy
[root@localhost ~]#docker pull swarm
[root@localhost ~]#docker pull dockerclub/shipyard

 

2.修改安装脚本,修改为下载中文镜像

a.修改为下载中文镜像
[root@localhost ~]#wget https://shipyard-project.com/deploy
[root@localhost ~]#grep -n shipyard:latest deploy
[root@localhost ~]#sed -i 's/shipyard\/shipyard:latest/dockerclub\/shipyard:latest/g' deploy

b.修改端口
#确保8080端口没有被使用,否则要修改脚本
[root@localhost ~]#netstat -tlnp | grep 8080
#修改脚本
[root@localhost ~]#grep -n 'PORT:-8080' deploy
SHIPYARD_PORT=${PORT:-8080}
#修改为
SHIPYARD_PORT=${PORT:-指定端口}
[root@localhost ~]#sed 's/PORT:-8080/PORT:-8090/g' deploy | grep "PORT:-8090"

 

3.启动  sh deploy

[root@localhost ~]# sh deploy
Unable to find image 'alpine:latest' locally
Trying to pull repository docker.io/library/alpine ... 
latest: Pulling from docker.io/library/alpine
2fdfe1cd78c2: Pulling fs layer
2fdfe1cd78c2: Verifying Checksum
2fdfe1cd78c2: Download complete
2fdfe1cd78c2: Pull complete
Digest: sha256:ccba511b1d6b5f1d83825a94f9d5b05528db456d9cf14a1ea1db892c939cda64
Deploying Shipyard
 -> Starting Database
 -> Starting Discovery
 -> Starting Cert Volume
 -> Starting Proxy
 -> Starting Swarm Manager
 -> Starting Swarm Agent
 -> Starting Controller
Waiting for Shipyard on 192.168.0.104:8080

Shipyard available at http://192.168.0.104:8080
Username: admin Password: shipyard

根据提示信息 访问   http://192.168.0.104:8080 ,用户名和密码为admin:shipyard

 注:删除命令  cat deploy | ACTION=remove bash  

 

4.访问Shipyard

输入账号密码登录

Centos下安装Docker集群管理工具Shipyard_2d_02

 

 5.添加node节点(node节点需要安装docker并启动)

[root@localhost ~]# curl https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://192.168.0.104:4001 bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10119  100 10119    0     0   4445      0  0:00:02  0:00:02 --:--:--  4444
Adding Node
 -> Starting Cert Volume
Unable to find image 'alpine:latest' locally
Trying to pull repository docker.io/library/alpine ... 
latest: Pulling from docker.io/library/alpine
2fdfe1cd78c2: Pulling fs layer
2fdfe1cd78c2: Verifying Checksum
2fdfe1cd78c2: Download complete
2fdfe1cd78c2: Pull complete
Digest: sha256:ccba511b1d6b5f1d83825a94f9d5b05528db456d9cf14a1ea1db892c939cda64
 -> Starting Proxy
Unable to find image 'shipyard/docker-proxy:latest' locally
Trying to pull repository docker.io/shipyard/docker-proxy ... 
latest: Pulling from docker.io/shipyard/docker-proxy
8f4ec95ceaee: Pulling fs layer
ac77a345f217: Pulling fs layer
43039e3ef672: Pulling fs layer
a3ed95caeb02: Pulling fs layer
a3ed95caeb02: Waiting
43039e3ef672: Verifying Checksum
43039e3ef672: Download complete
a3ed95caeb02: Verifying Checksum
a3ed95caeb02: Download complete
ac77a345f217: Verifying Checksum
ac77a345f217: Download complete
8f4ec95ceaee: Verifying Checksum
8f4ec95ceaee: Download complete
8f4ec95ceaee: Pull complete
ac77a345f217: Pull complete
43039e3ef672: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:da6bbd1a145581a940d44940cce0f43705d7f8ec552a4e97e77104ec1b6dc3d1
 -> Starting Swarm Manager
Unable to find image 'swarm:latest' locally
Trying to pull repository docker.io/library/swarm ... 
latest: Pulling from docker.io/library/swarm
dd72058debf0: Pulling fs layer
cb543654edaf: Pulling fs layer
44212202dc6d: Pulling fs layer
44212202dc6d: Verifying Checksum
44212202dc6d: Download complete
cb543654edaf: Verifying Checksum
cb543654edaf: Download complete
dd72058debf0: Retrying in 5 seconds
dd72058debf0: Retrying in 4 seconds
dd72058debf0: Retrying in 3 seconds
dd72058debf0: Retrying in 2 seconds
dd72058debf0: Retrying in 1 second
dd72058debf0: Verifying Checksum
dd72058debf0: Download complete
dd72058debf0: Pull complete
cb543654edaf: Pull complete
44212202dc6d: Pull complete
Digest: sha256:c97a27b020ae4439432c842769d8e731661d5987962e33004114e4aba9d03b4c
 -> Starting Swarm Agent
Node added to Swarm: 192.168.0.106

 

提示node添加成功,IP为192.168.0.106,我们在shipyard上查看一下

Centos下安装Docker集群管理工具Shipyard_docker_03

点击节点管理,192.168.0.106已结添加完成


查看容器列表:

Centos下安装Docker集群管理工具Shipyard_docker_04

容器部署:

Centos下安装Docker集群管理工具Shipyard_2d_05

 

其他:

#停止运行镜像
[root@node-1 ~]# docker stop shipyard-proxy shipyard-certs shipyard-discovery shipyard-rethinkdb shipyard-swarm-agent shipyard-swarm-manager shipyard-controller
  
#启动运行的镜像
[root@node-1 ~]# docker start shipyard-proxy shipyard-certs shipyard-discovery shipyard-rethinkdb shipyard-swarm-agent shipyard-swarm-manager shipyard-controller
 
#删除shipyard(在节点机上执行,就会将节点从shipyard管理里踢出)
# curl http://dockerclub.net/public/script/deploy | ACTION=remove bash -s                   ==> 中文版
# curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s                     ==> 英文版

 

 

"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少



标签:complete,Centos,Shipyard,shipyard,Pulling,docker,root,Docker,localhost
From: https://blog.51cto.com/u_8901540/12111448

相关文章

  • centos7 设置静态ip
    在CentOS7上设置静态IP,你需要按照以下步骤操作: 找到你的网络接口名称,使用命令 nmclid。 编辑网络配置文件。配置文件通常位于 /etc/sysconfig/network-scripts/,文件名为 ifcfg-<interface>,例如 ifcfg-ens33。 修改配置文件,设置静态IP相关的参数。 重......
  • Docker常用命令
    Docker常用命令1.docker基础命令启动dockersystemctlstartdocker关闭dockersystemctlstopdocker重启dockersystemctlrestartdockerdocker设置随服务启动而自启动systemctlenabledocker查看docker运行状态systemctlstatusdocker查看docker版......
  • Docker 运行 MongoDB
    Docker运行MongoDB实验环境宿主机:CentOSStreamrelease9Docker:DockerEngine27.3.1MongoDB:7.0.14Mongosh;2.3.1配置文件mongod.conf[karma@localhostkarmamongodb]$catmongod.conf|grep-vE"#|^$"storage:dbPath:/var/lib/mongodbsystemLog:des......
  • docker compose-批量容器编排
    第八章dockercompose三步骤:1.Dockerfile保证我们的项目在任何地方可以运行。2.services什么是服务。docker-compose.yml这个文件怎么写。3.启动项目作用:批量容器编排。compose是docker开源项目,需要安装!Dockerfile让程序在任何地方运行。web服务。redis、MySQL、nginx...多个容器......
  • docker笔记_数据卷、挂载
    docker数据存储概述数据卷(Volumes)特点操作绑定挂载(BindMounts)内存挂载(tmpfs)总结概述镜像构建过程中,所产生的layer都是只读层,只有在创建容器时才会生成一个可写的容器层(contatnerlayer)。如下图:在默认情况下,容器内部创建的所有文件都存储在可写层中。这导致:获取......
  • centos(linux):用命令设置用户的shell以及/bin/false和/sbin/nologin的区别
    一,/bin/false和/sbin/nologin作为shell时的区别1,/bin/false/bin/false是一个什么都不做,立即返回非零退出状态的命令。它通常用于禁止用户登录用户不会收到任何错误或提示信息,登录尝试简单地被拒绝,没有任何解释2,/sbin/nologin/sbin/nologin是一个专门设计来阻止用户登录的程......
  • ADD failed: file not found in build context or excluded by .dockerignore: stat i
    这个错误信息表明在构建Docker镜像时,Docker守护进程(daemon)在尝试将名为 irap_rule_center 的文件或目录添加到镜像中,但是没有在构建上下文(buildcontext)中找到这个文件或目录,或者这个文件或目录被 .dockerignore 文件忽略了。要解决这个问题,你可以按照以下步骤操作:检查文件......
  • Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-
    安装docker-compose时候。出现错误1、在线拉取太费劲。最后使用的离线安装、、参考内容。.github手动下载文件:https://github.com/docker/compose/releases/tag/1.25.0-rc4选择-86版本的内容将文件上传到/usr/local/bin/目录下,重命名为docker-compose,修改文件权限:chmod+x......
  • 【随手记录】docker部署jenkins,集成maven、spring项目
    1、下载镜像文件到服务器dockerpulljenkins/jenkins:lts-jdk17或离线导入镜像:dockerload-ijenkins-lts-jdk17检查镜像是否导入:dockerimages|grepjenkinsjenkins/jenkinslts-jdk177a7add0bf3da2weeksago470MB2024年6月以后国内很多大型的Dock......
  • 828华为云征文 | 华为云X实例部署Docker应用的性能评测优化与实践指南
    目录1.前言2.测试环境设置2.1硬件与软件配置2.2网络环境与带宽2.3测试应用介绍3.Docker及应用的安装部署步骤3.1安装Docker3.2使用Docker部署Elasticsearch3.3使用Docker部署MySQL3.4使用Docker部署Nginx4.性能测试与评测标准4.1资源占用分析4.2网......