迁移到最新版本的 AlloyDB Omni Kubernetes operator

本页介绍了如何升级 AlloyDB Omni 运维方。在 Kubernetes 中升级 AlloyDB Omni 的步骤取决于您当前的 AlloyDB Omni 版本和要升级到的版本。

确定您的当前版本

如需检查数据库集群使用的 AlloyDB Omni 版本,请运行以下命令:

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'

进行以下替换:

  • DB_CLUSTER_NAME:您的数据库集群的名称。该名称与您在创建数据库集群时声明的名称相同。

  • NAMESPACE:数据库集群的 Kubernetes 命名空间。

如果您运行的是 AlloyDB Omni operator 1.0.0 或更高版本,则此命令会输出数据库集群使用的 AlloyDB Omni 版本。

如需检查 Kubernetes 集群上安装的 AlloyDB Omni 操作符的版本,请运行以下命令:

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'

如果您运行的是 AlloyDB Omni operator 1.0.0 或更高版本,则输出为在 Kubernetes 集群上运行的 AlloyDB Omni operator 的版本号。

如果您运行的 AlloyDB Omni operator 版本低于 1.0.0,请按照从 1.0.0 之前的 AlloyDB Omni operator 升级中的说明操作。否则,请继续检查目标版本号

检查您的目标版本号

如果您运行的是 AlloyDB Omni operator 1.0.0 或更高版本,则后续步骤取决于您要升级到的 AlloyDB Omni 版本。AlloyDB Omni 版本号包含以下组成部分:

  • 其 PostgreSQL 兼容性的主要版本号
  • 其 PostgreSQL 兼容性的次要版本号
  • 此 AlloyDB Omni 版本的补丁版本号

例如,AlloyDB Omni 版本 15.7.0 支持 PostgreSQL 版本 15.7,并且没有 AlloyDB Omni 版本补丁。

选择适用于目标版本的安装选项:

安装场景 更新步骤
您想升级到支持较新版本 PostgreSQL 的 AlloyDB Omni 版本。 升级 AlloyDB Omni operator 和数据库集群。 每组支持特定 PostgreSQL 次要版本的 AlloyDB Omni 版本都有自己的 AlloyDB Omni 运算符版本号,您可以在 AlloyDB Omni 版本的版本说明中找到该版本号。使用 AlloyDB Omni operator 版本兼容性表验证您的 AlloyDB Omni operator 版本是否与您的 operator 版本兼容。
您只想升级到较新的 AlloyDB Omni 补丁版本。 升级数据库集群。在升级之前,请查看 AlloyDB Omni operator 版本兼容性表版本说明,以确定您是否还需要更新 AlloyDB Omni operator。
所有其他场景 按照升级 AlloyDB Omni operator 中的步骤操作。

升级 AlloyDB Omni operator

如需升级 AlloyDB Omni 运算符,请按以下步骤操作:

  1. 定义环境变量:

    export GCS_BUCKET=alloydb-omni-operator
    export OPERATOR_VERSION=OPERATOR_VERSION
    export HELM_PATH=$OPERATOR_VERSION/alloydbomni-operator-$OPERATOR_VERSION.tgz

    OPERATOR_VERSION 替换为您要升级到的 AlloyDB Omni Operator 版本,例如 1.2.0

  2. 下载最新的 AlloyDB Omni operator:

    gsutil cp -r gs://$GCS_BUCKET/$HELM_PATH ./
    tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
  3. 应用最新的 AlloyDB Omni 运营商自定义资源定义:

    kubectl apply -f alloydbomni-operator/crds
  4. 升级 AlloyDB Omni 运算符 Helm 图表:

    helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
    --namespace alloydb-omni-system \
    --atomic \
    --timeout 5m

    如需更新 dbCluster,您需要更新清单文件中的 databaseVersioncontrolPlaneAgentsVersion 版本。以下是清单文件的一部分,其中指定了 databaseVersion 的版本为 15.7.0,controlPlaneAgentsVersion 的版本为 1.2.0:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
    name: DB_CLUSTER_NAME
    spec:
    databaseVersion: "15.7.0"
    controlPlaneAgentsVersion: "1.2.0"
    ...