0

鉴于以下 AKS 顾问建议“应避免以 root 用户身份运行容器”,并执行以下修复步骤:

  • 对于这些 pod,在容器规范的 runAsUser 部分添加规则:'MustRunAsNonRoot'。

我应该在此处注意,它MustRunAsNonRoot是 的一部分PodSecurityPolicy,不应再与 AKS 一起使用,如如何在 AKS 中的 K8S 集群中强制执行 MustRunAsNonRoot 策略中所述

我添加runAsNonRoot: true到 pod 的securityContext

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    ...
  creationTimestamp: "2021-09-28T14:02:34Z"
  generation: 13
  labels:
    app.kubernetes.io/managed-by: Helm
  name: my-service
  namespace: my-namespace
  resourceVersion: "..."
  uid: ...
spec:
  replicas: 1
  ...
  template:
    metadata:
      ...
    spec:
      securityContext:
        runAsNonRoot: true

...但该资源仍在针对此建议列出。我在这里错过了什么,我应该改变什么来完成这个建议?

4

1 回答 1

0

Bridgecrew 定义了一些策略,用于在生产环境中部署 k8s 时强制执行最佳实践。您可以使用这些策略中提到的配置来验证您的部署配置。

BC_K8S_22BC_K8S_37是一些与容器、root 用户及其权限相关的策略。

以下是您可以包含的一些配置,以遵守部署最佳实践。您应该仔细阅读他们的所有政策并使用最适合您的用例的政策。

securityContext:
  allowPrivilegeEscalation: false
  readOnlyRootFilesystem: true
  runAsUser: 10500
  runAsGroup: 10500
于 2021-09-30T08:39:21.050 回答