在kubernetes中创建一个liner(强制方式)命令



在kubernetes 中创建一个liner(强制方式(命令

kubectl run test --image=ubuntu:latest --limits="cpu=200m,memory=512Mi" --requests="cpu=200m,memory=512Mi" --privileged=false

我还需要在一行中设置securityContext,这可能吗?基本上,我需要将容器作为securityContext/runAsUser运行,而不是作为root帐户运行。

是的,陈述性有效,但我正在寻找一种命令式的方式。

将此答案作为社区wiki发布,以强调解决方案已发布在评论中(指向另一个答案的链接(:

嗨,检查这个答案:stackoverflow.com/a/37621761/5747959你可以用--overrides解决这个问题——CLNRMN 2天前

请随意编辑/展开。


引用$ kubectl run --help:

--overrides='': An inline JSON override for the generated object. If this is non-empty, it is used to override the generated object. Requires that the object supply a valid apiVersion field.

以下是包含额外字段的--overrides示例,更具体地说,针对这个特定问题(securityContext(:

kubectl run -it ubuntu --rm --overrides='
{
"apiVersion": "v1",
"spec": {
"securityContext": {
"runAsNonRoot": true,
"runAsUser": 1000,
"runAsGroup": 1000,
"fsGroup": 1000
},
"containers": [
{
"name": "ubuntu",
"image": "ubuntu",
"stdin": true,
"stdinOnce": true,
"tty": true,
"securityContext": {
"allowPrivilegeEscalation": false
}
}
]
}
}
' --image=ubuntu --restart=Never -- bash

通过上面的覆盖,您将使用securityContext来约束您的工作负载。

旁注!

  • 上面的示例特定于运行将执行到(bash(中的Pod
  • --overrides将覆盖它之外的其他指定参数(例如:image(

其他资源:

  • Kubernetes.io:文档:任务:配置pod容器:安全上下文
  • Kubernetes.io:Docs:Concepts:Security:Pod安全标准

相关内容

  • 没有找到相关文章

最新更新