我在AWS上有一个Kubernetes集群,带有集群自动分频器(一个组件,用于根据使用情况自动调整所需的节点数量)。簇以前在AZ-1上有节点A,在AZ-2上有节点B.当我使用动态PVC部署状态集时,PVC和PV是在AZ-2上创建的,而PV和PV是在节点B上创建的。
我删除了状态集来执行一些测试。群集自动分配器决定一个节点现在足够了,并将所需的数目下调到1。现在删除了节点B,当我重新部署状态集时,豆荚处于挂起状态,无法在节点A上创建,但有以下错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 2m8s (x997 over 18h) default-scheduler 0/1 nodes are available: 1 node(s) had volume node affinity conflict.
Normal NotTriggerScaleUp 95s (x6511 over 18h) cluster-autoscaler pod didn't trigger scale-up: 1 node(s) had volume node affinity conflict我知道这是因为PVs是在AZ-2中创建的,不能连接到AZ-1中的豆荚上,但是我如何克服这个问题呢?
发布于 2022-12-02 16:02:49
使用多个节点组,每个作用域限定为单个可用性区域。此外,您应该启用-平衡-相似-节点-组功能。
https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html很重要,如果您要跨多个可用性区域运行一个有状态的应用程序,该应用程序由Amazon卷支持,并且使用Kubernetes群集自动scoped,您应该配置多个节点组,每个节点组的作用域为单个可用性区域。此外,您应该启用-平衡-相似-节点-组功能。
https://stackoverflow.com/questions/72863300
复制相似问题