Ubuntu下部署Shipyard管理docker

使用k8s对于我这种新人来说,难度有点大。遂尝试使用Shipyard这个docker web ui工具来进行管理,以方便入门。

首先,我们还是需要在我们的主机上安装docker。

然后官方提供了自动安装脚本和手动安装两种方式,这里我们采用手动安装的方式。

主节点

1.安装Datastore

docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-rethinkdb \
    rethinkdb

2.安装Discovery

docker run \
    -ti \
    -d \
    -p 4001:4001 \
    -p 7001:7001 \
    --restart=always \
    --name shipyard-discovery \
    microbox/etcd -name discovery

3. 安装Proxy

docker run \
    -ti \
    -d \
    -p 2375:2375 \
    --hostname=$HOSTNAME \
    --restart=always \
    --name shipyard-proxy \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e PORT=2375 \
    shipyard/docker-proxy:latest

4. Swarm Manager

docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-swarm-manager \
    swarm:latest \
    manage --host tcp://0.0.0.0:3375 etcd://<IP-OF-HOST>:4001

5. 安装Controller

docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-controller \
    --link shipyard-rethinkdb:rethinkdb \
    --link shipyard-swarm-manager:swarm \
    -p 8080:8080 \
    shipyard/shipyard:latest \
    server \
    -d tcp://swarm:3375

6. Swarm Agent

这一步是将本机也加入到集群中。

sudo docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-swarm-agent \
    swarm:latest \
    join --addr <IP-OF-HOST>:2375 etcd://<IP-OF-HOST>:4001

至此,主节点配置完成。它会曝露主机的8080端口作为shipyard的api controller入口.
因此你访问http://:8080 即可进入登录界面。
默认账号的 admin 密码是 shipyard。

从节点

建议使用hostnamectl set-hostname new-name命令将节点改名,以防重复节点名出现。

1. 安装Proxy

sudo docker run \
    -ti \
    -d \
    -p 2375:2375 \
    --hostname=$HOSTNAME \
    --restart=always \
    --name shipyard-proxy \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e PORT=2375 \
    shipyard/docker-proxy:latest

2. Swarm Manager

sudo docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-swarm-manager \
    swarm:latest \
    manage --replication --addr <从节点ip>:3375 --host tcp://0.0.0.0:3375 etcd://<主节点ip>:4001

3. Swarm Agent

sudo docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-swarm-agent \
    swarm:latest \
    join --addr <从节点ip>:2375 etcd://<主节点ip>:4001

成功后便加入了一个节点。

PS:我测试后发现,web页面上的container栏显示是正常的,但是node栏却无法列出节点。

posted @ 2019-05-28 20:36  星星,风,阳光  阅读(843)  评论(0编辑  收藏  举报