2.2. 使用 Kubernetes 部署 OSToy 应用程序


部署应用程序涉及创建容器镜像,将其存储在镜像存储库中,以及定义使用该镜像的 Deployment 对象。

部署应用程序涉及以下步骤:

  • 为前端和后端微服务容器创建镜像
  • 将容器镜像存储在镜像存储库中
  • 为应用程序创建 Kubernetes Deployment 对象
  • 部署应用程序
注意

此研讨会侧重于应用程序部署,并使用户运行使用现有镜像的远程文件。

2.2.1. 检索 login 命令

流程

  1. 运行以下命令确认您已登录到命令行界面(CLI):

    rosa whoami
    Copy to Clipboard Toggle word wrap

    如果您登录到命令行界面,请跳至"创建新项目"。如果您没有登录到命令行界面,请继续这个过程。

  2. 使用 Web 控制台访问集群。
  3. 单击右上角的登录名称旁边的下箭头,然后选择 Copy Login Command

    此时会打开一个新标签页。

  4. 选择您的验证方法。
  5. 单击 Display Token
  6. 使用此令牌将命令复制到 Log in 下。
  7. 在终端中粘贴并运行复制的命令。如果登录成功,您会看到以下确认信息:

    $ oc login --token=<your_token> --server=https://api.osd4-demo.abc1.p1.openshiftapps.com:6443
    Logged into "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443" as "rosa-user" using the token provided.
    
    You don't have any projects. You can try to create a new project, by running
    
    oc new-project <project name>
    Copy to Clipboard Toggle word wrap

2.2.2. 创建新项目

使用您的首选接口创建新项目。

2.2.2.1. 使用 CLI 创建新项目

流程

  • 运行以下命令,在集群中创建一个名为 ostoy 的新项目:

    $ oc new-project ostoy
    Copy to Clipboard Toggle word wrap

    输出示例

    Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
    Copy to Clipboard Toggle word wrap

    • 可选 :运行以下命令来创建唯一项目名称:

      $ oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
      Copy to Clipboard Toggle word wrap

2.2.2.2. 使用 Web 控制台创建新项目

流程

  1. 在 Web 控制台中,点击 Home Projects
  2. Projects 页面上,单击 Create Project

  3. Create Project 框中,在 Name 字段中输入项目名称。
  4. Create

2.2.3. 部署后端微服务

微服务为内部 Web 请求提供服务,并返回包含当前主机名和随机生成的颜色字符串的 JSON 对象。

流程

  • 运行以下命令来部署微服务:

    $ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml
    Copy to Clipboard Toggle word wrap

    输出示例

    $ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml
    deployment.apps/ostoy-microservice created
    service/ostoy-microservice-svc created
    Copy to Clipboard Toggle word wrap

2.2.4. 部署前端微服务

前端部署将 Node.js 前端用于应用和其他 Kubernetes 对象。

前端部署定义了以下功能:

  • 持久性卷声明
  • Deployment 对象
  • 服务
  • Route
  • ConfigMaps
  • Secrets

流程

  • 运行以下命令部署应用程序前端并创建对象:

    $ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
    Copy to Clipboard Toggle word wrap

    输出示例

    persistentvolumeclaim/ostoy-pvc created
    deployment.apps/ostoy-frontend created
    service/ostoy-frontend-svc created
    route.route.openshift.io/ostoy-route created
    configmap/ostoy-configmap-env created
    secret/ostoy-secret-env created
    configmap/ostoy-configmap-files created
    secret/ostoy-secret created
    Copy to Clipboard Toggle word wrap

    所有对象都应成功创建。

2.2.5. 获取到应用程序的路由

获取用于访问应用程序的路由。

流程

  • 运行以下命令,获取到应用程序的路由:

    $ oc get route
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME          HOST/PORT                                                 PATH   SERVICES             PORT    TERMINATION   WILDCARD
    ostoy-route   ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com          ostoy-frontend-svc   <all>                 None
    Copy to Clipboard Toggle word wrap

2.2.6. 查看应用程序

流程

  1. 复制上一步中的 ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com URL 输出。
  2. 将复制的 URL 粘贴到网页浏览器中,然后按 Enter 键。您应该会看到应用程序的主页。如果页面没有加载,请确保使用 http 而不是 https

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat