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