启用 SELINUX 的 Kubernetes Secrets 权限被拒绝
Permission Denied for Kubernetes Secrets with SELINUX Enabled
我按照 kubernetes 文档来管理我的应用程序的秘密。
http://kubernetes.io/v1.1/docs/user-guide/secrets.html
当 pod 启动时,kubernetes 会在正确的位置挂载秘密,但应用程序无法读取文档中描述的秘密数据。
root@quoter-controller-whw7k:/etc/quoter# whoami
root
root@quoter-controller-whw7k:/etc/quoter# ls -l
ls: cannot access local.py: Permission denied
total 0
-????????? ? ? ? ? ? local.py
root@quoter-controller-whw7k:/etc/quoter# cat local.py
cat: local.py: Permission denied
这有什么问题?
SELinux 配置为强制模式
SELINUX=enforcing
Docker 使用以下命令启动
/usr/bin/docker daemon --registry-mirror=http://mirror.internal:5000 --selinux-enabled --insecure-registry registry.internal:5555 --storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/atomicos-docker--pool --bip=10.16.16.1/24 --mtu=8951
根据 Atomic 问题跟踪器,SELinux 和 Kubernetes Secrets 存在一个已知问题,请参阅 ISSUE-117。
我按照 kubernetes 文档来管理我的应用程序的秘密。
http://kubernetes.io/v1.1/docs/user-guide/secrets.html
当 pod 启动时,kubernetes 会在正确的位置挂载秘密,但应用程序无法读取文档中描述的秘密数据。
root@quoter-controller-whw7k:/etc/quoter# whoami
root
root@quoter-controller-whw7k:/etc/quoter# ls -l
ls: cannot access local.py: Permission denied
total 0
-????????? ? ? ? ? ? local.py
root@quoter-controller-whw7k:/etc/quoter# cat local.py
cat: local.py: Permission denied
这有什么问题?
SELinux 配置为强制模式
SELINUX=enforcing
Docker 使用以下命令启动
/usr/bin/docker daemon --registry-mirror=http://mirror.internal:5000 --selinux-enabled --insecure-registry registry.internal:5555 --storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/atomicos-docker--pool --bip=10.16.16.1/24 --mtu=8951
根据 Atomic 问题跟踪器,SELinux 和 Kubernetes Secrets 存在一个已知问题,请参阅 ISSUE-117。