我正试图使用k8s在我的DigitalOcean集群上使用DigitalOcean块存储来创建持久卷。
它工作得很好,但我也想知道这对于生产来说是安全的。
我仍然在寻找关于PV安全的文档,但是找不到我需要的。
我需要你的意见。谢谢。
发布于 2018-07-19 09:50:54
我认为,考虑在您的Kubernetes集群中应用这些安全性方面(如Kubernetes文件中所述),可能会有所帮助。我想,对您来说,分析Kubernetes集群中的潜在安全漏洞是一个起点。但是,您可以在下面找到一些有关保护Persistent Volume
存储的信息。
持久体积(PV)存储包含基本策略,您可以使用SecurityContext部分在pod定义中应用这些策略,如Group IDs
、user ID
和SELinux
值。Group IDs
对吊舱是全局的,适用于在吊舱中定义的所有容器。User IDs
也可以是全局的,也可以是针对每个容器的。实际上,有四个部分旨在控制对卷的访问:
supplementalGroups
-补充组是常规的Linux组。当进程在Linux中运行时,它具有一个UID、一个GID和一个或多个通常用于控制对共享存储的访问的补充组,例如NFS
和GlusterFS
:
apiVersion: v1
kind: Pod
...
spec:
containers:
- name: ...
volumeMounts:
- name: nfs
mountPath: /usr/share/...
securityContext:
supplementalGroups: [5555]
volumes:
- name: nfs
nfs:
server:
path: /opt/nfs
fsGroup
-定义一个pod的“文件系统组”ID,该ID被添加到容器的补充组中。supplementalGroups ID
应用于共享存储,而fsGroup ID
用于块存储。
kind: Pod
...
spec:
containers:
- name: ...
securityContext:
fsGroup: 5555
runAsUser
-用户ID可以全局定义到所有容器,或者特定于单个容器(或两者都定义):
spec:
containers:
- name: ...
securityContext:
runAsUser: 1000100001
seLinuxOptions
-向具有多个访问控制安全策略值的容器分配SELinux标签以标识级别标签的可能性:
securityContext:
seLinuxOptions:
level: "s0:c123,c456"
https://serverfault.com/questions/922407
复制相似问题