You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用第三方提供的EKS集群无法创建Deployment等资源的问题咨询

问题原因说明

首先可以排除你猜测的两种情况:既不是ECS封禁了公共镜像仓库,也不是第三方EKS提供商未启用公共Docker镜像仓库的访问权限。

本次报错是第三方EKS集群内置了Kyverno准入策略引擎,强制要求所有部署的工作负载必须符合平台预设的安全、资源规范,你通过命令行默认生成的Deployment不满足规则,被准入拦截导致的。


各报错规则说明及修复方案

  • 资源请求配置校验不通过
    对应策略:edison-platform-policy-disallow-pod-without-resources
    平台要求:所有容器必须显式配置CPU、内存的资源请求(requests),除非给工作负载打上AllowContainerWithoutResourcesRequests特殊标签。
  • 特权权限校验不通过
    对应策略:edison-platform-policy-disallow-privileged-container
    平台要求:所有容器的securityContext必须显式设置allowPrivilegeEscalation: false,关闭特权升级权限,除非给工作负载打上AllowPrivilegedEscalation特殊标签。
  • 运行用户校验不通过
    对应策略:edison-platform-policy-disallow-root-user
    平台要求:Pod或容器级别的securityContext必须显式设置runAsNonRoot: true,或者指定非root的运行UID,禁止默认以root身份运行容器,除非给工作负载打上AllowRootUserAccess特殊标签。
  • 镜像来源校验不通过
    对应策略:edison-platform-policy-disallow-unknown-registries
    平台要求:不能直接使用Docker Hub的短镜像名(比如nginx),必须填写平台允许的镜像仓库完整地址。如果平台允许使用Docker Hub镜像,把镜像地址补全为docker.io/library/nginx:对应版本号即可,否则需要咨询提供商获取允许的镜像仓库列表。

符合要求的Deployment示例

你可以参考以下yaml调整配置,修改完成后执行kubectl apply -f <yaml文件名>即可创建:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-depl
  namespace: comp-dev
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-depl
  template:
    metadata:
      labels:
        app: nginx-depl
    spec:
      securityContext:
        runAsNonRoot: true
        runAsUser: 101 # nginx官方镜像默认非root用户UID
      containers:
      - name: nginx
        image: docker.io/library/nginx:1.25 # 替换为平台允许的镜像地址
        resources:
          requests:
            cpu: "100m"
            memory: "128Mi"
          limits:
            cpu: "200m"
            memory: "256Mi"
        securityContext:
          allowPrivilegeEscalation: false

内容的提问来源于stack exchange,提问作者sandeep.ganage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:39:05