这里有几种方法来管理存储<一个href="//m.doggingzone.com/software/percona-kubernetes-operators">雷竞技下载官网Percona Kubernetes运营商一个>:持久的卷(PV)、hostPath临时性存储等。使用PV,由运营商提供存储类体积和持续的索赔,我们的用户是最受欢迎的选择。最受欢迎的一个问题是如何规模基于pv操作符存储。使pv调整容易,体积膨胀特性介绍了作为Kubernetes 1.8 alpha特性,最终成为了一个稳定的特性在1.24。
在这篇文章中,我将向您展示如何轻松地增加存储大小雷竞技下载官网Percona运营商使用这个特性没有任何数据库停机时间并解释怎么做如果你的存储类不支持体积膨胀。
扩大持久卷声称(PVC)通过体积膨胀
- 你只能调整PVC的存储类PVC设置AllowVolumeExpansion = True选择。
|
1
|
kubectl
描述
sc
<
存储
类
的名字
>
|
grep
allowVolumeExpansion
|
- 确保删除PVC终结器(delete-pxc-pvc/delete-psmdb-pvc)不确定的自定义资源,否则,所有集群数据可能会丢失。
- 请参考文档体积膨胀intree卷类型的支持体积膨胀。
- 如果底层存储驱动程序只能支持离线扩张,PVC的用户必须记下他们的豆荚扩张才能成功。请参考文档的存储提供商支持理解模式的体积膨胀。
请注意,扩大EBS卷是一个耗时的操作。同时,有一个修改的每个卷配额每六小时。
雷竞技下载官网Percona操作员MongoDB / Percona MySQL
罩下雷竞技下载官网Percona运营商对MongoDB和雷竞技下载官网基于Percona Percona运营商MySQL XtraDB集群使用StatefuSets,所以体积膨胀的任务操作符可以归结为调整相应的StatefulSet持久的体积。
调整一个PV声称通过改变自定义资源或StatefulSets(不工作)
只有一些特定StatefulSet字段创建后可以修改。在运营商改变存储大小自定义资源或StatefulSet导致下面的错误:
|
1
2
|
StatefulSet
。
应用程序
\”我的
- - - - - -
集群
- - - - - -
的名字
- - - - - -
rs0
\”
是
无效的
:
规范
:
被禁止的
:
更新
来
statefulset
规范
为
字段
其他
比
“副本”
,
“模板”
,
“updateStrategy”
,
“persistentVolumeClaimRetentionPolicy”
和
“minReadySeconds”
是
被禁止的”
|
扩展存储通过修改持久卷索赔(PVC)
1。改变PVC大小:
|
1
|
kubectl
补丁
聚氯乙烯
<
聚氯乙烯
- - - - - -
的名字
>
- - - - - -
n
<
聚氯乙烯
- - - - - -
名称空间
>
- - - - - -
p
”{“规范”:{"资源":{"请求":{“存储”:“新存储价值”}}}}”
|
2。这个过程完成后,你可以看到以下消息在PVC描述。
|
1
2
|
kubectl
描述
聚氯乙烯
<
聚氯乙烯
- - - - - -
的名字
>
正常的
FileSystemResizeSuccessful
3 s
kubelet
MountVolume
.NodeExpandVolume
成功
为
体积
“pvc-7ed0ba5c-cc79-42d4-a4b3-xxxxxxxxxxxx”
|
如果你看到以下事件PVC描述(它不会改变)您需要重新启动豆荚完成调整。(见进一步指出。)
|
1
2
|
FileSystemResizePending
真正的
我的
,
01
1月
0001年
00
:
00
:
00
+
0000年
星期四
,
23
小君
2022年
19
:
24
:
50
+
0200年
等待
为
用户
来
(
再保险
- - - - - -
)
开始
一个
圆荚体
来
完成
文件
系统
调整
的
体积
在
节点
。
|
3所示。PVC大小改变时,可以确保其他对象也发生了变化。
|
1
2
3
4
5
|
kubectl
得到
聚氯乙烯
kubectl
得到
光伏
kubectl
执行
<
圆荚体
- - - - - -
的名字
>
- - -
lsblk
|
4所示。更新存储大小相应的运营商定制的资源(雷竞技下载官网Percona运营商对MongoDB或雷竞技下载官网基于Percona Percona运营商MySQL XtraDB集群)。
现在我们有了存储和旧存储在相应的StatefulSets值。从上面的例子我们看到我们可以应用与新存储自定义资源价值观,但存储大小为StatefulSet对象字段不能被改变。这就是为什么我们需要重新创建StatefulSet新值。为了避免停机时间我们没有删除删除StatefulSet豆荚(级联=“孤儿”标志)。
|
1
|
kubectl
删除
sts
<
statefulset
- - - - - -
的名字
>
- - -
级联
=
孤儿
|
5。应用cr.yml。
|
1
|
kubectl
应用
- - - - - -
f
部署
/
cr
.yml
|
6。一个接一个地删除StatefulSet豆荚(可选)。
根据Kubernetes官方文档:
如果您的存储提供商支持在线扩张那么没有Pod重启应该体积膨胀完成的必要条件。
雷竞技下载官网PostgreSQL Percona运营商(pg操作符)
相比雷竞技下载官网Percona运营商对MongoDB/雷竞技下载官网基于Percona Percona运营商MySQL XtraDB集群它使用部分修改的StatefulSet对象,我们呢雷竞技下载官网为PostgreSQL Percona运营商使用集群部署,而不是StatefulSet对象。部署是一个可变对象,不仅可以改变集群开始,而且在运行集群。这就是为什么存储大小的变化自定义资源将不断应用于集群运行。自定义资源的变化不仅调整音量,还发起豆荚重启。
此外,为了保持一个安全的集群配置,操作员保持主副本和副本体积大小完全相等。因此,如果主要的大小改变,副本也改变的大小,主数据网格和副本吊舱将重新启动。否则,如果你先修改副本大小,只有副本pvc扩大和豆荚是重新创建。然而,如果你试图增加主大小相同的值作为副本,只有主PVC缩放(PVC的副本已经有必要的值),但副本和初级豆荚都重新启动。
所以你可以看到这种情况,主数据网格和副本pvc改变了大小,只有主要的存储大小是增加自定义的资源。
你需要小心,保持您的自定义资源文件最新的。
调整持续体积要求传输数据到新的聚氯乙烯(PVC)
体积膨胀是伟大的Kubernetes特性提供了一种简便和有效的方法调整PVC。然而,一些存储类不支持PVC体积膨胀。对于这些类,您必须创建一个新的PVC和移动内容。你可以用以下步骤:
1。PVC大小自定义资源配置相应的操作符(雷竞技下载官网Percona运营商对MongoDB或雷竞技下载官网基于Percona Percona运营商MySQL XtraDB集群)和应用它。
|
1
|
kubectl
应用
- - - - - -
f
部署
/
cr
.yaml
|
2。删除StatefulSet。像在前面的部分,我们需要重建StatefulSet以应用存储更改。
|
1
|
kubectl
删除
sts
<
statefulset
- - - - - -
的名字
>
- - -
级联
=
孤儿
|
因此,豆荚,操作员的再现了StatefulSet新的体积大小。
3所示。扩大集群(可选)。
改变存储大小需要我们终止豆荚,从而导致性能下降。手术期间保护性能,我们可以使用这些指令扩展集群雷竞技下载官网Percona运营商对MongoDB或雷竞技下载官网基于Percona Percona运营商MySQL XtraDB集群。只要我们已经改变了StatefulSet,新运营商吊舱将供应增加卷。
4所示。再补充粮食给Pods改变存储一个接一个。
在这一步中,底层存储将是改变数据库的豆荚。
删除的PVC,你要再补充粮食给仓。
|
1
|
kubectl
删除
聚氯乙烯
<
聚氯乙烯
- - - - - -
的名字
>
|
PVC不会马上被删除当有一群使用它。继续删除舱:
|
1
|
kubectl
删除
圆荚体
<
圆荚体
- - - - - -
的名字
>
|
豆荚会随着pvc被删除。StatefulSet控制器会注意到仓了,将重现它随着新的扩展PVC。
检查PVC大小:
|
1
|
kubectl
得到
聚氯乙烯
|
|
1
2
3
|
的名字
状态
体积
能力
访问
模式
STORAGECLASS
年龄
mongod
- - - - - -
数据
- - - - - -
最小的
- - - - - -
集群
- - - - - -
卢比
- - - - - -
1
绑定
聚氯乙烯
- - - - - -
e9b494fb
- - - - - -
f201
- - - - - -
44 b9
- - - - - -
9493年
- - - - - -
ea6faa903ddc
4胃肠道
两
标准
3立方米
mongod
- - - - - -
数据
- - - - - -
最小的
- - - - - -
集群
- - - - - -
卢比
- - - - - -
2
绑定
聚氯乙烯
- - - - - -
6236年c7e1
- - - - - -
9670年
- - - - - -
49 a8
- - - - - -
9928年
- - - - - -
0 dd24708588c
3 gi
两
标准
144米
|
列表明该PVC增加的能力。
一旦豆荚,从其他节点数据同步。数据传输速度取决于集群和集群利用率的数据量结果同步可能会需要一段时间。请等到节点完全启动并运行,同步完成后,再进行下一个豆荚。
5。减少集群和清理不必要的pvc。
结论
我们不断地引入新的功能在Percona Kubernetes运营商。雷竞技下载官网其中一个是自动化的体积膨胀,将会在将来的版本中实现。我们还计划增加的可能性变化直接存储大小自定义资源,可以增加私人DBaaS特性Percona监视和管理(PMM雷竞技下载官网)raybet雷竞技竞猜在线官网检测量消费和集群自动缩放。如果你有什么建议关于这个话题,愿意与我们合作,请提交问题社区论坛或JIRA。

想要每周更新清单的最新博客文章?
现在订阅,我们将送你一个更新每周五下午1点等。
相关的博客文章
推荐的文章
2023年7月26日,
Zelmar Michelini一个>
十对运行MongoDB环境的建议
2023年7月25日
萨提亚Bodapati一个>
快20倍备份准备与Percona XtraBackup 8.0.33-雷竞技下载官网28 !
2023年7月25日
马塞洛•阿尔特曼一个>
快流备份——引入Percona XtraBackup FIFO平行流雷竞技下载官网
最受欢迎文章
2023年6月20日
谢尔盖Pronin一个>
上部署Django Kubernetes PostgreSQL P雷竞技下载官网ercona运营商
2023年3月15日
谢尔盖Pronin一个>和<一个href="//m.doggingzone.com/blog/author/ege-gunes" class="co-author-display-name">针对枪一个>
自动化Kubernetes MongoDB的物理备份
2023年2月10日
马塞洛•阿尔特曼一个>
雷竞技下载官网Percona XtraBackup现在支持我实例配置文件