序
搭建nacos的时候 遇到 No preemption victims found for incoming pod
先写结论
修改 deploy/nfs/class.yaml
yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-nfs-storage
#主要修改是这 原来是 provisioner: fuseim.pri/ifs
provisioner: cluster.local/nfs-subdir-external-provisioner
parameters:
archiveOnDelete: "false"
然后重新运行 就可以了
原因
在 k8s 1.20 之后,出于对性能和统一 apiserver 调用方式的初衷,k8s 移除了对 SelfLink
的支持,而默认上面指定的 provisioner 版本需要 SelfLink 功能,因此 PVC 无法进行自动制备。
找问题
刚开始看到这个问题,以为是cpu 内存方面的问题,检查了下,还有空余啊。。。后面感觉可能是
yaml
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- nacos
topologyKey: "kubernetes.io/hostname"
虽然感觉不是,但还是测试了一下 也不对,这个时候只能去github 仓库看看了
nacos-k8s 不在原来的nacos 仓库了,在 github.com/nacos-group...
找到了 使用kubernetes1.20.*部署踩坑记 · Issue #190 · nacos-group/nacos-k8s (github.com)
感觉有戏了,结果我一修改,就启动不了k8s 了。。
嗯呢,看着有戏