如何解决Kubernetes部署警告?

如何解决Kubernetes部署警告?,kubernetes,kubernetes-pod,kubernetes-deployment,Kubernetes,Kubernetes Pod,Kubernetes Deployment,我有以下部署清单 $ kubectl version --short Client Version: v1.20.2 Server Version: v1.19.6-eks-49a6c0 当我应用它时,我得到以下警告,Pod永远不会被创建。这意味着什么?如何解决?就我而言,我正在运行EKS Fargate(仅限)集群。谢谢 apiVersion: apps/v1 kind: Deployment metadata: name: stats-service namespace: my-s

我有以下部署清单

$ kubectl version --short
Client Version: v1.20.2
Server Version: v1.19.6-eks-49a6c0
当我应用它时,我得到以下警告,Pod永远不会被创建。这意味着什么?如何解决?就我而言,我正在运行EKS Fargate(仅限)集群。谢谢

apiVersion: apps/v1
kind: Deployment
metadata:
  name: stats-service
  namespace: my-system
  labels:
    app: stats-service
spec:
  selector:
    matchLabels:
      app: stats-service
  template:
    metadata:
      labels:
        app: stats-service
    spec:
      containers:
      - name: stats-service
        image: 0123456789.dkr.ecr.us-east-1.amazonaws.com/stats-service:3.12.1
        resources:
          requests:
            memory: "1024m"
            cpu: "512m"
          limits:
            memory: "2048m"
            cpu: "1024m"
        ports:
        - name: http
          containerPort: 5000
          protocol: TCP
       startupProbe:
          httpGet:
            path: /manage/health
            port: 5000
          failureThreshold: 30
          periodSeconds: 10
        livenessProbe:
          httpGet:
            path: /manage/health
            port: 5000
          failureThreshold: 3
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /manage/health
            port: 5000
          failureThreshold: 6
          periodSeconds: 10
        env:
        - name: SPRING_PROFILES_ACTIVE
          value: test
        - name: JAVA_OPTS
          value: "my_java_opts"
注:

  • 该警告似乎与
    spec.template.spec.containers.resources.limits
    块有关。如果我移除它,Pod就会被创建
  • 我在网上读到的很多解决方案都说重置Docker,这显然不适用于我

    • 您对资源使用了错误的符号。根据:

      内存限制和请求以字节为单位。你可以表达 内存作为一个普通整数或作为一个定点数字使用 这些后缀:E,P,T,G,M,K。你也可以使用二的幂 等价物:Ei、Pi、Ti、Gi、Mi、Ki

      如果你愿意

      • 要求:
        • 1GB内存
        • 0.5 vCPU/芯
      • 限制:
        • 2GB内存
        • 1个vCPU/芯
      这应该起作用:

      $ kubectl describe pod stats-service-797784dfd5-tvh84
      ...
        Warning  FailedCreatePodSandBox  12s   kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:319: getting the final child's pid from pipe caused \"read init-p: connection reset by peer\"": unknown
      
      以下是等效的,但使用不同的符号:

              resources:
                requests:
                  memory: "1G"
                  cpu: "0.5"
                limits:
                  memory: "2G"
                  cpu: "1"
      

      请注意,上面的示例使用
      M
      作为内存,而不是
      M

      非常感谢。这确实是问题所在。
              resources:
                requests:
                  memory: "1024M"
                  cpu: "500m"
                limits:
                  memory: "2048M"
                  cpu: "1000m"