![OpenShift高效运维:SRE视角的集群和分布式系统管理](https://wfqqreader-1252317822.image.myqcloud.com/cover/859/49070859/b_49070859.jpg)
2.4 基本OpenShift安装
本节讨论安装实际生产OpenShift集群的第一种方法。有两种不同的方式以不同的形式出现,但做同样的事情,只是针对你各自的基础设施进行选择。
2.4.1 安装程序提供的基础设施
把它看作一个一体化的解决方案。安装程序在你选择的云提供商(或兼容的裸机选项)上创建底层基础设施、网络基础设施和OpenShift集群。运行一个命令,传入你的配置,你将得到一个正在运行的OpenShift集群。
起点还是OpenShift Cluster Manager登录页面,如图2-3所示。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/27_02.jpg?sign=1739302173-FtNmOmiGf8jqu53BHTW1M9SL4qzgdMBY-0-07e2f81c72c5e3dd788554c2b8cf5f45)
图2-3:OCM登录页面
再次单击Create cluster按钮,但是这次选择你的云提供商,在我们的示例中是Google Cloud Platform(谷歌云平台,GCP)。这将把你带到下一个页面,如图2-4所示,在这里我们选择Installer-provisioned infrastructure。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/28_01.jpg?sign=1739302173-zZFiiqKcldthspEEjb84BvXxRydmBikJ-0-8e387e73c9c123b42a5b9a3fa5ef5b58)
图2-4:OCM安装程序选择
安装主界面如图2-5所示。在第一部分中,你可以看到所有必需的工件。第2部分提供了绝对基本的安装命令,第3部分包含一些关于订阅的次要信息。
单击Download installer下载安装程序。我们也可以在该页面下载pull secret和'oc'二进制文件。
将包含二进制文件的归档文件解压缩到$PATH中的某个位置,以便在命令行上方便地访问它们。使用如下命令:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/28_02.jpg?sign=1739302173-ta6LeBGydOMNLZrgNQ6MoLunuT3kHssg-0-08b598d5e77c269008e4a118d511f309)
现在用同样的方法解压缩安装程序:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/28_03.jpg?sign=1739302173-hDADlYQdXBbMhcUC0p1cIn7VTvnHXWml-0-d18026d03898cb45439ad60cba839d39)
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/29_01.jpg?sign=1739302173-Pq9YmDR2kEOM2B8k7nwBxDn30MaVDZ7G-0-b54b4e4d6116e55ae22b7e225f913f5c)
图2-5:OCM安装程序提供的基础设施登录页面
你也可以将openshift-install移动到$PATH中的一个目录中,例如,如果你计划经常访问它的话。否则,只需将其保存在适合你的位置,并通过绝对或相对路径引用它。
在我们的示例中,我们在~/Downloads目录下解压缩,因此我们将像下面这样访问安装程序:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/30_01.jpg?sign=1739302173-LnWpvUgbYl399BlhSrUylGlm0dsgn9tB-0-55b160162c69cf454f0440d69b0b4b66)
先决条件
确保你的云提供商已设置就绪。安装程序还会让你知道是否缺少任何配置。文档(https://oreil.ly/XIJrM)中有一整节只讨论了先决条件的设置,但我们还是想回顾一下,只是为了确保你对所需的东西有一个很好的概述。
首先,我们需要一个项目。你可以通过控制台或命令行接口(CLI)创建该文件,命令如下:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/30_02.jpg?sign=1739302173-9hkE93o4sCYvqtlfhHzZjesyyuQwOjeI-0-c0f67f26cf9b306ed5f0c2f15fe2131b)
如果你使用的是安装程序预置的基础设施,那么你的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概述
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/30_04.jpg?sign=1739302173-vtHs7NiRcuqilg9qF3cKXRKelRaAcD4u-0-22aa4a88c596f70364d43022de6d0ce5)
你可以再次利用gcloud CLI工具来启用所有这些方法或你喜欢的任何其他方法。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_01.jpg?sign=1739302173-tkS9XE5jQzX0NEvo4GoIIU3oiDcNzPUv-0-6cd0de8b1e99ce7cb3c50fb9dc571b8e)
确保你的项目有足够的配额。有关最新要求,请参阅OpenShift文档(https://oreil.ly/uTABD)。
你还需要在项目中使用专用的公共域名系统(DNS)区域,并且该区域需要对域具有权威性。如果你没有域名,那么你可以从你喜欢的注册商那里购买一个。
现在像这样创建管理区域,但是使用你自己的域:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_02.jpg?sign=1739302173-cM2rWgSMMgdiZG6QCIR5wlZ2bU0yCvfR-0-891a7e02fd91c341758f369a5f2f160a)
从托管区域记录中获取域名服务器:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_03.jpg?sign=1739302173-smqxmwsKx3WcXwQLEtbrGCGRFOgkuMJY-0-025a7788a9b91b5df37a558c6492ea34)
这里的最后一步是将你的注册商指向你刚刚提取的域名服务器。
现在创建服务账户:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_04.jpg?sign=1739302173-ZygHNSXIc0nzpAHQ2XtawOc69Ej0pTKT-0-3d1b599683b24af698a9c30fd4674832)
然后为其分配所需的角色,以获得所需的权限。所需权限的列表在文档(https://oreil.ly/hJzZ1)中。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/32_01.jpg?sign=1739302173-fHwiFkEptPWeeHC5nbOI6vkTAKtEMcko-0-ccc02f3b86cff6bc6534566de784a738)
在实际安装集群之前的最后一步是准备好本地环境。
使用以下命令创建一个安全shell协议(SSH)密钥对,并将其添加到ssh -agent中(在启用代理之后):
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/32_02.jpg?sign=1739302173-AFCmAjDrB0guCB4Gr7BkBFIVZDymCYOW-0-eb403606649d769978ea7be10ef61bd4)
现在创建一个密钥文件并下载它。完成后,导出其路径。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/32_03.jpg?sign=1739302173-Gt84Fvni4fCFJr5LruTXcqGuXYACagPs-0-29537145f5eb8d349f70cbee5f919f4d)
安装
如果你不传递任何参数,安装程序将以交互模式工作,它看起来像这样:它将提示你进行选择,你可以使用箭头键移动并使用回车键做出适当的选择。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/33_01.jpg?sign=1739302173-BNvDzEgOsqPzj0XO6KGcCo09k2otuR8W-0-588b7ad668c5fb3b2e5c10247c3a885b)
你不必编写凭证,因为你可以在安装目录中找到它们,例如ocp-cluster-install/.openshift_install.lo。
一旦你做出选择,每个选项都将折叠,所以如果它看起来略有不同,不要感到困惑。后两个需要手动输入。
在你做出最后一次选择之后,安装程序将发挥其魔力。通常需要45分钟左右完成安装。
2.4.2 自己提供的基础设施
你还可以在已有的基础设施上安装OpenShift。这使你完全控制一切,也允许在任何类型的管道中更好地结合。假设你运行了一个管道,只有一个创建集群的命令,它在某个时刻失败了。它可能不是很好地解决问题,甚至更糟糕的是,它实际上自动化错误处理。