刚开始接触OpenShift的时候是很久之前了,18年5-6月份吧。当时看的白皮的这本书,现在4版本变化太大了,现在看下黑皮儿的书。
如果是本地开发这种方式部署还是比较方便的,部署方式和之前3.x版本变化太大了。拿到这本新书之后,翻了下博客,已经有4年多过去了[捂脸]
如何在台式机/笔记本电脑中设置 Red Hat Openshift 4.x?是否正在寻找一种经济高效的解决方案来获得 OCP 4.x 实验室环境?如果是,那么这篇文章适合你。Kubernetes 正在快速发展,越来越多的组织开始使用微服务。在 Kubernetes 方面,Openshift 以其企业功能和安全性脱颖而出。Red Hat 现在是一家 IBM 公司,不断改进 openshift 的产品和安装设置。OCP 4.x 安装与 OCP 3.x 完全不同。在 OCP 4.x 中,他们不再使用基于 ansible 的部署,而是附带安装程序二进制文件。该二进制文件能够直接在 ON-PREM 和 Cloud 中启动 openshift 环境。
OCP 4.x 提供了多种设置单节点集群的方法。在本文中,我们将着眼于“CodeReady Containers (CRC)”,以拥有用于测试和本地开发的本地 openshift 实例。
使用 OpenShift 进行本地开发
Red Hat OpenShift Local
是开始构建 OpenShift 集群的最快方式。它旨在在本地计算机上运行,以简化设置和测试,并使用开发基于容器的应用程序所需的所有工具在本地模拟云开发环境。无论您使用何种编程语言,Red Hat OpenShift Local
都将托管您的应用程序。Red Hat OpenShift Local
为您的本地 PC 带来了一个最小的、预配置的 OpenShift 4.x 集群,而无需基于服务器的基础架构。借助Red Hat OpenShift Local
,您可以创建微服务,将它们构建到映像中,然后在运行 Linux、macOS 或 Windows 10 的笔记本电脑或台式机上的 Kubernetes 托管容器中运行它们。
与生产 OCP安装的区别
Red Hat OpenShift Local 的 OpenShift 预设提供了常规的 OpenShift Container Platform 安装,具有以下显着差异:
- OpenShift Container Platform 集群是短暂的,不适合生产使用。
- Red Hat OpenShift Local 没有支持升级到较新 OpenShift Container Platform 版本的路径。升级 OpenShift Container Platform 版本可能会导致难以重现的问题。
- 它使用单个节点,该节点既充当控制平面又充当工作节点。
- 默认情况下,它会禁用 Cluster Monitoring Operator。此禁用的 Operator 会导致 Web 控制台的相应部分无法正常工作。
- OpenShift Container Platform 集群在称为实例的虚拟机中运行。这可能会导致其他差异,尤其是外部网络。
Red Hat OpenShift Local 提供的 OpenShift Container Platform 集群还包括以下不可自定义的集群设置。不应修改这些设置:
- 使用*.crc.testing域。
- 用于内部集群通信的地址范围。集群使用172地址范围。例如,当代理在同一地址空间中运行时,这可能会导致问题。
安装环境要求
Red Hat OpenShift Local支持AMD64 和 Intel 64 处理器架构。基于 ARM 的 M1 架构支持 Podman 容器运行时预设。M1 架构不支持 OpenShift Container Platform 预设。Red Hat OpenShift Local 不支持嵌套虚拟化。
- 4个虚拟 CPU (vCPU)
- 9-10 GB 内存 (RAM)
- 40 GB 存储空间
- 在管理程序设置中启用 VT-x。必须首先在系统 BIOS 中启用 Intel-VT/AMD-v。
- 支持Linux、MacOS、Windows
这里我本地使用的是:8核心 32GB 512GB CentOS8.5主机进行的部署,很顺利。
下载部署工具
Red Hat OpenShift Local
的部署是通过CRC这个工具完成的。
https://console.redhat.com/openshift/create/local
另外一种方式,CRC工具的下载链接:(1.32.1 对应的是OCP4.8.5版本) 如需安装最新版本4.10 可以下载对应的crc工具。
https://developers.redhat.com/content-gateway/rest/mirror2/pub/openshift-v4/clients/crc/1.32.1/
安装过程
- 添加系统用户ocp,并加入到
wheel
组中(后面会用到sudo);useradd ocp -G wheel
- 为用户设置密码,并通过ocp登入服务器;
passwd ocp ; ssh ocp@192.168.1.100
; - 下载crc工具包,大概2.2GB,下载大概在5-6分钟左右;
- 解压crc工具包,然后将crc可执行文件加入PATH;
- 初始化设置:
crc setup
; (setup的过程会安装一些包,确保网络畅通) - 初始化完成,看到终端输出"crc start"后就可以启动集群了。
- 集群下载镜像需要用到
pull-secret
这里下载 https://console.redhat.com/openshift/create/local 下载后保存到服务器,后面启动集群需要传递。
image.png
crc start -p pull-secret.txt --log-level debug
启动集群,出现下面信息成功;
Started the OpenShift cluster.
The server is accessible via web console at:
https://console-openshift-console.apps-crc.testing
Log in as administrator:
Username: kubeadmin
Password: vFX7y-KfI98-qdw2X-dP9ax
Log in as user:
Username: developer
Password: developer
Use the 'oc' command line interface:
$ eval $(crc oc-env)
$ oc login -u developer https://api.crc.testing:6443
可能遇到的问题
- 如果采用虚拟机,例如Virtualbox需要开启CPU虚拟化功能;
VBoxManage modifyvm "node01.ocp.com" --nested-hw-virt on
- 一定要切换到ocp用户后执行setup操作,不然出现下面的错误。
Executing systemctl action failed: exit status 1: Failed to connect to bus: No such file or directory
Executing systemctl action failed: exit status 1: Failed to connect to bus: Permission denied
ssh ocp@ocp server 链接服务器再试试 ls /run/user
- pull-secret获取链接
https://console.redhat.com/openshift/create/local pull-secret.txt
参考文档
https://www.unixarena.com/2022/03/openshift-4-x-single-node-cluster-setup-using-redhat-crc.html/ https://access.redhat.com/documentation/en-us/red_hat_openshift_local/2.5/html/getting_started_guide/installation_gsg