4.7. 检查 pod 是否有不匹配


使用以下步骤检查 pod 是否有不匹配。

重要
  • <pod_name_a > 替换为以下流程中第一个 pod 的名称。
  • 在以下步骤中,将 < pod_name_b > 替换为第二个 pod 的名称。
  • <pvc_mountpoint > 替换为 pod 中的挂载点。

流程

  1. 运行以下命令,列出第一个 pod 中的挂载点:

    $ oc get pods -n <pod_name_a> -ojsonpath='{.spec.containers[].volumeMounts[].mountPath}' 1
    1
    <pod_name_a > 替换为第一个 pod 的名称。

    输出示例

    /files /var/run/secrets/kubernetes.io/serviceaccount

  2. 运行以下命令,列出第二个 pod 中的挂载点:

    $ oc get pods -n <pod_name_b> -ojsonpath='{.spec.containers[].volumeMounts[].mountPath}' 1
    1
    <pod_name_b > 替换为第二个 pod 的名称。

    输出示例

    /files /var/run/secrets/kubernetes.io/serviceaccount

  3. 运行以下命令,检查第一个 pod 中的上下文和权限:

    $ oc rsh <pod_name_a> ls -lZah <pvc_mountpoint> 1
    1
    <pod_name_a > 替换为第一个 pod 的名称,并将 <pvc_mountpoint > 替换为第一个 pod 中的挂载点。

    输出示例

    total 12K
    dr-xr-xr-x.   1 root root system_u:object_r:container_file_t:s0:c398,c806   40 Feb 17 13:36 .
    dr-xr-xr-x.   1 root root system_u:object_r:container_file_t:s0:c398,c806   40 Feb 17 13:36 ..
    [...]

  4. 运行以下命令,检查第二个 pod 中的上下文和权限:

    $ oc rsh <pod_name_b> ls -lZah <pvc_mountpoint> 1
    1
    <pod_name_b > 替换为第二个 pod 的名称,并将 <pvc_mountpoint > 替换为第二个 pod 中的挂载点。

    输出示例

    total 12K
    dr-xr-xr-x.   1 root root system_u:object_r:container_file_t:s0:c15,c25   40 Feb 17 13:34 .
    dr-xr-xr-x.   1 root root system_u:object_r:container_file_t:s0:c15,c25   40 Feb 17 13:34 ..
    [...]

  5. 比较这两个输出,以检查是否存在 SELinux 上下文不匹配。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.