在将新部署部署到我们的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日志中未发现其他问题。
答案 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”。