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