×

开始之前

  • 查看 访问 Web 控制台

  • 您必须能够访问正在运行的 OpenShift Container Platform 实例。如果您没有访问权限,请联系您的集群管理员。

登录到 Web 控制台

您可以登录到 OpenShift Container Platform Web 控制台以访问和管理您的集群。

先决条件
  • 您必须有权访问 OpenShift Container Platform 集群。

步骤
  • 使用您的登录凭据登录到 OpenShift Container Platform Web 控制台。

您将被重定向到**项目**页面。对于非管理员用户,默认视图为**开发者**视角。对于集群管理员,默认视图为**管理员**视角。如果您没有 `cluster-admin` 权限,则在您的 Web 控制台中将不会看到**管理员**视角。

Web 控制台提供两种视角:**管理员**视角和**开发者**视角。**开发者**视角提供特定于开发者用例的工作流程。

500
图 1. 视角切换器

使用视角切换器切换到**开发者**视角。将显示带有创建应用程序选项的**拓扑**视图。

创建一个新项目

项目使用户社区能够隔离地组织和管理其内容。项目是 OpenShift Container Platform 对 Kubernetes 命名空间的扩展。项目具有其他功能,可以使用户自行配置。

用户必须从管理员那里获得对项目的访问权限。集群管理员可以允许开发人员创建他们自己的项目。在大多数情况下,用户会自动访问他们自己的项目。

每个项目都有自己的一组对象、策略、约束和服务帐户。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您在项目中具有适当的角色和权限,可以在 OpenShift Container Platform 中创建应用程序和其他工作负载。

步骤
  1. 在**+添加**视图中,选择**项目**→**创建项目**。

  2. 在**名称**字段中,输入 `user-getting-started`。

  3. 可选:在**显示名称**字段中,输入 `OpenShift 入门`。

    **显示名称**和**描述**字段是可选的。

  4. 点击**创建**。

您已在 OpenShift Container Platform 上创建了您的第一个项目。

授予查看权限

OpenShift Container Platform 会自动在每个项目中创建一些特殊的服务帐户。默认服务帐户负责运行 Pod。OpenShift Container Platform 使用此服务帐户并将其注入到启动的每个 Pod 中。

以下步骤创建用于默认ServiceAccount对象的RoleBinding对象。此服务帐户与 OpenShift Container Platform API 通信,以了解项目中的 Pod、服务和资源。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您已部署了一个镜像。

  • 您处于**管理员**视角。

步骤
  1. 导航到**用户管理**,然后单击**角色绑定**。

  2. 单击**创建绑定**。

  3. 选择命名空间角色绑定 (RoleBinding)

  4. 在**名称**字段中,输入sa-user-account

  5. 在**命名空间**字段中,搜索并选择user-getting-started

  6. 在**角色名称**字段中,搜索view并选择view

  7. 在**主体**字段中,选择ServiceAccount

  8. 在**主体命名空间**字段中,搜索并选择user-getting-started

  9. 在**主体名称**字段中,输入default

  10. 点击**创建**。

部署您的第一个镜像

在 OpenShift Container Platform 中部署应用程序最简单的方法是运行现有的容器镜像。以下步骤部署名为national-parks-app应用程序的前端组件。该 Web 应用程序显示一个交互式地图。地图显示世界各地主要国家公园的位置。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您在项目中具有适当的角色和权限,可以在 OpenShift Container Platform 中创建应用程序和其他工作负载。

步骤
  1. 在**开发者**视角的**+添加**视图中,单击**容器镜像**以打开对话框。

  2. 在**镜像名称**字段中,输入以下内容:quay.io/openshiftroadshow/parksmap:latest

  3. 确保您具有以下项目的当前值

    1. 应用程序:national-parks-app

    2. 名称:parksmap

  4. 选择**部署**作为**资源**。

  5. 选择**创建到应用程序的路由**。

  6. 在**高级选项**部分,单击**标签**并添加标签以方便以后识别此部署。标签有助于在 Web 控制台和命令行中识别和筛选组件。添加以下标签

    • app=national-parks-app

    • component=parksmap

    • role=frontend

  7. 点击**创建**。

您将被重定向到**拓扑**页面,您可以在其中看到national-parks-app应用程序中的parksmap部署。

检查 Pod

OpenShift Container Platform 利用 Kubernetes 的 Pod 概念,Pod 是在一个主机上一起部署的一个或多个容器,也是可以定义、部署和管理的最小计算单元。Pod 粗略相当于物理或虚拟机的实例,对应于容器。

**概述**面板使您可以访问parksmap部署的许多功能。**详细信息**和**资源**选项卡使您可以扩展应用程序 Pod,检查构建状态、服务和路由。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您已部署了一个镜像。

步骤
  • 在**拓扑**视图中单击D parksmap以打开**概述**面板。

    getting started examine pod
    图 2. Parksmap 部署

    **概述**面板包括**详细信息**、**资源**和**观察**选项卡。默认情况下可能会显示**详细信息**选项卡。

    表 1. 概述面板选项卡定义
    选项卡 定义

    详细信息

    使您可以扩展应用程序并查看 Pod 配置,例如标签、注释和应用程序的状态。

    资源

    显示与部署关联的资源。

    Pod 是 OpenShift Container Platform 应用程序的基本单元。您可以查看正在使用多少 Pod,它们的状体是什么,以及您可以查看日志。

    为您的 Pod 创建并分配端口的**服务**列在**服务**标题下。

    **路由**允许外部访问 Pod,并使用 URL 访问它们。

    观察

    查看与您的 Pod 相关的各种**事件**和**指标**信息。

扩展应用程序

在 Kubernetes 中,Deployment对象定义了应用程序如何部署。在大多数情况下,用户将PodServiceReplicaSetsDeployment资源一起使用。在大多数情况下,OpenShift Container Platform 会为您创建这些资源。

部署national-parks-app镜像时,会创建一个部署资源。在此示例中,仅部署一个Pod

以下步骤将national-parks-image扩展为使用两个实例。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您已部署了一个镜像。

步骤
  1. 在**拓扑**视图中,单击national-parks-app应用程序。

  2. 单击**详细信息**选项卡。

  3. 使用向上箭头将 Pod 扩展到两个实例。

    500
    图 3. 扩展应用程序

    应用程序扩展可以快速完成,因为 OpenShift Container Platform 正在启动现有镜像的新实例。

  4. 使用向下箭头将 Pod 缩减到一个实例。

部署 Python 应用程序

以下步骤部署parksmap应用程序的后端服务。Python 应用程序对 MongoDB 数据库执行二维地理空间查询,以查找并返回世界各地所有国家公园的地图坐标。

已部署的后端服务是nationalparks

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您已部署了一个镜像。

步骤
  1. 在**开发者**视角的**+添加**视图中,单击**从 Git 导入**以打开对话框。

  2. 在 Git 仓库 URL 字段中输入以下 URL:https://github.com/openshift-roadshow/nationalparks-py.git

    会自动检测构建器镜像。

    如果检测到的构建器镜像是 Dockerfile,请选择**编辑导入策略**。选择**构建器镜像**,然后单击**Python**。

  3. 滚动到**常规**部分。

  4. 确保您具有以下项目的当前值

    1. 应用程序:national-parks-app

    2. 名称:nationalparks

  5. 选择**部署**作为**资源**。

  6. 选择**创建到应用程序的路由**。

  7. 在**高级选项**部分,单击**标签**并添加标签以方便以后识别此部署。标签有助于在 Web 控制台和命令行中识别和筛选组件。添加以下标签

    1. app=national-parks-app

    2. component=nationalparks

    3. role=backend

    4. type=parksmap-backend

  8. 点击**创建**。

  9. 在**拓扑**视图中,选择nationalparks应用程序。

    单击**资源**选项卡。在**构建**部分,您可以看到您的构建正在运行。

连接到数据库

部署并连接 MongoDB 数据库,national-parks-app应用程序在其中存储位置信息。将national-parks-app应用程序标记为地图可视化工具parksmap的后端后,parksmap部署将使用 OpenShift Container Platform 的发现机制自动显示地图。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您已部署了一个镜像。

步骤
  1. 在**开发者**视角的**+添加**视图中,单击**容器镜像**以打开对话框。

  2. 在**镜像名称**字段中,输入quay.io/centos7/mongodb-36-centos7

  3. 在**运行时图标**字段中,搜索mongodb

  4. 向下滚动到**常规**部分。

  5. 确保您具有以下项目的当前值

    1. 应用程序:national-parks-app

    2. 名称:mongodb-nationalparks

  6. 选择**部署**作为**资源**。

  7. 取消选中**创建到应用程序的路由**旁边的复选框。

  8. 在**高级选项**部分,点击**部署**以添加以下环境变量:

    表2. 环境变量名称和值
    名称

    MONGODB_USER

    mongodb

    MONGODB_PASSWORD

    mongodb

    MONGODB_DATABASE

    mongodb

    MONGODB_ADMIN_PASSWORD

    mongodb

  9. 点击**创建**。

创建密钥

Secret 对象提供了一种机制来保存敏感信息,例如密码、OpenShift Container Platform 客户端配置文件、私有源代码库凭据等等。密钥将敏感内容与 Pod 隔离开。您可以使用卷插件将密钥挂载到容器中,或者系统可以使用密钥代表 Pod 执行操作。以下步骤添加密钥 nationalparks-mongodb-parameters 并将其挂载到 nationalparks 工作负载。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您已部署了一个镜像。

步骤
  1. 从**开发者**视角,导航到左侧导航栏的**密钥**,然后点击**密钥**。

  2. 点击**创建** → **键值密钥**。

    1. 在**密钥名称**字段中,输入 nationalparks-mongodb-parameters

    2. 为**键**和**值**输入以下值:

      表3. 密钥和值

      MONGODB_USER

      mongodb

      DATABASE_SERVICE_NAME

      mongodb-nationalparks

      MONGODB_PASSWORD

      mongodb

      MONGODB_DATABASE

      mongodb

      MONGODB_ADMIN_PASSWORD

      mongodb

    3. 点击**创建**。

  3. 点击**将密钥添加到工作负载**。

    1. 从下拉菜单中,选择 nationalparks 作为要添加的工作负载。

    2. 点击**保存**。

此配置更改将触发 nationalparks 部署的新滚动更新,并正确注入环境变量。

其他资源

加载数据并显示国家公园地图

您已部署 parksmapnationalparks 应用程序,然后部署了 mongodb-nationalparks 数据库。但是,尚未将数据加载到数据库中。在加载数据之前,请向 mongodb-nationalparksnationalparks 部署添加正确的标签。

先决条件
  • 您已登录到 OpenShift Container Platform Web 控制台。

  • 您处于**开发者**视角。

  • 您已部署了一个镜像。

步骤
  1. 从**拓扑**视图中,导航到 nationalparks 部署,点击**资源**并检索您的路由信息。

  2. 将 URL 复制粘贴到您的 Web 浏览器中,并在 URL 末尾添加以下内容:

    /ws/data/load
    示例输出
    Items inserted in database: 2893
  3. 从**拓扑**视图中,导航到 parksmap 部署,点击**资源**并检索您的路由信息。

  4. 将 URL 复制粘贴到您的 Web 浏览器中,以查看世界各地国家公园的地图。

getting started map national parks
图4. 世界各地的国家公园