![](/img/trans.png)
[英]Why I am getting an oci runtime error when running a simple docker image?
[英]Why am I getting `0/1 nodes are available` when running Docker Desktop?
我正在使用 Kube.netes 運行 Docker 桌面。
我可以 ssh 到該節點,並且我在該節點上運行其他 pod。
但是,當我將 StatefulSet 應用於集群時,我得到:
0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.
狀態集在這里:
https://kube.netes.io/docs/concepts/workloads/controllers/statefulset/#components
kubectl get no
NAME STATUS ROLES AGE VERSION
docker-desktop Ready control-plane 6d2h v1.24.1
如果您按原樣應用此處定義的清單,則問題出在以下代碼段中,尤其是storageClassName.
很可能,您的集群沒有名為my-storage-class.
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "my-storage-class"
resources:
requests:
storage: 1Gi
要獲得明確的錯誤聲明,您可以運行以下命令:
kubectl describe pvc www-web-0
你會注意到類似的東西:
storageclass.storage.k8s.io "my-storage-class" not found
解決方案:
您可以運行以下命令來獲取集群的可用storage class
並將其替換為 yaml 文件。
kubectl get sc
或者,您可以刪除storageClassName
並讓默認存儲類發揮作用。 但是,要使其正常工作,您的集群中必須有一個默認 sc。
如果您沒有存儲類,則需要創建一個。 看看這個。
如果您在本地將 k8s 與 docker 桌面一起使用,請確保下面的 storageClassName 設置為“ hostpath ”是我的本地 redis 集群的 volumeClaimTemplates 之一。 當獲得“ 0/1 nodes are available ”這是一個令人困惑的錯誤時,評論救了我幾次
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
##############################
## this will catch you out ##
# for Docker Desktop (Local K8s Cluster) set to -> storageClassName: "hostpath"
##############################
storageClassName: "hostpath"
resources:
requests:
storage: 250Mi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.