OpenShift高效运维:SRE视角的集群和分布式系统管理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 基本OpenShift安装

本节讨论安装实际生产OpenShift集群的第一种方法。有两种不同的方式以不同的形式出现,但做同样的事情,只是针对你各自的基础设施进行选择。

2.4.1 安装程序提供的基础设施

把它看作一个一体化的解决方案。安装程序在你选择的云提供商(或兼容的裸机选项)上创建底层基础设施、网络基础设施和OpenShift集群。运行一个命令,传入你的配置,你将得到一个正在运行的OpenShift集群。

起点还是OpenShift Cluster Manager登录页面,如图2-3所示。

图2-3:OCM登录页面

再次单击Create cluster按钮,但是这次选择你的云提供商,在我们的示例中是Google Cloud Platform(谷歌云平台,GCP)。这将把你带到下一个页面,如图2-4所示,在这里我们选择Installer-provisioned infrastructure。

图2-4:OCM安装程序选择

安装主界面如图2-5所示。在第一部分中,你可以看到所有必需的工件。第2部分提供了绝对基本的安装命令,第3部分包含一些关于订阅的次要信息。

单击Download installer下载安装程序。我们也可以在该页面下载pull secret和'oc'二进制文件。

将包含二进制文件的归档文件解压缩到$PATH中的某个位置,以便在命令行上方便地访问它们。使用如下命令:

现在用同样的方法解压缩安装程序:

图2-5:OCM安装程序提供的基础设施登录页面

你也可以将openshift-install移动到$PATH中的一个目录中,例如,如果你计划经常访问它的话。否则,只需将其保存在适合你的位置,并通过绝对或相对路径引用它。

在我们的示例中,我们在~/Downloads目录下解压缩,因此我们将像下面这样访问安装程序:

先决条件

确保你的云提供商已设置就绪。安装程序还会让你知道是否缺少任何配置。文档(https://oreil.ly/XIJrM)中有一整节只讨论了先决条件的设置,但我们还是想回顾一下,只是为了确保你对所需的东西有一个很好的概述。

首先,我们需要一个项目。你可以通过控制台或命令行接口(CLI)创建该文件,命令如下:

如果你使用的是安装程序预置的基础设施,那么你的GCP项目必须使用Premium。

Network Service Tier。使用安装程序安装的集群不支持Standard Network Service Tier。安装程序api-int.<cluster_name>.<base_domain>URL配置内部负载平衡。内部负载平衡需要Premium Tier。

在你刚刚创建的项目中,还需要启用一组特定的应用程序编程接口(API)。如表2-1所示。

表2-1:GCP需要的API概述

你可以再次利用gcloud CLI工具来启用所有这些方法或你喜欢的任何其他方法。

确保你的项目有足够的配额。有关最新要求,请参阅OpenShift文档(https://oreil.ly/uTABD)。

你还需要在项目中使用专用的公共域名系统(DNS)区域,并且该区域需要对域具有权威性。如果你没有域名,那么你可以从你喜欢的注册商那里购买一个。

现在像这样创建管理区域,但是使用你自己的域:

从托管区域记录中获取域名服务器:

这里的最后一步是将你的注册商指向你刚刚提取的域名服务器。

现在创建服务账户:

然后为其分配所需的角色,以获得所需的权限。所需权限的列表在文档(https://oreil.ly/hJzZ1)中。

在实际安装集群之前的最后一步是准备好本地环境。

使用以下命令创建一个安全shell协议(SSH)密钥对,并将其添加到ssh -agent中(在启用代理之后):

现在创建一个密钥文件并下载它。完成后,导出其路径。

安装

如果你不传递任何参数,安装程序将以交互模式工作,它看起来像这样:它将提示你进行选择,你可以使用箭头键移动并使用回车键做出适当的选择。

你不必编写凭证,因为你可以在安装目录中找到它们,例如ocp-cluster-install/.openshift_install.lo

一旦你做出选择,每个选项都将折叠,所以如果它看起来略有不同,不要感到困惑。后两个需要手动输入。

在你做出最后一次选择之后,安装程序将发挥其魔力。通常需要45分钟左右完成安装。

2.4.2 自己提供的基础设施

你还可以在已有的基础设施上安装OpenShift。这使你完全控制一切,也允许在任何类型的管道中更好地结合。假设你运行了一个管道,只有一个创建集群的命令,它在某个时刻失败了。它可能不是很好地解决问题,甚至更糟糕的是,它实际上自动化错误处理。