Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Docker Visualization Management tool shipyard

2025-02-25 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/02 Report--

I. Overview

There are three kinds of Docker graphics page management tools commonly used: DOCKER UI,Shipyard,Portainer. Relatively speaking, Shipyard is the most powerful, followed by Portainer, and finally Docker ui.

Shipyard (github) is a docker graphical tool based on the web cluster management tool Citadel, which can manage containers, hosts and other resources. It includes two versions: core and extension. Core or shipyard mainly manages the containers on multiple Docker host (supports spanning multiple host), and extension or shipyard-extensions adds application routing and load balancing, centralized logging, deployment, etc.

Shipyard is a web system that manages containers, images, docker clusters, warehouses and nodes in Docker Swarm.

DockerUI and Shipyard function

1. Advantages of DockerUI

1) batch operations can be performed on running containers

2) in the container network-displays the network relationship between the container and the container

3) all mount directories are displayed in Volumes

A fatal disadvantage of DockerUI: it does not support multiple hosts. Just imagine, if there are N docker hosts-I need to manage them one by one with dockerui, which is troublesome to think about. Dockerui is a good management tool for a single host.

2. Shipyard function

It is an integrated system for managing docker containers, mirrors and Registries. It can simplify the management of Docker container clusters across multiple hosts. Through the Web user interface, you can roughly browse relevant information, such as how many processors and memory resources your container is using, which containers are running, and you can check event logs on all clusters.

Its main characteristics include:

1) supports dynamic clustering of nodes and expands the size of nodes (swarm, etcd schemes)

2) support image management, container management, node management and other functions

3) Visual container management and monitoring management

4) online capacity console terminal

Several Concepts of Shipyard

1) engine

A shipyard-managed docker cluster can contain one or more engine (engines), and an engine is the docker daemon that listens on the tcp port. Shipyard management of docker daemon, images, containers is based entirely on Docker API, and no other modifications are required. In addition, shipyard can impose resource restrictions on each engine, including CPU and memory. Because TCP snooping has some security risks compared with Unix socket, shipyard also supports secure communication with docker background processes through SSL certificates.

2) rethinkdb

RethinkDB is a docker image of a shipyard project, which is used to store information such as account (account), engine (engine), service key (service key), extended metadata (extension metadata), but does not store anything about containers or images.

Shipyard ecology

Shipyard is composed of the shipyard controller and the surrounding ecosystem. The following is introduced according to the deploy startup order (the following are the names of the containers started after shipyard is installed using the script)

1) RethinkDB

The first thing deploy starts is the RethinkDB container. Shipyard uses RethinkDB as the database to store users and other information.

2) Discovery

In order to use Swarm, we need an external key-value store group container, and shipyard uses etcd by default.

3) shipyard_certs

Certificate management container to implement certificate verification function

4) Proxy

By default, the Docker engine only listens on Socket, and we can reconfigure the engine to use TLS or use a proxy container to forward requests from TCP to UNIX Socket that Docker listens on.

5) Swarm Manager

Swarm Manager

6) Swarm Agent

Swarm agent, which runs on each node.

7) Controller

Shipyard controller, the implementation of Remote API and web.

2. Shipyard building

1. Environmental preparation

(1) system version

CentOS Linux release 7.5.1804 (Core)

(2) Network card information

Inet 172.160.45.128 netmask 255.255.255.0 broadcast 172.160.45.25

(3) disable firewall and seliunx service

(4) docker-ce installation

Docker version 18.06.3-ce, build d7080c1

2. Download dependent images (if these images are not downloaded in advance, they will be downloaded automatically at the time of installation and deployment with the following button, but you have to wait for a period of time. So it's best to download it in advance, it will be quick when you deploy it with one click.

# docker pull rethinkdb

# docker pull microbox/etcd

# docker pull shipyard/docker-proxy

# docker pull swarm

# docker pull dockerclub/shipyard

3.1. Official installation:

How to install shipyard Chinese version

Curl http://dockerclub.net/deploy | bash-s

3.2. Execute the script

# sh shipyard-deploy

After deployment, you can see that the corresponding shipyard container is running normally

Finally, visit http://172.160.45.128:8080, and log in with admin/shipyard username and password.

If you want to modify the web access port, do the following:

# cat shipyard-deploy | grep 8080

Echo "PORT: specify the listen port for the controller (default: 8080)"

SHIPYARD_PORT=$ {PORT:-8080}

For example, change the default port 8080 in the script to port 80

# sed-I's Universe 8080max 80max g 'shipyard-deploy

And then redeploy.

Delete Shipyard environment operation

# cat shipyard-deploy | ACTION=remove bash

4.2 how to delete the Chinese version of shipyard

Curl http://dockerclub.net/deploy | ACTION = remove bash-s

5. Shipyard adds the operation records of other node hosts (hosts of centos7.X systems)

For example, the 172.16.60.220 machine node is added to the shipyard management above.

You need to do the following on the machine of the added node:

1) download shipyard-deploy on the added node according to the latest address above

# chmod + x shipyard-deploy

2) do the following (note that the etcd address below should be written as the ip address of the shipyard deployment machine. The image will be downloaded automatically when it is executed for the first time, and you will have to wait for some time.)

# cat shipyard-deploy | ACTION=node DISCOVERY=etcd://172.160.45.128:4001 bash

Note that when adding a node, the above script needs to run on the host of the added node, not on the machine where the shipyard deploys the node; then log in to http://172.160.45.128:8080, to see the added node information in "Container Management"-"Host Node".

Additional knowledge:

Nginx for domain name forwarding: add the following code to the http block of the nginx configuration file:

Upstream shipyard {

Server 172.160.45.128:8080

}

Server {

Listen 80

Server_name kevin.shipyard.com

Location / {

Proxy_pass http://shipyard;

Proxy_http_version 1.1

Proxy_set_header Upgrade $http_upgrade

Proxy_set_header Connection "upgrade"

}

}

The following three lines of code do the WebSockets jump for nginx. Otherwise, 400 errors will be reported when shell is executed.

Proxy_http_version 1.1

Proxy_set_header Upgrade $http_upgrade

Proxy_set_header Connection "upgrade"

Using shipyard to deploy swarm clusters and manage containers, swarm-manage is a shipyard deployment machine, and other swarm-node nodes are nodes added to shipyard management.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report