使用 Rancher 在 Kubernetes 上以 root 以外的用户运行时,功能会被切断

问题描述 投票:0回答:1

我有一个运行 Rancher v2.7.5 的 Kubernetes 集群 v1.23.15+rke2r1。节点在 RHEL 8.8 上运行。问题是,当在 root 用户上运行时,在 pod 中的容器内运行的 .NET 6.0 进程没有任何功能,这会阻止我创建内存转储。如果我使用 getpcaps 对示例用户进行检查,我会得到以下输出:

sample@containername-deploy-8477c49dc6-t6hfg:/app$ getpcaps 1 caps.txt
1: =
caps.txt: =
sample@containername-deploy-8477c49dc6-t6hfg:/app$

如果我将 securityContext 特权更改为 true 并将 runAsUser 更改为 0(root),情况会完全不同。

root@containername-deploy-db44d8ffb-g8hpn:/app# getpcaps 1 caps.txt
1: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_sys_ptrace,cap_mknod,cap_audit_write,cap_setfcap=ep
caps.txt: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_sys_ptrace,cap_mknod,cap_audit_write,cap_setfcap=ep
root@containername-deploy-db44d8ffb-g8hpn:/app#

我不明白是什么导致了这个问题。我已经尝试删除一些 PSP 并手动添加功能(spec.containers.capability.add)。根本不起作用。

kubernetes rancher linux-capabilities rke2
1个回答
0
投票

您可以尝试将第一个 Rancher 更新到 2.7.6 版本,如果问题仍然存在,请重试。然后,您还可以升级您在故障排除过程中使用的 RHEL 版本。根据这个文档,似乎已经存在一个持续的担忧。提供了几个步骤来解决该问题,包括升级正在使用的版本。

© www.soinside.com 2019 - 2024. All rights reserved.