【问题标题】:Kubernetes - How to check if the Pod in K8S is running as root (or) non-root?Kubernetes - 如何检查 K8S 中的 Pod 是否以 root(或)非 root 身份运行?
【发布时间】:2023-01-16 21:08:46
【问题描述】:

kubectl describe pods 中是否有一个标志/字段告诉容器是以 root 还是非 root 运行的,我有几个容器,我需要检查它们是否以 root 运行

【问题讨论】:

    标签: kubernetes containers


    【解决方案1】:

    您可以在 pod 中运行 whoami 命令来查看用户的名称。您还可以检查 pod 清单的 securityContext 中是否指定了 runAsUser 字段。默认情况下,容器以 root 用户身份运行。

    对于securityContext,查看link中的示例

    【讨论】:

    • 谢谢,whoami 不可用,我得到了 ID,它是 0,是的,所有进程都以 0 运行,我将 0 作为 root
    【解决方案2】:

    您可以通过运行命令kubectl exec -it <pod-name> -- ps aux来查看在 Pod 中运行的容器的用户和组 ID。输出的第一列将以<user>/<group> 格式显示用户和组 ID。如果用户 ID 为 0,则容器以 root 用户身份运行。如果用户 ID 不为 0,则容器以非 root 用户身份运行。

    您还可以使用命令 kubectl describe pod <pod-name> 检查 pod 的安全上下文。输出将包括一个标记为“安全上下文”的部分,它将指示 Pod 运行的用户和组 ID。

    您还可以使用 kubectl get pod <pod-name> -ojsonpath='{.spec.containers[*].securityContext.runAsUser}' 来检查 pod 的用户 ID。

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 2021-06-22
      • 2019-01-21
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2021-09-02
      相关资源
      最近更新 更多