如何在 Kubernetes / openShift 中使用自定义 SCC
how to use custom SCC in Kubernetes / openShift
我想在 deployment.yaml 上使用自定义安全内容上下文。
所以我的一位同事创建了一个自定义 SCC 并应用了它。
$oc get scc
restricted-plus false <no value> MustRunAs MustRunAsRange MustRunAs RunAsAny <no value> false ["configMap","downwardAPI","emptyDir","persistentVolumeClaim","projected","secret"]
在 kubernetes documentation 上,他们展示了如何将 scc 与 .json 文件一起使用,但没有展示如何调用已在集群上加载的 scc。
没关系,所以我在 deployment.yaml
上试过了
template:
metadata:
creationTimestamp: null
labels:
app: test-app
spec:
securityContext:
seccomProfiles:
localhostProfile: restricted-plus:
containers:
- args:
不幸的是它不起作用:(
如何在 deployment.yaml 上使用自定义 scc restricted-plus?
首先,SCC 是 OpenShift 特有的。它们在 Kubernetes 中不存在(SCC 与 seccomp 配置文件不同)。
您没有“使用您的自定义 SCC”。相反,您创建 SCC,然后创建 roles/rolebindings 以允许给定用户访问“使用”它。
现在,当该用户尝试创建一个 pod 时,会使用允许该 pod 的最严格的 SCC。由于用户现在有更多可用的 SCC,更宽松的 pods 将能够被接纳到集群中。
我想在 deployment.yaml 上使用自定义安全内容上下文。 所以我的一位同事创建了一个自定义 SCC 并应用了它。
$oc get scc
restricted-plus false <no value> MustRunAs MustRunAsRange MustRunAs RunAsAny <no value> false ["configMap","downwardAPI","emptyDir","persistentVolumeClaim","projected","secret"]
在 kubernetes documentation 上,他们展示了如何将 scc 与 .json 文件一起使用,但没有展示如何调用已在集群上加载的 scc。
没关系,所以我在 deployment.yaml
上试过了template:
metadata:
creationTimestamp: null
labels:
app: test-app
spec:
securityContext:
seccomProfiles:
localhostProfile: restricted-plus:
containers:
- args:
不幸的是它不起作用:(
如何在 deployment.yaml 上使用自定义 scc restricted-plus?
首先,SCC 是 OpenShift 特有的。它们在 Kubernetes 中不存在(SCC 与 seccomp 配置文件不同)。
您没有“使用您的自定义 SCC”。相反,您创建 SCC,然后创建 roles/rolebindings 以允许给定用户访问“使用”它。
现在,当该用户尝试创建一个 pod 时,会使用允许该 pod 的最严格的 SCC。由于用户现在有更多可用的 SCC,更宽松的 pods 将能够被接纳到集群中。