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