Kubernetes部署失败,并在GKE中创建“创建Pod沙盒失败”

时间:2020-02-11 11:26:03

标签: kubernetes google-kubernetes-engine kubernetes-helm

在将新部署部署到我们的GKE集群时,已创建pod,但失败并出现以下错误:

Failed create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: OCI runtime create failed: container_linux.go:346: 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

群集根本没有加载,并且有足够的可用磁盘,内存和CPU。

在pod / cluster日志中未发现其他问题。

2 个答案:

答案 0 :(得分:9)

问题最终出在部署YAML中。

如果遇到类似的问题,请检查您的资源部分,并验证它是否具有正确的语法,可以在这里找到:https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

就我而言,问题出在内存值中:

工作示例(请注意):

resources:
    limits:
      cpu: 500m
      memory: 256Mi
    requests:
      cpu: 5m
      memory: 256Mi

初始资源定义(错误语法):

resources:
    limits:
      cpu: 500m
      memory: 256m
    requests:
      cpu: 5m
      memory: 256m

我希望这会在将来对其他社区成员有所帮助,因为我花了相当长的时间来找到本案的根本原因...

答案 1 :(得分:0)

RAM资源以字节为单位。您可以将RAM表示为具有以下后缀之一的纯整数或定点整数:,P,T,G,M,K,Ei,Pi,Ti,Gi,Mi,Ki 。

引用Memory Meaning on Kubernetes Docs

CPU资源以毫厘为单位。 允许使用小数值,并且在定义CPU限制时可以使用后缀m表示小数位数。例如100m cpu等于100 milicpu,并且与0.1 cpu相同。

示例:如果您的容器需要一个完整的内核才能运行,则应输入值“ 1000m”。如果您的容器仅需要1/4核,则可以输入“ 250m”。