已编辑 3 几个月前 通过 ExtremeHow 编辑团队
OpenShift平台容器编排系统容器部署开发与运维红帽公司云配置命令行多集群
翻译更新 5 几个月前
OpenShift是一个流行的开源容器应用平台,旨在轻松协调和管理容器化应用程序。基于Kubernetes构建,OpenShift通过额外的企业级功能扩展了其功能,使其成为开发人员和IT团队希望在混合环境中持续部署应用程序的强大解决方案。在本指南中,我们将探讨在Linux操作系统上使用OpenShift部署应用程序所需的步骤。我们的目标是提供清晰简单的说明,即使是基础知识的用户也能理解和实施。
在详细了解部署之前,重要的是要了解是什么让OpenShift成为一个出色的平台。OpenShift本质上是Red Hat基于Docker容器和Kubernetes的一个平台即服务(PaaS)产品。这意味着OpenShift利用容器化确保您的应用程序可以更高效地开发、交付和部署,而Kubernetes提供编排,有效地管理所有这些容器。
OpenShift提供一个环境,其中开发人员可以专注于编写代码,而平台处理操作方面的问题,如扩展、监控和负载平衡。
在开始在OpenShift上部署应用程序之前,您需要满足一些前提条件:
oc
命令行工具)。有了这些前提条件,我们就可以继续在OpenShift上部署应用程序了。
首先,您需要登录到OpenShift集群。为此,您将使用oc
命令行工具。打开终端并输入以下命令:
$ oc login https://<your-openshift-api-url> --token=<your-login-token>
您需要将<your-openshift-api-url>
和<your-login-token>
替换为您的特定API服务器URL和身份验证令牌。身份验证令牌通常可以在您的OpenShift控制台的用户设置中找到。
在OpenShift中,应用程序是在项目中部署的。可以将项目视为一个工作区或沙盒,您可以在其中管理资源、用户和应用程序。
使用以下命令创建一个新项目:
$ oc new-project my-nodejs-app --display-name="My NodeJS App" --description="This project deploys a NodeJS application"
该命令创建一个名为my-nodejs-app
的新项目,并显示名称和描述。
OpenShift为您提供了几种部署应用程序的方法。最简单的方法是使用oc new-app
命令。
假设您有一个Node.js应用程序。您可以这样部署:
$ oc new-app nodejs:12~https://github.com/username/my-nodejs-app.git
此命令告诉OpenShift使用Node.js版本12并从指定的GitHub存储库中提取。波浪号(~
)用于指定OpenShift应使用源到镜像(S2I)从给定存储库中的源代码构建镜像。
默认情况下,部署在OpenShift上的应用程序无法外部访问。要允许通过互联网访问您的应用程序,您必须为其创建一个路由。
使用以下命令显示您的服务:
$ oc expose svc/my-nodejs-app
这将在您的服务基础上创建一个OpenShift路由,使您的应用程序可以从外部URL访问。要检查URL,请使用:
$ oc get route
打开浏览器并访问URL,查看您的应用程序是否正常运行。
OpenShift允许您轻松扩展应用程序以处理更多流量。扩展是根据您的应用程序需求增加或减少容器实例(副本)数的过程。
要增加实例数量,请使用:
$ oc scale --replicas=3 deployment/my-nodejs-app
这将增加您的部署到3个实例。拥有更多副本后,OpenShift可以有效地平衡每个副本的负载。
OpenShift还提供基于CPU使用的自动扩展选项,通过水平Pod自动扩展器功能。
在生产环境中监控应用程序很重要。OpenShift提供了几种用于监控的工具和接口。
oc logs <pod-name>
查看特定容器的日志。这样有助于调试问题并检查应用程序的流程。使用这些监控工具确保您的应用程序运行顺畅,并解决可能出现的任何问题。
使用OpenShift的一个好处是应用程序更新的过程得到了简化。您可以实施持续集成和交付(CI/CD)管道,自动将更新部署到您的应用程序。
对于手动更新,如果您想要更新应用程序,通常意味着更新源镜像。假设您对Git存储库进行了新的更改,然后在OpenShift上触发新的构建:
$ oc start-build my-nodejs-app
此命令为您的应用程序启动新的构建。构建完成后,OpenShift会自动将更改部署到正在运行的实例。
在Linux上使用OpenShift部署应用程序是一种充分利用容器化应用程序的可扩展性、稳定性和易于管理的强大方式。通过按照本指南中解释的结构化设置和部署,您可以充分利用OpenShift的潜力。
请记住,这只是一个起点。OpenShift支持广泛的功能,包括运行有状态应用程序、复杂的网络配置以及与其他服务的集成。当您对基本部署感到更自在时,请探索这些高级功能,以充分利用OpenShift。
凭借强大的社区和广泛的文档,您拥有良好的帮助来解决在OpenShift上部署应用程序时可能遇到的任何挑战或需求。
如果你发现文章内容有误, 您可以