【问题标题】:kubectl exec "groups: cannot find name for group ID 40001"kubectl exec“组:找不到组 ID 40001 的名称”
【发布时间】:2020-05-30 06:22:11
【问题描述】:

我运行了kubectl exec -it my_pod_name '/bin/bash' -n my_release_name,它正在返回消息groups: cannot find name for group ID 40001。不是我需要的障碍,因为我仍然可以进入容器的命令行。

【问题讨论】:

  • 你能分享你的 Pod/部署模板吗?当您使用runAsGroup 字段指定了某个组时,通常会发生此错误。
  • 还有你的 Dockerfile
  • @alltej 您是否已经解决了您的问题?如果没有,请发布请求的信息以便我们提供帮助!
  • 我在 Dockerfile 中有这样的东西:RUN useradd -ms /bin/bash -d ${USER_HOME_DIR} ${USER} ... RUN chown -R ${USER}:${USER} ${USER_HOME_DIR}
  • 请将其添加为问题的编辑,Pod 的部署将简化故障排除。您是否尝试过使用任何其他 bash pod,例如 kubectl run -i --tty --rm --image ubuntu test-shell -- /bin/bash?它也返回错误吗?

标签: kubernetes kubernetes-helm kubectl


【解决方案1】:

我可以通过在我的 YAML 中定义一个带有“40001”gid 的额外 PersistentVolume 来复制。

"annotations:
    pv.beta.kubernetes.io/gid: "40001"

如果我应用 YAML(PV 已创建但从未声明),我只会在第一个容器/pod 上执行时看到此消息。

 % kubectl exec -it mongo-0 -- bash                   
groups: cannot find name for group ID 40001
root@mongo-0:/# exit    
exit

 % kubectl exec -it mongo-1 -- bash
root@mongo-1:/# exit
exit

据推测,当 PV 被声明时,该消息会消失,因为 gid 已创建。这可能是 kube 或 kubectl 中的错误。

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 2017-03-02
    • 2019-05-17
    • 2022-12-02
    相关资源
    最近更新 更多