我正试图在我的openshift项目中运行elasticsearch
容器。
我有错误:
特权容器不允许使用capability.add:无效值:“IPC_LOCK”:功能可能未添加功能.add:无效值:“SYS_RESOURCE”:功能可能未添加
我发现你需要将privileged scc
添加到用户帐户(或创建自己的专用帐户)。
我试图按照文件https://docs.openshift.com/container-platform/3.4/admin_guide/manage_scc.html,其中给出以下命令:
oc create serviceaccount mysvcacct -n myproject
oc adm policy add-scc-to-user privileged system:serviceaccount:myproject:mysvcacct
然而,没有一个线索给出什么是mysvcacct
以及为什么它被称为mysvcacct
。
因为我的项目名为logging
,我尝试了以下方法:
oc create serviceaccount logging -n logging
oc adm policy add-scc-to-user privileged system:serviceaccount:logging:logging
但它没有改变任何东西。我一直得到同样的错误。
那里我想念的是什么?我应该用什么名字代替mysvcacct
?
仅供参考,我介绍了yaml
格式的例子。
ServiceAccount
cmd修改oc patch dc/your-deploymentConfigName
名称,如下所示。# oc patch dc/elasticsearch --patch '{"spec":{"template":{"spec":{"serviceAccountName": "logging"}}}}'
oc edit dc/your-deploymentConfigName
,看看serviceAccountName
。# oc edit dc/elasticsearch
...
spec:
containers:
- image: docker-registry.default.svc:5000/test/...
imagePullPolicy: Always
name: web
ports:
- containerPort: 8080
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: logging
serviceAccountName: logging