如何列出kubernetes pod及其容器的所有securityContext

sky*_*one 5 kubernetes

无论如何,是否有列出所有 securityContext ,包括默认值和已定义的:

  1. 吊舱级别
  2. 集装箱液位

仅使用kubectl get pod -o yaml显示清单中定义的内容spec.securityContext而不显示spec.containers[*].securityContext默认清单?

小智 10

在这里,来源可以在这篇中等文章中找到:

kubectl get pods --all-namespaces -o go-template \
    --template='{{range .items}}{{"pod: "}}{{.metadata.name}}
{{if .spec.securityContext}}
  PodSecurityContext:
    {{"runAsGroup: "}}{{.spec.securityContext.runAsGroup}}                               
    {{"runAsNonRoot: "}}{{.spec.securityContext.runAsNonRoot}}                           
    {{"runAsUser: "}}{{.spec.securityContext.runAsUser}}                                 {{if .spec.securityContext.seLinuxOptions}}
    {{"seLinuxOptions: "}}{{.spec.securityContext.seLinuxOptions}}                       {{end}}
{{else}}PodSecurity Context is not set
{{end}}{{range .spec.containers}}
{{"container name: "}}{{.name}}
{{"image: "}}{{.image}}{{if .securityContext}}                                      
    {{"allowPrivilegeEscalation: "}}{{.securityContext.allowPrivilegeEscalation}}   {{if .securityContext.capabilities}}
    {{"capabilities: "}}{{.securityContext.capabilities}}                           {{end}}
    {{"privileged: "}}{{.securityContext.privileged}}                               {{if .securityContext.procMount}}
    {{"procMount: "}}{{.securityContext.procMount}}                                 {{end}}
    {{"readOnlyRootFilesystem: "}}{{.securityContext.readOnlyRootFilesystem}}       
    {{"runAsGroup: "}}{{.securityContext.runAsGroup}}                               
    {{"runAsNonRoot: "}}{{.securityContext.runAsNonRoot}}                           
    {{"runAsUser: "}}{{.securityContext.runAsUser}}                                 {{if .securityContext.seLinuxOptions}}
    {{"seLinuxOptions: "}}{{.securityContext.seLinuxOptions}}                       {{end}}{{if .securityContext.windowsOptions}}
    {{"windowsOptions: "}}{{.securityContext.windowsOptions}}                       {{end}}
{{else}}
    SecurityContext is not set
{{end}}
{{end}}{{end}}'
Run Code Online (Sandbox Code Playgroud)