OpenShift企业版安装:单Master集群

OpenShift企业版安装:单Master集群

本文是一篇安装指引,目的并非用于讲解教学。故一些技术细节将不展开详细介绍,请读者见谅。

1 安装材料

1.1 安装介质

OpenShift的离线环境安装需要提前准备如下的安装介质。

OpenShift企业版相关RPM包

OpenShift企业版相关容器镜像

离线安装介质可以联系红帽工程师获取,或自行准备。自行准备的过程请参考本文末尾的附录章节。

1.2 主机

1.2.1 主机配置要求

本文示例所使用的主机配置如下:

如资源允许,可扩充各类节点的CPU、内存及磁盘、或增加更多的计算节点,获取更好的性能表现。主机可以使用物理机或虚拟机。推荐配置如下:

1.2.2 系统要求

操作系统:Red Hat Enterprise Linux 7.3 Minimal安装。

1.2.3 网络配置

所有主机需要有独立的IP地址,可被解析的域名。主机的默认网关不可为空。

保证所有的主机的主机名可以被正常解析。为简单起见,本文的环境通过编辑各个节点的文件实现。编辑各个主机的文件,添加如下内容:

1.2.4 时间同步

请确保所有主机节点的时间已经同步。

2 安装流程

OpenShift单Master的安装流程包含以下步骤:

一、基础服务搭建。搭建安装所依赖的YUM仓库及容器仓库服务。

二、准备主机。准备及配置集群所需的主机节点。

三、安装前配置。完整安装所需要的前置配置。

四、执行安装。配置并执行OpenShift Ansible Playbook。

五、安装后配置。按需配置集群。

六、验证安装。验证集群成功安装,功能正常。

3 搭建基础服务

获取了OpenShift的安装介质后,需要为RPM软件包建立YUM软件仓库服务器,并搭建容器仓库服务,将容器镜像推送至镜像仓库中备用。

3.1 搭建YUM仓库服务

将提前获取的RPM软件包拷贝到主机的目录下。这里假设包如下:

解压RPM包至主机的目录。命令如下:

创建YUM REPO配置文件。文件内容如下:

安装Httpd服务。命令如下:

创建Httpd配置文件,发布YUM源目录。文件内容如下:

启动并设置开机自启动。命令如下:

测试环境,为了简化,直接放行数据包。命令如下:

注意:不可直接停用iptables服务,Docker及Kubernetes依赖iptables服务。

安装及配置完Httpd服务后通过访问可看到RPM软件包目录。

通过命令检查YUM源可被正常访问,OpenShift相关的RPM包存在并版本无误。命令及输出如下:

3.2 搭建镜像仓库服务

本节在主机上安装镜像仓库服务。请登录主机进行操作。

3.2.1 安装仓库服务

安装镜像仓库Docker Distribution。命令如下:

3.2.2 配置TLS

为了启用TLS协议传输,需要生成自签名证书。命令如下:

编辑镜像仓库服务配置文件。确认http的配置如下:

提示:YAML文件对格式和空格非常敏感,编辑配置时请注意。

修改完毕后,刷新systemd配置。命令如下:

重启Docker Distribution服务。命令如下:

服务成功启动后,可以看到443端口已经被Docker Distribution监听。

配置信任自签名证书。并重启Docker服务

安装Docker服务。命令如下:

3.2.3 导入容器镜像

修改所有镜像的名称,指向。以镜像为例子,命令示例如下:

由于涉及的镜像众多,可以使用如下命令批量修改镜像名称。

将修改好名称的镜像推送至目标镜像仓库。以镜像为例子,命令示例如下:

由于涉及的镜像众多,可以使用如下命令批量修改推送镜像。

4 准备主机

请在所有Master及Node节点上执行本小节的配置。

4.1 配置YUM源

配置YUM源以便后续安装所需要的RPM软件包。创建文件。内容如下:

删除Node2节点上的配置文件。

配置完毕后,更新并检查YUM仓库信息。执行如下命令:

配置成功后可以见到相关的仓库的信息。示例输出如下:

4.2 安装基础软件包

安装OpenShift运行及管理所需的基础软件包。命令如下:

更新系统软件包。命令如下:

更新完成后重启主机。命令如下:

##4.3 防火墙配置

测试环境,为了简化,直接放行数据包。命令如下:

4.4 安装Docker

安装所需版本的Docker。命令如下:

启动并配置Docker服务开机启动。命令如下:

4.5 配置Docker

修改Docker配置文件,确保OPTIONS变量配置了如下参数。

修改ADD_REGISTRY变量。将如下内容:

修改为:

配置镜像仓库证书信任。命令如下:

配置修改完毕后,重启Docker服务。

配置完毕后,确认镜像可以正常拉去。

5 安装前配置

本文以Master节点作为安装的堡垒机。本小节所有的操作均在Master节点上执行。

5.1 配置SSH互信

在上生成SSH Key。

配置Master节点到各个Node节点及Master节点的互信。

5.2 安装Ansible

OpenShfit的安装通过Ansible自动完成,因此需要先安装Ansible及OpenShfit相关的Ansible Playbook。

5.3 设置安装配置

编辑文件。将文件内容替换为如下内容:

6 执行安装

安装前再次检查所有的节点已经配置并就绪。在Master节点上执行如下命令:

执行安装。命令如下:

当安装显示如下信息时,说明安装成功结束。

查看集群节点,确认集群正常。命令及示例输出如下:

查看集群容器,确认各个组件状态正常。命令及示例输出如下:

7 安装后配置

7.1 创建用户

创建用户,密码为。命令如下:

通过浏览器访问即可登录OpenShift的Web Console。

7.2 域名解析(可选)

集群外部访问OpenShift的应用需要使用域名。为了测试方便,可以配置的泛域名解析。

编辑配置主机的文件。文件内容如下:

重启dnsmasq服务。

此时Master节点上的dnsmasq服务将可以解析*.apps.exmaple.com的域名请求。在有需要的主机上将域名解析服务器指向Master即可。在Linux上,编辑各个节点的文件。添加如下信息:

Windows的桌面请在网络设置界面修改域名解析服务器的配置。

配置完毕后,测试一个随机域名是否可以被正常解析。

7.3 创建持久化资源池(可选)

为了方便测试与使用,可以提前创建一批PV。命令如下:

创建完毕后可见创建好的PV。

7.4 日志聚合(可选)

如需要日志聚合组件,可将文件的下面两行内容的注释去除。

然后执行Ansible Playbook。命令如下:

成功安装完毕后,可以见到Logging组件相关的容器实例。

Kibana及Elastic Search默认要求的内存比较高,如遇到容器出现Error状态,可能是内存不足导致。此时可以考虑增加Node节点的内存。通过以下命令可以查看具体错误的信息。

8 验证安装

以前文创建的用户登录系统。

提示:通过如下的命令可以再次登录成集群管理员。

创建项目。

部署容器应用。

容器成功启动。

通过访问容器服务。

以上操作也可以在OpenShift的Web Console界面完成。此时登录Web Console,可以亦可见到前文部署的容器。

为应用创建Route以便外部可以通过域名访问。

查看生产的Route信息。

通过域名访问服务。

请确保域名将被解析到Router所在的Node的节点的IP。可以通过修改实现,也可以通过配置dnsmasq或bind等服务实现。请参考章节7.2。

附录

附录A 制作离线RPM包

在可联网的RHEL主机上注册红帽订阅,关联到相应的YUM仓库。命令如下:

同步所需的仓库至本地。命令如下:

压缩/opt/repos目录。压缩完毕后的压缩包即可用于离线环境的安装。

附录B 制作离线镜像包

在可联网的RHEL主机上下载如下容器镜像。

将下载好的镜像保存成tar包。保存的过程需要消耗较多的磁盘空间及比较耗时。可以考虑分组保存成多个tar包。

为了节省空间,对生成的tar包进行压缩。

压缩完成后将生成tar.gz文件。将文件拷贝到其他机器上,通过命令即可完成导入。如有其它需要离线的镜像,也可通过上述描述的步骤准备。

附录C 安装常见问题

遇到无法排除的错误,可以尝试卸载OpenShift集群再次安装。命令如下:

参考材料

https://docs.openshift.com/container-platform/3.7/install_config/install/advanced_install.html

https://docs.openshift.com/container-platform/3.7/install_config/install/disconnected_install.html

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171209B03A0900?refer=cp_1026

扫码关注云+社区