Openshift:如何创建具有SYS_LOCK功能的scc

时间:2018-08-07 13:17:04

标签: openshift

当我想查看scc的详细信息时:

$ oc describe scc restricted 
Name:                       restricted
Priority:                   <none>
Access:                     
  Users:                    <none>
  Groups:                   system:authenticated
Settings:                   
  Allow Privileged:                 false
  Default Add Capabilities:         <none>    (1)
  Required Drop Capabilities:       KILL,MKNOD,SETUID,SETGID    (2)
  Allowed Capabilities:             <none>    (3)
...

我看到这出现了三种功能,(1)(2)(3)

  1. 它们之间有什么区别?
  2. 我需要创建一个scc设置IPC_LOCK功能。 IPC_LOCKdrop capability还是add capability

1 个答案:

答案 0 :(得分:1)

默认情况下,Docker允许功能,如here所述。

在OpenShift中,您在上面列出的restricted SCC不允许使用其中的( drops )4,这就是'Required Drop Capabilities'的用途-您想限制容器比容器运行时默认值更多。

通过在“默认添加功能”下列出,SCC还可以向Pod添加比默认功能更多的

“允许的功能”类似于“默认添加功能”,不同之处在于它不会自动为所有适用的Pod提供功能-他们必须请求其他功能。如果Pod请求某项功能,并且由具有允许该功能的SCC的用户或组运行,那么它将获得该功能。

我认为以上内容回答了您的两个问题。这就是我要考虑的(您可能已经在考虑这样的事情了):

  1. 在新的SCC中向“允许的功能”添加IPC_LOCK
  2. 将SCC添加到服务帐户以运行您的pod
  3. 请求容器(或容器中的单个容器)的功能

有关更多(更好!)信息,请参见此处的文档: