本节内容是基于Ansible Playbook自动部署openshift集群,之后几节内容会通过一个AllInOne的集群手动添加组件,研究实现的流程。
本部分内容是3.6.0,可能不适用3.6.1,另外本文写于2017年9月,最新版本安装建议参考官方文档。
新更新了一篇3.10.0的安装博客,链接https://blog.csdn.net/huqigang/article/details/82351972。
本部分openshift集群的部署分为以下几个阶段:
- 主机准备。准备openshift集群需要的主机。
- 安装前预配置。准备相应的系统配置与软件依赖。
- 执行安装。使用Ansible Playbook进行自动化安装。
- 安装后配置。添加相应的组件以及修改配置。如导入模板等。
主机准备
类型 | 主机名 | IP | 操作系统 | 内存 |
---|---|---|---|---|
Master | master.example.com | 192.168.121.149 | CentOS 7.3 | 2G |
Node | node1.example.com | 192.168.121.151 | CentOS 7.3 | 2G |
Node | node2.example.com | 192.168.121.152 | CentOS 7.3 | 2G |
第一次节点内存分配1G,安装失败,报错信息大致是由于内存不足导致的。之后修改每个节点,分配2G内存。
安装前预配置
配置主机名
确实主机名配置正确。如有需要,可采用hostnamectl命令设置主机名。例如:
# hostnamectl set-hostname master.example.com
此外需要保证主机名能够正确的解析到主机IP。可以通过ping $(hostname)来验证。
实际生产环境推荐配置相关的域名解析服务器。
在此直接修改各个节点的/etc/hosts文件,加上静态的域名解析。
192.168.121.149 master.example.com
192.168.121.151 node1.example.com
192.168.121.152 node2.example.com
- 开启SELINUX
官方文档推荐开启SELINUX,否则会导致安装失败。
修改/etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted
激活网络
我自己主机在安装的时候就已经激活了网络。
有些参考我博客的朋友安装失败,我帮着解决的时候发现是他们的网络默认没有激活,这里添加一下激活网络的设置。所有主机都要执行。
# nmcli con show
ens32 77817a17-07cf-4f32-b03b-791730dd248d 802-3-ethernet ens32
# nmcli con up ens32