pods "xxx" is forbidden: SecurityContext.RunAsUser is forbidden


報錯信息如下:

pods "k8s-logs-cndf5" is forbidden: SecurityContext.RunAsUser is forbidden

解決方法:

需要對准入控制器進行修改,然后重啟apiserver
--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction \
SecurityContextDeny 不enable就行

如下圖:

重啟kube-apiserver:

systemctl restart kube-apiserver

補充說明

准入控制器
To see which admission plugins are enabled:
kube-apiserver -h | grep enable-admission-plugins
In 1.13, they are:
NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeClaimResize,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,Priority。

LimitRanger:此准入控制器將確保所有資源請求不會超過 namespace 的 LimitRange。
SecurityContextDeny:此准入控制器將拒絕任何試圖設置某些升級的SecurityContext字段的pod 。
ServiceAccount:此准入控制器實現serviceAccounts的自動化。
ResourceQuota:此准入控制器將觀察傳入請求並確保它不違反命名空間的ResourceQuota對象中列舉的任何約束。
NodeRestriction:該准入控制器限制了 kubelet 可以修改的Node和Pod對象。
NamespaceExists:此許可控制器檢查除 Namespace 其自身之外的命名空間資源上的所有請求。如果請求引用的命名空間不存在,則拒絕該請求。
NamespaceLifecycle:此准入控制器強制執行正在終止的命令空間中不能創建新對象,並確保Namespace拒絕不存在的請求。此准入控制器還防止缺失三個系統保留的命名空間default、kube-system、kube-public。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM