進入K8S Pod執行操作,遭遇Operation not permitted錯誤


前置需求

  • POD 名稱ks-installer-58b9cf7c4c-qtgrn
  • 進入Pod修改/etc/resolv.conf文件權限(文件原為只讀)

遭遇問題

1、通過k8s exec命令進入pod

kubectl exec -it ks-installer-58b9cf7c4c-qtgrn -n kubesphere-system /bin/bash

2、修改resolv.conf文件權限,提示

chmod 666 /etc/resolv.conf
chmod: /etc/resolv.conf: Operation not permitted

解決方法

         通過K8S EXEC進入Pod的用戶是普通用戶,而修改文件我們需要root權限。K8S EXEC命令目前沒有找到指定用戶的相關參數,但是Docker的EXEC命令可以通過-u指定root用戶,那么可以通過docker命令進入Pod進行操作。

1、查詢Pod的Docker容器Id

kubectl describe pod ks-installer-58b9cf7c4c-qtgrn -n kubesphere-system

image

2、通過docker exec 用管理員權限進入容器

docker exec -u root 1a0dfe3d4c75f30512a14756f63a200226aff2b157b0fdfa80e14f455cb40e69 -/bin/bash

注意:要注意pod是被k8s調度到那個節點上邊,需要在對應的節點上執行docker命令

3、修改resolv.conf文件權限


免責聲明!

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



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