4.7. 检查 pod 是否有不匹配
使用以下步骤检查 pod 是否有不匹配。
重要
-
将
<pod_name_a
> 替换为以下流程中第一个 pod 的名称。 -
在以下步骤中,将 <
pod_name_b
> 替换为第二个 pod 的名称。 -
将
<pvc_mountpoint
> 替换为 pod 中的挂载点。
流程
运行以下命令,列出第一个 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
运行以下命令,列出第二个 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
运行以下命令,检查第一个 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 .. [...]
运行以下命令,检查第二个 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 .. [...]
- 比较这两个输出,以检查是否存在 SELinux 上下文不匹配。