用于本地开发的 RedHat OpenShift 上的 AIStor
AIStor 一直是高性能和可互作的云原生对象存储的先驱,这种存储具有多功能性和敏捷性。AIStor 可在无数平台上运行,例如 Kubernetes、AWS、GCP、Azure、裸机 Linux 和许多其他环境。最近,业内出现了一种趋势,即让数据“更贴近”家庭。结果是,组织现在希望将其数据保存在他们拥有的服务器上、自己的数据中心或主机托管提供商处。主要原因是云的成本失控,再加上当前的经济环境。对于大多数应用程序,只要充分了解工作负载,就有可能在本地实现与云相同级别的可扩展性和性能,而成本只是其中的一小部分。但这带来了一个难题 – 云的好处之一是基础设施或多或少由云提供商管理。例如,EKS 和 GKE 等托管 Kubernetes 服务负责为您管理后端,包括升级、降级、添加和删除节点以及其他操作。对于本地 Kubernetes,也许有几十个或数百个集群,可能会给您的工程和运营团队增加一大笔技术债务。您需要引导自己的 Kubernetes 基础设施,并能够负责管理、维护和其他操作。这可能是一个相当大的挑战——如果它在这个过程中让我们的生活更轻松一点,那不是很好吗?
这就是 Red Hat OpenShift 改变游戏规则的地方。它不仅使您能够管理自己的 Kubernetes 集群,还允许您在自己的本地硬件上执行此作。您必须确保各种组件定期保持最新状态,但 OpenShift 平台采用以 DevOps 为中心但面向开发人员的架构方法,是本地 Kubernetes 集群的绝佳选择。AIStor Operator 和 Kubernetes 插件经过认证,可与 OpenShift 一起使用,从而可以轻松地将 AIStor 整合到现有工作流中。我们的客户经常在利用本地和公共云资源的多云配置中运行 OpenShift。在 OpenShift 上运行 AIStor 使企业能够在其硬件或所选云实例上实现云原生弹性,从而平衡成本、容量和性能。通过在 OpenShift 上运行 AIStor,您可以使用 Kubernetes 编排和提供对象存储的 AIStor 获得软件定义的可扩展性和自动化。借助软件定义基础设施的存储部分,您可以统一 AI/ML、分析和其他现代数据工作负载的部署和管理。这些应用程序可以共享相同的本地 AIStor 部署,从而有助于实现数据的安全性和弹性,而无需构建多个数据孤岛并在它们之间复制数据。最后,这种方法避免了云锁定。.您希望能够将数据移动到最适合您的工作负载和业务目标的任何环境。通过在多个位置/云中的 OpenShift 上部署 AIStor,您可以使用站点到站点复制无缝移动数据。这可确保您始终能够访问最适合工作的工具 - 无论是在公共云、私有云还是 colo 上。
话虽如此,当您想要开发组件并让开发人员将组件部署到 OpenShift 时,设置它可能非常耗费资源。您需要一个 8 到 10 个节点的集群来启动和运行整个基础设施,这可能会不利于开发。与其完全部署 OpenShift,不如让开发人员在投入生产之前在他们的笔记本电脑上本地测试应用程序,那不是很好吗?为了在本教程中实现这一目标,我们将利用 Red Hat CodeReady Containers (CRC),它使开发人员能够使用本地计算机在 OpenShift 上进行测试和开发。尽管启动和运行 OpenShift 需要一些专业知识,但本博客文章将引导您将 AIStor 部署到 OpenShift,而不会像在生产环境中那样承担完整的 OpenShift 安装程序安装的开销。
使用 CRC Openshift 集群
使用 CRC 时,您可以选择运行时来部署资源,在本例中,让我们使用 OpenShift Container Platform。请确保在您正在开发的计算机上满足以下最低要求。
- 4 核 CPU
- 10 GB 内存
- 50 GB 可用存储空间
我们将在以下步骤中使用 CentOS作系统
从 Red Hat 下载 CRC。
转到下载位置并解压缩
$ cd ~/Downloads
$ tar xvf crc-linux-amd64.tar.xz
创建一个 ~/bin 目录并将 crc 可执行文件复制到该目录
$ mkdir -p ~/bin
$ cp ~/Downloads/crc-linux-*-amd64/crc ~/bin
当然,不要忘记将 ~/bin 添加到你的 PATH 中
$ export PATH=$PATH:$HOME/bin
$ echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
运行 setup 以设置基本配置运行 setup 以设置基本配置
$ crc setup
最后,启动 CRC 实例,请务必记下输出的凭据
$ crc start
配置 OpenShift 组件
为了与集群通信,我们将使用 oc CLI 而不是 kubectl。
手动方法
从下载页面下载适合您的作系统的二进制文件。
选择版本以匹配您在 CRC 中运行的 OpenShift 版本。
点击 Download Now 立即下载。下载后,解压缩存档。
$ tar xvzf
$ wire XVJF <FILE%3a>
将 oc 二进制文件移动到 ~/bin
$ mv oc ~/bin
缓存方法
除了上述方法之外,还有一个 Cached Method,它在某些方面比手动方法更简单。此方法缓存所需的身份验证凭证以及 oc 二进制文件,以便与 CRC 集群通信,而无需手动下载任何内容。您可以使用以下命令将缓存的 oc 添加到 PATH 中
$ crc oc-env
选择安装 oc cli 的方法后,运行以下 oc 命令以访问控制台。
crc start 命令应该已经输出了一些凭据,请在此处使用它们。如果您没有保存它们,请运行以下命令来检索它们
$ crc console --credentials
$ crc 控制台 --credentials
现在您可以以开发人员用户身份登录
$ oc login -u developer https://api.crc.testing:6443
从现在开始,我们可以使用 oc CLI 命令与 CRC 进行交互。让我们运行一些命令来验证一切是否按预期工作。
将 oc 上下文更改为 crc-admin
$ oc config use-context crc-admin
验证您是 kubeadmin
$ oc whoami
kubeadmin
同时运行 get containers 命令
$ oc get co
好了,现在我们已经设置了所有的基础,让我们继续安装 AIStor。
安装 AIStor Operator
我们将 AIStor 安装在与其他资源相同的 CRC Openshift 集群中。
安装 Operator 后,使用以下命令通过 mc cli 进行访问
$ mc alias set myminio http://my-route-default.apps-crc.testing minioadmin minioadmin --insecure
Added myminio successfully.
升级 CRC
与任何软件一样,您希望确保始终保持最新和最好的状态,包括 CRC。升级 CRC 非常简单。
从 Red Hat 下载最新版本的 CRC。
删除现有的 CRC 实例,这将导致该实例上存储的数据丢失 – 因此请小心
$ crc delete
使用安装过程中的步骤解压缩下载的 CRC tar。一旦你有了新的 crc 二进制文件,就把它替换为 ~/bin 中的现有二进制文件。使用以下命令进行验证
$ crc version
设置并启动新的 CRC 实例
$ crc setup
$ crc start
灵活地开发和部署到 Red Hat OpenShift
尽管 Red Hat CRC 非常酷,并且附带了一把瑞士军刀的功能,可以帮助您快速开始使用本地环境,但它确实有一些值得一提的注意事项。毋庸置疑,CRC 集群本质上是短暂的。请勿将其部署到生产环境中,也不要在其上存储任何生产数据,除非用于测试目的。您应该在正确规划的生产硬件上完成 OpenShift 集群的完整端到端生产安装,以获得最佳性能。目前不支持升级到较新版本的 OpenShift Container Platform 版本,升级可能会导致难以重现的不可预见的边缘情况问题。此外,OpenShift Container Platform 在内部作为实例运行,因此,如果您必须访问实例外部的网络资源,则可能需要进行一些额外的配置才能正常工作。话虽如此,我们建议仍然使用 CRC,以便您可以快速开始使用 OpenShift 和 AIStor。