部署到Kubernetes';通过Helm实现本地持久存储
使用Kubernetes 1.7.0,这里的目的是能够部署MySQL/MongoDB/etc,并使用本地磁盘作为存储备份;而webheads和processing Pod可以通过Kubernetes自动缩放。为了这些目标,我已经部署到Kubernetes';通过Helm实现本地持久存储,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,使用Kubernetes 1.7.0,这里的目的是能够部署MySQL/MongoDB/etc,并使用本地磁盘作为存储备份;而webheads和processing Pod可以通过Kubernetes自动缩放。为了这些目标,我已经 设置并部署自动将本地连接的磁盘调配到pods的Persistent Volume声明 手动创建了一个持久卷声明,该声明成功,并且本地卷已连接 试图通过helm部署MariaDB helm install--name mysql--set persistence.sto
- 设置并部署自动将本地连接的磁盘调配到pods的Persistent Volume声明李>
- 手动创建了一个持久卷声明,该声明成功,并且本地卷已连接
- 试图通过helm部署MariaDB helm install--name mysql--set persistence.storageClass=default stable/mariadb
- 这似乎成功了;但通过进入仪表板,我得到了
我怀疑这可能是由于赫尔姆的图表不包括节点相关性。除了手动更新每个图表外,是否有方法告诉helm部署到供应器拥有卷的同一pod?不幸的是,没有。您需要指定节点关联性,以便pod位于本地存储所在的节点上。请参阅以了解如何添加到舵图中 我怀疑你的情况会像下面这样
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- kubemaster
顺便说一句,对于AWS和GCP等云环境,这将不仅在节点级别发生,而且在区域级别也会发生。在这些环境中,持久性磁盘是分区的,需要您设置NodeAffinity
,以便在部署到多区域群集时,POD与持久性磁盘一起降落在分区中
另一方面,看起来你要部署到Kubernetes大师那里?如果MySQL可能会影响到主机的操作,那么也许不可取。也许您可以考虑使用NFS而不是附加本地卷。