Docker Data Center系列(二)- UCP安装指南
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境。
基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力。
1 系统要求
1.1 硬件和软件要求
- Linux内核版本3.10或更高
- Docker EE Engine版本17.06.2-ee-8; 的值n在-ee-*后缀必须是8或更高
- 静态IP地址
1.2 最低配置
- 管理节点 8GB RAM
- 工作节点 4GB RAM
- 3GB 可用磁盘空间
1.3 推荐配置
- 管理节点 16GB RAM
- 管理节点 4个vCPU
- 25-100GB 可用磁盘空间
1.4 操作系统支持
- CentOS 7.4 (本文中默认使用的操作系统)
- Red Hat Enterprise Linux 7.0, 7.1, 7.2, or 7.3
- Ubuntu 14.04 LTS or 16.04 LTS
- SUSE Linux Enterprise 12
1.5 其它
- 同步时区和时间
- 一致的主机名策略
- 内部的DNS
1.6 版本适配
- docker 17.06.2.ee.8+
- UCP 3.0.2 : DTR 2.5.3
- UCP 3.0.0 : DTR 2.5.1
注:DDC从UCP 3.0.0开始同时支持swarm和k8s。
1.7 网络要求
安装过程中UCP节点需要能下载docker官网的资源,如果不能访问,可通过其它机器下载软件包,然后执行离线安装。
如何离线安装UCP,请参考这里。
1.8 使用的端口
在主机上安装UCP时,需要打开一系列端口以传入流量。这些端口都将接收来自一组主机的流量,根据主机来源的不同,端口可分为三个Scope:
- External:流量通过终端用户交互从集群外部到达。
- Internal:流量从同一集群中的其他主机到达。
- Self:流量只从同一主机上的进程到达。
Hosts | Port | Scope | Purpose |
---|---|---|---|
managers, workers | TCP 179 | Internal | Port for BGP peers, used for kubernetes networking |
managers | TCP 443 (configurable) | External, Internal | Port for the UCP web UI and API |
managers | TCP 2376 (configurable) | Internal | Port for the Docker Swarm manager. Used for backwards compatibility |
managers | TCP 2377 (configurable) | Internal | Port for control communication between swarm nodes |
managers, workers | UDP 4789 | Internal | Port for overlay networking |
managers | TCP 6443 (configurable) | External, Internal | Port for Kubernetes API server |
managers, workers | TCP 6444 | Self | Port for Kubernetes API reverse proxy |
managers, workers | TCP, UDP 7946 | Internal | Port for gossip-based clustering |
managers, workers | TCP 10250 | Internal | Port for Kubelet |
managers, workers | TCP 12376 | Internal | Port for a TLS authentication proxy that provides access to the Docker Engine |
managers, workers | TCP 12378 | Self | Port for Etcd reverse proxy |
managers | TCP 12379 | Internal | Port for Etcd Control API |
managers | TCP 12380 | Internal | Port for Etcd Peer API |
managers | TCP 12381 | Internal | Port for the UCP cluster certificate authority |
managers | TCP 12382 | Internal | Port for the UCP client certificate authority |
managers | TCP 12383 | Internal | Port for the authentication storage backend |
managers | TCP 12384 | Internal | Port for the authentication storage backend for replication across managers |
managers | TCP 12385 | Internal | Port for the authentication service API |
managers | TCP 12386 | Internal | Port for the authentication worker |
managers | TCP 12387 | Internal | Port for the metrics service |
managers | TCP 12388 | Internal | Internal Port for the Kubernetes API Server |
a, 如果没有firewalld,先要安装firewalld
$ yum install firewalld
b, 开启防火墙
$ systemctl start firewalld.service
c, 查看端口是否开放
$ firewall-cmd --zone=public --query-port=443/tcp
d, 开放端口
$ firewall-cmd --zone=public --add-port=443/tcp --permanent
e, 重载策略
$ firewall-cmd --reload
2 安装UCP
2.1 验证系统要求
安装UCP的第一步是确保具备UCP安装运行的所有要求。
2.2 安装Docker EE
确保在所有节点上安装相同的Docker EE版本。
如果是创建已安装Docker EE的虚拟机模板,请确保/etc/docker/key.json文件未包含在虚拟机映像中。配置虚拟机时,重新启动Docker守护程序以生成新/etc/docker/key.json文件。
CentOS7 安装 Docker EE,请参考这里。
2.3 安装UCP
a, SSH到要安装UCP的主机。
b, 运行如下命令:
# Pull the latest version of UCP
$ docker image pull docker/ucp:3.0.2
# Install UCP
$ docker container run --rm -it --name ucp \
-v /var/run/docker.sock:/var/run/docker.sock \
docker/ucp:3.0.2 install \
--host-address <node-ip-address> \ # 安装UCP的主机IP
--interactive
安装命令会以交互模式运行,安装过程中会提示输入必要的配置值,主要是管理员登录名和密码等。
安装完成后,访问UCP首页https://<node-ip-address>
:
使用管理员登录名和密码登录,登录成功后会进入默认主页仪表盘
:
注意:
- host-address 最好用IP;
- 安装过程中可能需要登录store.docker.com, 用自己的注册账号登录;
- 安装过程中的输入值也可以在命令中以参数方式提供,具体请参考官方文档。
2.4 授权
a, 转到Docker Store并购买Docker EE订阅,购买或免费试用许可。
b, 在UCP Web UI中,导航到管理员设置
页面,在左侧菜单中,单击许可证
。
c, 单击上传许可证
,弹出窗口中选择已经下载好的(.lic)文件,UCP会使用新文件进行更新。
2.5 其它UCP命令
a, 更新UCP
$ docker image pull docker/ucp:3.0.2
$ docker container run --rm -it --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp:3.0.2 upgrade --interactive
b, 重启UCP
$ docker container run -it --rm --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp:3.0.2 restart
c, 卸载UCP
$ docker container run --rm -it -v /var/run/docker.sock:/var/run/docker.sock --name ucp docker/ucp:3.0.2 uninstall-ucp --interactive
3 配置UCP
3.1 加入新节点
a, 在UCP Web UI中,导航到共享的资源
下的节点
页面,然后单击添加节点
按钮添加新节点。
b, 在“ 添加节点页面中,选择节点类型
为LINUX
。其它都默认。
c, 单击复制图标
复制docker swarm join节点用于加入群集的命令。
d, 对于要加入群集的每个节点,使用ssh登录并运行复制的join命令。join命令完成后,该节点将显示在UCP Web UI中的节点
页面上。
3.2 配置自定义TLS安全认证
所有UCP服务都使用HTTPS,以确保客户端和UCP之间的所有通信是加密的。默认情况下,这是使用不受客户端工具(如Web浏览器)信任的自签名TLS证书完成的。
因此,当访问UCP时,浏览器会警告不信任UCP或UCP具有无效证书。
可以将UCP配置为使用自己的TLS证书,以便浏览器和客户端工具自动信任它。
a, 在UCP Web UI中,导航到管理员设置
页面。
b, 在左侧菜单中,单击证书
。
c, 上传证书和密钥
- cacert.pem:CA证书。
- server.pem:服务器证书。
- server.key:私钥。
如何为UCP生成证书和密钥,请参考这里。
d, 最后,单击保存
使更改生效。
系列文章
Docker Data Center系列(一) - 快速搭建云原生架构的实践环境
Docker Data Center系列(二) - UCP安装指南
Docker Data Center系列(三) - DTR安装指南
Docker Data Center系列(四) - 离线安装UCP和DTR
Docker Data Center系列(五) - 使用自定义的TLS安全认证
Docker Data Center系列(二)- UCP安装指南的更多相关文章
- Docker Data Center系列(四)- 离线安装UCP和DTR
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 离线安装UCP 1.1 可用版本 Version ...
- Docker Data Center系列(三)- DTR安装指南
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 系统要求 1.1 硬件和软件要求 成为UCP管理的 ...
- Docker Data Center系列(一)- 快速搭建云原生架构的实践环境
本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...
- Docker Data Center系列(五)- 使用自定义的TLS安全认证
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 名词说明 CSR: Certificate Sig ...
- Ubuntu docker 使用命令 系列二
1.下载官方远程仓下的镜像:sudo docker pull <docker 镜像> ,sudo docker pull centos (没有指定版本,就是下载的最新的os) 2. 下载某 ...
- Docker入坑系列(二)
Docker入坑系列(二) 上一篇我们为Docker创造了一个良好的生活环境,这一篇我们就开始让Docker活起来. 安装Docker ok,原文地址在这里. 当然,我只是自己翻译了一下而已- -跟着 ...
- Docker 系列二(操作镜像).
一.镜像管理 1.拉取镜像 docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] -- Docker 镜像仓库地址 :一般是 域名或者IP[:端口号 ...
- WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProp ...
- 第四章 使用Docker镜像和仓库(二)
第四章 使用Docker镜像和仓库(二) 回顾: 开始学习之前,我先pull下来ubuntu和fedora镜像 [#9#cloudsoar@cloudsoar-virtual-machine ~]$s ...
随机推荐
- java客户端与服务端交互通用处理 框架解析
一.综述 java 客户端与服务端交互过程中,采用NIO通讯是异步的,客户端基本采用同一处理范式,来进行同异步的调用处理. 处理模型有以下几个要素: 1. NIO发送消息后返回的Future 2. 每 ...
- 专访 | 新浪架构师:0-5年Java工程师的职业规划如何做?
经历了2018年末的阵痛,大家都积攒着一股暗劲蠢蠢欲动. 3月初即将迎来2019年互联网行业换工作的大潮,技术工程师的升级换位对于一家互联网公司来说无疑是命脉般的存在——技术强则公司强! 如何做一个抢 ...
- CentOS6.9下离线部署Django项目
最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...
- python之Django学习笔记(二)---Django从工程创建、app创建到表建模在页面的显示
创建工程: 在命令行中切换目录至需要创建工程的目录,然后在命令行中输入如下命令创建djangoTestPro工程 D:\PycharmProjects\untitled\MyTestProject&g ...
- Pycharm、IDEA等汉化教程
本汉化教程对jetbrains全系列可用:IDEA.Pycharm.WebStorm.phpstorm.AndroidStudio.GoLand.RubyMine.CLion 此汉化无副作用,绝对安全 ...
- python预编译函数compile,exec,eval
funcname = "func" func = "def %s():\n" % funcname funccontent = 'print "hel ...
- 4.DOM
定义 文档对象模型(Document Object Model)是一种用于HTML和XML文档的编程接口. 查找元素 1.直接查找 document.getElementById 根据ID获取一个标签 ...
- 初探React与D3的结合-或许是visualization的新突破?
自诞生之初截止目前(2016年初),React可以说是前端界最流行的话题,如果你还不知道React是何物,你就该需要充充电了. d3是由纽约时报工程师开源的一个绘制基于svg的数据可视化工具,是近几年 ...
- java代码之美(2)---Java8 Stream
Stream 第一次看到Stream表达式就深深把我吸引,用它可以使你的代码更加整洁而且对集合的操作效率也会大大提高,如果你还没有用到java8的Stream特性,那就说明你确实out啦. 一.概述 ...
- qt4升级到qt5的一些问题
由于最近项目使用的qt版本从qt4.8升级到qt5.5,虽然从4到5的变化不大,不过还是有许多的问题需要记录一下,希望可以帮助到更多的人 1.由于Qt5将大部分桌面部件移到了Qt Widgets模块 ...