我有一个Kubernetes集群v1.23.15+rke2r1,运行Rancher v2.7.5。节点运行在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中的privileged更改为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.capabilities.add)。它根本不起作用。
1条答案
按热度按时间zaqlnxep1#
您可以尝试将第一个Rancher更新到版本2.7.6,然后如果问题仍然存在,请重试。然后,您可以升级您使用的RHEL版本作为故障排除的一部分。根据此documentation,似乎已经存在持续的问题。提供了几个步骤来解决问题,包括升级正在使用的版本。