升级数据库和操作员¶
从1.1.0版本开始,基于Percona XtraDB Clust雷竞技下载官网er的Percona Operator for MySQL允许升级到新版本。集群可升级组件如下:
- 操作员;
- 自定义资源定义,
- 数据库管理系统(Percona XtraDB集群)。雷竞技下载官网
推荐的升级场景有两种:
- 升级到Operator的新版本而且雷竞技下载官网Percona XtraDB集群,
- Minor 雷竞技下载官网Percona XtraDB Cluster版本升级没有操作员升级。
升级Operator和CRD¶
请注意
运营商支持最后三个版本的CRD,所以在技术上可以跳过升级CRD,只升级Operator。如果CRD比新的Operator版本旧不超过三次释放,您将能够继续使用旧的CRD,甚至使用它进行Percona XtraDB集群小版本升级。雷竞技下载官网但是推荐的方法是更新Operator而且CRD。
只支持增量更新到最接近的Operator版本(例如,从1.4.0更新到1.5.0)。若要更新到与当前版本相差不止一个的新版本,请按顺序进行几次增量更新。
手动升级¶
升级包括以下步骤。
更新自定义资源对于Operator,从Github的官方存储库中获取,并对基于角色的访问控制进行同样的操作:
$kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-xtradb-cluster-operator/v1.12.0/deploy/crd.yaml美元kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-xtradb-cluster-operator/v1.12.0/deploy/rbac.yaml现在你应该打补丁对于您的部署,使用更新的版本标记提供必要的映像名称。您可以为当前的Operator版本找到合适的映像名称在认证映像列表中(有关旧版本,请参阅旧版本文档存档).例如,更新到
1.12.0版本应该如下所示。$kubectl补丁部署雷竞技下载官网percona-xtradb-cluster-operator\- p”{“规范”:{“模板”:{"规范":{“容器”:[{“名称”:“percona-xtradb-clust雷竞技下载官网er-operator”,“图像”:“percona / percona-xtradb-cluster-operator: 1.12.0”}]}}}}”部署滚出将由应用的补丁自动触发。控件可以实时跟踪推出过程
Kubectl rollout状态使用集群名称命令:$kubectl推出状态部署雷竞技下载官网percona-xtradb-cluster-operator请注意
升级过程中,操作舱上设置的标签不会更新。
通过头盔升级¶
如果你有使用头盔安装操作员,则可以使用执掌升级命令。
如果你安装了Operator没有自定义参数时,可按如下步骤进行升级:
$舵升级my-op雷竞技下载官网percona / pxc-operator——版本1.12.0的
my-op参数的名称释放对象您在安装舵图时为操作员选择的。如果操作者安装了一些自定义参数,您应该在升级命令中列出这些选项。
请注意
方法可以获得YAML格式的已使用选项列表
Helm get values my-op -a > my-values.yaml命令,该文件可以直接传递给升级命令,如下所示:$舵升级my-op雷竞技下载官网percona / pxc-operator——版本1.12.0- fmy-values.yaml更新自定义资源对于Operator,从Github的官方存储库中获取,并对基于角色的访问控制进行同样的操作:
$kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-xtradb-cluster-operator/v1.12.0/deploy/crd.yaml美元kubectl应用- fhttps://raw.githubusercontent.com/雷竞技下载官网percona/percona-xtradb-cluster-operator/v1.12.0/deploy/rbac.yaml
请注意
你可以使用执掌升级仅升级操作符。数据库管理系统(Percona XtraDB集群)应该以相同的方雷竞技下载官网式升级,无论您是否使用helm安装它。
升级Percona 雷竞技下载官网XtraDB集群¶
下一节假设您正在升级集群智能更新策略,当Operator控制对象如何更新时。时启用智能更新策略updateStrategy输入自定义资源配置文件设置为智能更新(这是默认值,也是升级的推荐方式)。
请注意
作为一种替代方法updateStrategyKey可设置为RollingUpdate而且OnDelete.你可以在适当的节.
手动升级¶
手动更新Percona XtraD雷竞技下载官网B Cluster可以这样做:
确保
spec.updateStrategy选项中的自定义资源设置为智能更新,spec.upgradeOptions.apply选项设置为从来没有或禁用(这意味着运营商将不会自动进行升级)。...规范:updateStrategy:智能更新upgradeOptions:应用:禁用...现在打补丁到您的自定义资源,设置必要的自定义资源版本和映像名称与较新的版本标签。
请注意
检查您在Kubernetes环境中使用的Operator版本。详情请参阅操作员升级指南升级操作员和CRD(如有需要)。
自定义资源补丁是使用
Kubectl补丁PXC命令。可以找到实际的映像名称在认证映像列表中(有关旧版本,请参阅旧版本文档存档).例如,更新cluster1集群到1.12.0版本应该如下所示:$kubectl补丁pxccluster1——类型=合并——补丁”{"规范":{:“crVersion 1.12.0”,"pxc":{"image": "p雷竞技下载官网ercona/percona-xtradb-cluster:8.0.29-21.1"},"proxysql": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-proxysql"},"haproxy": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-haproxy"},"backup": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-pxc8.0-backup"},"logcollector": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-logcollector"},"pmm": {"image": "p雷竞技下载官网ercona/pmm-client:2.32.0"}}}’$kubectl补丁pxccluster1——类型=合并——补丁”{"规范":{:“crVersion 1.12.0”,"pxc":{"image": "p雷竞技下载官网ercona/percona-xtradb-cluster:5.7.39-31.61"},"proxysql": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-proxysql"},"haproxy": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-haproxy"},"backup": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-pxc5.7-backup"}"logcollector": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-logcollector"},"pmm": {"image": "p雷竞技下载官网ercona/pmm-client:2.32.0"}}}’警告
上面的命令升级了集群的各个组件,包括PMM Client。它是强烈推荐升级PMM服务器之前升级PMM客户端。如果没有这样做,你想避免PMM客户端升级,从镜像列表中删除它,减少两个补丁命令的最后一个,如下所示:
$kubectl补丁pxccluster1——类型=合并——补丁”{"规范":{:“crVersion 1.12.0”,"pxc":{"image": "p雷竞技下载官网ercona/percona-xtradb-cluster:8.0.29-21.1"},"proxysql": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-proxysql"},"haproxy": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-haproxy"},"backup": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-pxc8.0-backup"},"logcollector": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-logcollector"}}}’$kubectl补丁pxccluster1——类型=合并——补丁”{"规范":{:“crVersion 1.12.0”,"pxc":{"image": "p雷竞技下载官网ercona/percona-xtradb-cluster:5.7.39-31.61"},"proxysql": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-proxysql"},"haproxy": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-haproxy"},"backup": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-pxc5.7-backup"}"logcollector": {"image": "p雷竞技下载官网ercona/percona-xtradb-cluster-operator:1.12.0-logcollector"}}}’部署滚出将由应用的补丁自动触发。控件可以实时跟踪推出过程
Kubectl rollout状态使用集群名称命令:$ kubectl rollout status STS cluster1-pxc
自动升级¶
智能更新策略允许您更多地自动化升级。在这种情况下,操作员可以检测新的Percona XtraDB集群版本的可用性,或者依赖于用户对版本的选择。雷竞技下载官网为了检查新版本的可用性,操作员将查询一个特殊的服务版本管理服务器,以获取有关版本号和有效映像路径的最新信息。
如果当前版本需要升级,操作员将更新自定义资源以反映新的映像路径,并进行连续的Pods删除,允许StatefulSet使用新映像重新部署集群Pods。配置Percona XtraDB集群雷竞技下载官网升级部署/ cr.yaml配置文件如下:
确保
spec.updateStrategy选项设置为智能更新.改变
spec.crVersion选项以匹配自定义资源定义升级的版本你已经做到了同时升级Operator:...规范:crVersion:1.12.0...请注意
如果不更新crVersion,则只会进行小版本升级。例如,图像
雷竞技下载官网percona-xtradb-cluster: 8.0.25-15.1可升级为雷竞技下载官网percona-xtradb-cluster: 8.0.27-18.1.改变
upgradeOptions.apply选择从禁用转换为以下值之一:推荐-计划升级将选择标记为“推荐”的最新版本的软件(对于从头创建的集群,无论镜像路径如何,将选择Percona XtraDB Cluster 8.0版本,而不是Percona XtraDB Cluster 5.7版本;雷竞技下载官网对于已经存在的集群,8.0和5.7的分支选择将被保留),8.0推荐,5.7推荐-和上面一样,但是保留了特定的主要Percona XtraDB集群版本用于新提供的集群(例如雷竞技下载官网8.0将不会自动使用而不是5.7)。最新的-自动升级将选择最新版本的可用软件,8.0最新,5.7最新-和上面一样,但是保留了特定的主要Percona XtraDB集群版本用于新提供的集群(例如雷竞技下载官网8.0将不会自动使用而不是5.7)。版本号-显式指定所需的版本(版本号指定为
8.0.29-21.1,5.7.39-31.61等)。可以找到实际版本在认证映像列表中(有关旧版本,请参阅旧版本文档存档).
确保
upgradeOptions.versionServiceEndpointkey被设置为有效的版本服务器URL(否则将不会发生升级)。您可以使用官方Percona版本服务的URL(默认)。雷竞技下载官网集
upgradeOptions.versionServiceEndpoint来https://check.雷竞技下载官网percona.com.或者,您也可以在集群中运行版本服务。这可以用
kubectl命令如下:$kubectl运行服务版本管理——图片=雷竞技下载官网perconalab /服务版本管理- - - env=“SERVE_HTTP = true”——港口11000——暴露请注意
中的自动更新被禁用时,则永远不会检查版本服务
upgradeOptions.apply选择。如果启用了自动更新,但无法到达版本服务URL,则不会执行任何更新。使用
upgradeOptions.schedule选项以CRON格式指定更新检查时间。下面的例子设置了Percona官方版本服务的午夜更新检查:雷竞技下载官网
规范:updateStrategy:智能更新upgradeOptions:应用:推荐versionServiceEndpoint:https://check.雷竞技下载官网percona.com时间表:“00***”...请注意
您可以通过将计划更改为来强制立即升级
* * * * *(不断检查和升级),并在升级完成后将其更改回另一个更保守的计划。不要忘记以通常的方式将您的更改应用到自定义资源:
$kubectl应用- f部署/ cr.yaml
更多升级策略¶
升级集群的推荐方法是使用智能更新策略,当Operator控制对象如何更新时。时启用智能更新策略updateStrategy输入自定义资源配置文件设置为智能更新(这是默认值,也是升级的推荐方式)。
您也可以将该键设置为RollingUpdate或OnDelete,这意味着你必须遵循Kubernetes的低级数据库升级方式.但是要考虑到智能更新战略不仅仅是为了简化升级。在打开时,它允许禁用自动升级,并且仍然控制以适当的顺序重新启动Pods以处理由其他事件触发的更改,例如更新ConfigMap、旋转密码或更改资源值。这就是为什么智能更新即使你根本没有自动化升级的计划,策略也是有用的。