使用Docker Machine安装UCP

先在一台主机上安装UCP作为controller主机,然后在另一台主机上安装UCP作为UCP的一个node。

关于UCP的详细内容请参考 Docker UCP介绍

创建UCP controller主机

准备好主机,并运行UCP的controller

# 创建ucp-node0主机用于controller
docker-machine create -d virtualbox --virtualbox-memory "2000" --virtualbox-disk-size "5000" ucp-node0
# docker命令切换到ucp-node0主机
eval $(docker-machine env ucp-node0)
# 下载并运行ucp镜像,使用ucp的安装工具
docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name ucp docker/ucp install -i \
  --swarm-port 3376 --host-address $(docker-machine ip ucp-node0)
# ucp容器运行之后,需要你设定用于管理UCP的password(记住密码,后面进入UCP的UI页面后可修改)
# 中间会下载10个ucp相关的镜像(有时会卡死,观察到网络没有下载流量,按Ctrol+C强制停止,重新运行上述容器)
# 下载完成后,需要设定SAN别名,直接回车(忽略此项设置)

上述步骤完成后,会提示访问https://<ucp-node0-ip>/,在浏览器中输入此URL,输入用户名admin和密码(刚才设置的密码)就可进入UCP管理面板。

会提示UCP未注册,它不能再添加任何节点,只有当前controller这一节点。

那么,如何注册呢?

根据UCP管理面板上的链接,访问https://hub.docker.com/enterprise/trial/ 根据步骤下载一个licence文件:docker_subscription.lic

回到UCP管理页面上,点击左面导航条:Dashboard/Settings -> Licence tab页,上传上面的licence文件。提示注册成功。

向UCP中添加多个replica

为保证高可用性,可为controller创建多个备机。包括当前controller的replica的数量是有一定要求的,请参考前面对UCP架构介绍的关于高可用性相关内容。

以其中一个replica为例

# 备份安装第一个controller的CA证书及密钥
docker run --rm -i --name ucp \
    -v /var/run/docker.sock:/var/run/docker.sock \
    docker/ucp backup --root-ca-only --interactive \
    --passphrase "secret" > /tmp/backup.tar

# 创建主机添加到
docker-machine create -d virtualbox ucp-replica1
# Docker命令切换到ucp-replica1
eval $(docker-machine env ucp-replica1)
# 将backup.tar文件复制到ucp-replica1主机目录中:/tmp/backup.tar
# 运行docker/ucp容器,将当前node以replica添加到UCP(要使用CA证书密钥等备份文件)
docker run --rm -it --name ucp \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /tmp/backup.tar:/backup.tar \
  docker/ucp join -i --replica
######## 也先将replica加入UCP,然后再还原CA及密钥 ###########
# docker run --rm -i --name ucp \
#    -v /var/run/docker.sock:/var/run/docker.sock \
#    docker/ucp restore --root-ca-only --interactive \
#    --passphrase "secret" < /tmp/backup.tar
#########################################################

向UCP中添加node

注意:向UCP添加node前,必须使用UCP注册(上传License);否则,将节点添加到UCP时,会有”unlicenced”的错误提示。

# 创建主机添加到
docker-machine create -d virtualbox ucp-node1
# Docker命令切换到ucp-node1
eval $(docker-machine env ucp-node1)
# 运行docker/ucp容器,将当前node添加到UCP
docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name ucp docker/ucp join -i \
  --host-address $(docker-machine ip ucp-node1)
# 下载镜像并运行容器后,会提示输入UCP服务器路径,输入: https://<ucp-node0-ip>/
# 然后要求输入管理UCP的用户名密码
# 后面步骤大致跟ucp-node0一样会下载10个镜像,如果网络下载慢,可将ucp-node0节点的镜像保存为文件,然后导入到ucp-node1中
############  以docker/ucp为例 ############
## 导出: docker save docker/ucp > ucp.tar
## 导入:docker load < ucp.tar
##########################################

接下来使用UCP部署一个Nginx容器试试!

使用CLI管理UCP

除了上面介绍的使用UCP的Web应用管理UCP外,也可以使用命令行CLI在UCP集群中的任意节点中管理UCP。

(1)首先,登陆进入UCP的Web应用,点击右上角用户的Profile,在显示的页面中点击Create a Client Bundle下载ucp-bundle-admin.zip文件。

(2)然后解压文件,执行环境sh或cmd文件设置相应的环境变量。

Linux环境中

unzip ucp-bundle-dave.lauper.zip
cd ucp-bundle-dave.lauper
eval $(<env.sh)

在Windows环境中,可直接运行解压后env.cmd文件设置环境变量。

env.shenv.cmd文件内容相同,都是设置环境变量。以env.cmd为例:
env.cmd

set DOCKER_TLS_VERIFY=1
set DOCKER_CERT_PATH=%~dp0
set DOCKER_HOST=tcp://192.168.99.101:443

如果执行env.cmd不成功,或者运行后面docker info类似的管理UCP命令报错,
可能是操作系统无法解析表示相对路径的特殊字符所致(原因尚不明),
那么就只能手动将env.cmd文件中命令,使用绝对值替换环境变量值一行行执行了。

示例:

DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=C:\Users\Admin\ucp-admin
DOCKER_HOST=tcp://192.168.99.101:443

(3)使用Docker命令查看或管理UCP集群

docker info
docker ps
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值