![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=1739629588-NG1lSIEmxrWHrtKSdsyk8i0gPdAr4PMI-0-73ab1ef4522ddc26eb0b71754c8bccef)
图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=1739629588-f8mrO807CYv3LSJbwfutGlTqmmYaGLjb-0-71f64dfbb38283a7682ad055eeddd18b)
图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=1739629588-5DN8elE8RmDVwkcsj5ZAdNoptyqJZVV9-0-908832382fe1d947da171cf2769a0111)
现在用同样的方法解压缩安装程序:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/28_03.jpg?sign=1739629588-H7dk1dBZPeMpwm0pPnXSVDeCZfrDtXlp-0-a05db8b571b6e4a9cb213d2be32950cf)
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/29_01.jpg?sign=1739629588-37gjv2IGZn4ZyZZTGdzkyqVBWCmUfYCp-0-96b41f909d5d839527a65fbe3851d80c)
图2-5:OCM安装程序提供的基础设施登录页面
你也可以将openshift-install移动到$PATH中的一个目录中,例如,如果你计划经常访问它的话。否则,只需将其保存在适合你的位置,并通过绝对或相对路径引用它。
在我们的示例中,我们在~/Downloads目录下解压缩,因此我们将像下面这样访问安装程序:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/30_01.jpg?sign=1739629588-kccNiWzI2IDUzZWSjB5de4Tdpj0YXf9L-0-302a660168a4dc645b83db9e9ed19131)
先决条件
确保你的云提供商已设置就绪。安装程序还会让你知道是否缺少任何配置。文档(https://oreil.ly/XIJrM)中有一整节只讨论了先决条件的设置,但我们还是想回顾一下,只是为了确保你对所需的东西有一个很好的概述。
首先,我们需要一个项目。你可以通过控制台或命令行接口(CLI)创建该文件,命令如下:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/30_02.jpg?sign=1739629588-KWklVRJU3HRYr6nd2tdf8j4U3YZB1yVX-0-7111e0a3874f59f6048be2a32b96414f)
如果你使用的是安装程序预置的基础设施,那么你的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=1739629588-qTMUvicFR4JlZlgygg60jlU7MoJk2oiP-0-20c13246b082f0c88b1e06083257b838)
你可以再次利用gcloud CLI工具来启用所有这些方法或你喜欢的任何其他方法。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_01.jpg?sign=1739629588-3DpBJSucDD5LN8Ca2mhVAXaE7RKylRdZ-0-8b3c633e3fd5677a4afa2811842aad67)
确保你的项目有足够的配额。有关最新要求,请参阅OpenShift文档(https://oreil.ly/uTABD)。
你还需要在项目中使用专用的公共域名系统(DNS)区域,并且该区域需要对域具有权威性。如果你没有域名,那么你可以从你喜欢的注册商那里购买一个。
现在像这样创建管理区域,但是使用你自己的域:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_02.jpg?sign=1739629588-DgrsFFeKxgcWFKCKM0JYpMKo2nsyglIO-0-c2a17c61eae12444589a4ec488c50060)
从托管区域记录中获取域名服务器:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_03.jpg?sign=1739629588-ZpL1ORGSv6YcoqE4v9x23WJf8HjXF0rX-0-1c740cf1c82def7746a432d20b1dd4ce)
这里的最后一步是将你的注册商指向你刚刚提取的域名服务器。
现在创建服务账户:
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/31_04.jpg?sign=1739629588-zWe5nfQwSrQrboqIInjSgn98NOXoaS2e-0-400292adbda68606cbf1d3a5de0f8915)
然后为其分配所需的角色,以获得所需的权限。所需权限的列表在文档(https://oreil.ly/hJzZ1)中。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/32_01.jpg?sign=1739629588-bJcUcSxFObbw6mkLnK3nzt1vJ2WccLBz-0-67168eaf539e789a344ee2f73721a186)
在实际安装集群之前的最后一步是准备好本地环境。
使用以下命令创建一个安全shell协议(SSH)密钥对,并将其添加到ssh -agent中(在启用代理之后):
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/32_02.jpg?sign=1739629588-MqPin8MPDqpg1D8R9IbCpN3f87KibOYH-0-588fa29a9a96732131d76bc5cf0cbb4f)
现在创建一个密钥文件并下载它。完成后,导出其路径。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/32_03.jpg?sign=1739629588-bQ9c8nbngb9jlLR3aCKfDFx2H42qFrWA-0-9a50c1464ddb355d4923a52937232039)
安装
如果你不传递任何参数,安装程序将以交互模式工作,它看起来像这样:它将提示你进行选择,你可以使用箭头键移动并使用回车键做出适当的选择。
![](https://epubservercos.yuewen.com/EB4D27/28831576607915606/epubprivate/OEBPS/Images/33_01.jpg?sign=1739629588-xyNcC0Fi1lUiK2m5mDXQ4QsoEUh5E0X5-0-0df894b797a671c5e1c79293a9d0c3c3)
你不必编写凭证,因为你可以在安装目录中找到它们,例如ocp-cluster-install/.openshift_install.lo。
一旦你做出选择,每个选项都将折叠,所以如果它看起来略有不同,不要感到困惑。后两个需要手动输入。
在你做出最后一次选择之后,安装程序将发挥其魔力。通常需要45分钟左右完成安装。
2.4.2 自己提供的基础设施
你还可以在已有的基础设施上安装OpenShift。这使你完全控制一切,也允许在任何类型的管道中更好地结合。假设你运行了一个管道,只有一个创建集群的命令,它在某个时刻失败了。它可能不是很好地解决问题,甚至更糟糕的是,它实际上自动化错误处理。