我在 AWS 中设置了一个基本的 OpenShift Origin 集群。我有 3 个控制器和 3 个工人。两者都分布在三个可用区中,所以我在 us-east-1a 中有一个控制器和一个工作人员,一个在 1b 中,一个在 1c 中
。一切似乎都很高兴,但我无法找到在特定可用区中创建PV声明的方法。对于具有一个卷的 pod 来说,这并不重要,但是当我需要一个包含两个或更多卷的 Pod 时,它无法调度,因为 PV 分布在各个区域。
这里的正确方法是什么?AWS 似乎不支持标签选择器,还有什么替代方案?也许我需要更改我的openshift_node_labels - 现在所有 6 个都设置为 {'region': 'primary', 'zone': 'east'}
根据文档这似乎是正确的,但我可能错过了一些东西。
我假设您直接在部署/pod规范中引用PVC,以便您可以手动创建它们并附加有效的PV。
如果是这种情况,我强烈建议您从手动/静态方法切换到通过部署中的 volumeClaimTemplates 管理存储的更 dunamic/声明性方法。它将以完全动态的方式为您的豆荚管理一组 PVC,让您无需人工即可扩展。
卷声明模板使用示例: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#components
这应该可以解决您的问题,同时简化您使用持久存储的方式。