2.2. 查看 pod

作为管理员,您可以查看集群中的 pod,并确定这些 pod 和整个集群的健康状态。

2.2.1. 关于 pod

OpenShift Container Platform 使用 Kubernetes 的 pod 概念,它是共同部署在同一主机上的一个或多个容器,也是可被定义、部署和管理的最小计算单元。对容器而言,Pod 大致相当于机器实例(物理或虚拟)。

您可以查看与特定项目关联的 pod 列表,或者查看 pod 的使用情况统计。

2.2.2. 查看项目中的 pod

您可以查看与当前项目关联的 pod 列表,包括副本数、当前状态、重启次数和 pod 的年龄。

流程

查看项目中的 pod:

  1. 切换到对应项目:

    $ oc project <project-name>
  2. 运行以下命令:

    $ oc get pods

    例如:

    $ oc get pods

    输出示例

    NAME                       READY   STATUS    RESTARTS   AGE
    console-698d866b78-bnshf   1/1     Running   2          165m
    console-698d866b78-m87pm   1/1     Running   2          165m

    添加 -o wide 标记来查看 pod IP 地址和 pod 所在的节点。

    $ oc get pods -o wide

    输出示例

    NAME                       READY   STATUS    RESTARTS   AGE    IP            NODE                           NOMINATED NODE
    console-698d866b78-bnshf   1/1     Running   2          166m   10.128.0.24   ip-10-0-152-71.ec2.internal    <none>
    console-698d866b78-m87pm   1/1     Running   2          166m   10.129.0.23   ip-10-0-173-237.ec2.internal   <none>

2.2.3. 查看 pod 用量统计

您可以显示 pod 的用量统计,这些统计信息为容器提供了运行时环境。这些用量统计包括 CPU、内存和存储的消耗。

先决条件

  • 您必须有 cluster-reader 权限才能查看用量统计。
  • 必须安装 Metrics 才能查看用量统计。

流程

查看用量统计:

  1. 运行以下命令:

    $ oc adm top pods

    例如:

    $ oc adm top pods -n openshift-console

    输出示例

    NAME                         CPU(cores)   MEMORY(bytes)
    console-7f58c69899-q8c8k     0m           22Mi
    console-7f58c69899-xhbgg     0m           25Mi
    downloads-594fcccf94-bcxk8   3m           18Mi
    downloads-594fcccf94-kv4p6   2m           15Mi

  2. 运行以下命令,以查看带有标签的 pod 用量统计:

    $ oc adm top pod --selector=''

    您必须选择过滤所基于的选择器(标签查询)。支持 ===!=

    例如:

    $ oc adm top pod --selector='name=my-pod'

2.2.4. 查看资源日志

您可以在 OpenShift CLI (oc) 和 Web 控制台中查看各种资源的日志。日志从日志的尾部或末尾读取。

先决条件

  • 访问 OpenShift CLI(oc)。

流程 (UI)

  1. 在 OpenShift Container Platform 控制台中,导航到 WorkloadsPods,或通过您要调查的资源导航到 pod。

    注意

    有些资源(如构建)没有直接查询的 pod。在这种情况下,您可以在资源的 Details 页面中找到 Logs 链接。

  2. 从下拉菜单中选择一个项目。
  3. 点您要调查的 pod 的名称。
  4. Logs

流程 (CLI)

  • 查看特定 pod 的日志:

    $ oc logs -f <pod_name> -c <container_name>

    其中:

    -f
    可选:指定输出是否遵循要写到日志中的内容。
    <pod_name>
    指定 pod 的名称。
    <container_name>
    可选:指定容器的名称。当 pod 具有多个容器时,您必须指定容器名称。

    例如:

    $ oc logs ruby-58cd97df55-mww7r
    $ oc logs -f ruby-57f7f4855b-znl92 -c ruby

    输出的日志文件内容。

  • 查看特定资源的日志:

    $ oc logs <object_type>/<resource_name> 1
    1
    指定资源类型和名称。

    例如:

    $ oc logs deployment/ruby

    输出的日志文件内容。