OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
8.2.4. 使用 Ansible 部署的现有版本升级
8.2.4.1. 在 Openshift 节点升级 Heketi 复制链接链接已复制到粘贴板!
必须在客户端计算机上执行以下命令。
执行以下命令来更新 heketi 客户端:
yum update heketi-client -y
# yum update heketi-client -yCopy to Clipboard Copied! Toggle word wrap Toggle overflow 备份 Heketi 数据库文件:
heketi-cli db dump > heketi-db-dump-$(date -I).json
# heketi-cli db dump > heketi-db-dump-$(date -I).jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 执行以下命令以获取当前的 HEKETI_ADMIN_KEY:
OCS 管理员可以选择为用户密钥设置任何短语,只要其基础架构不使用它。它没有被任何 OCS 默认安装的资源使用。
oc get secret heketi-storage-admin-secret -o jsonpath='{.data.key}'|base64 -d;echooc get secret heketi-storage-admin-secret -o jsonpath='{.data.key}'|base64 -d;echoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果之前设置了 HEKETI_USER_KEY,您可以使用以下命令获取它:
oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"
# oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果前面通过以下命令设置,可以获取 HEKETI_USER_KEY。
oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"
# oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果之前设置了 HEKETI_USER_KEY,您可以使用以下命令获取它:
oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"
# oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 执行以下命令来删除 heketi 模板。
oc delete templates heketi
# oc delete templates heketiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 执行以下命令来安装 heketi 模板。
oc create -f /usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/files/heketi-template.yml
# oc create -f /usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/files/heketi-template.yml template "heketi" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 执行以下步骤编辑模板:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果模板有 IMAGE_NAME 和 IMAGE_VERSION 作为两个参数,编辑模板,将 HEKETI_USER_KEY, HEKETI_ADMIN_KEY, HEKETI_EXECUTOR, HEKETI_FSTAB, HEKETI_ROUTE, IMAGE_NAME, IMAGE_VERSION ,CLUSTER_NAME 和 HEKETI_LVM_WRAPPER 改为下面示例中显示的内容。
注意HEKETI_LVM_WRAPPER 参数的值指向 LVM 的 wrapper 命令。在独立模式中,不需要设置打包程序,将值改为空字符串,如下所示。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果模板只有 IMAGE_NAME,则编辑模板以更改 HEKETI_USER_KEY、HEKETI_ADMIN_KEY、HEKETI_EXECUTOR、HEKETI_FSTAB、HEKETI_ROUTE、IMAGE_NAME、CLUSTER_NAME 和 HEKETI_LVM_ES_LRAPPER, HEKETI_FSTAB, HEKETI_ROUTE, CLUSTER_NAME, CLUSTER
如果集群有超过 1000 个卷,请参阅 如何更改 Openshift Container Storage 的默认 PVS 限制 ,并在进行升级前添加必要的参数。
执行以下命令删除 heketi 的部署配置、服务和路由:
oc delete deploymentconfig,service,route heketi-storage
# oc delete deploymentconfig,service,route heketi-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 执行以下命令来部署用于为 OpenShift 创建持久性卷的 Heketi 服务、路由和 deploymentconfig:
oc process heketi | oc create -f -
# oc process heketi | oc create -f - service "heketi" created route "heketi" created deploymentconfig "heketi" createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意建议为数据库工作负载调整
heketidbstorage卷。新安装的 Openshift Container Storage 部署会自动调整 heketidbstorage 卷。对于旧的部署,请按照 KCS 文章 规划在 Openshift Container Storage 上运行容器化 DB 或 nosql 工作负载? 并为卷heketidbstorage执行卷设置操作。执行以下命令来验证容器是否正在运行:
oc get pods
# oc get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc get pods
# oc get pods NAME READY STATUS RESTARTS AGE glusterblock-storage-provisioner-dc-1-ffgs5 1/1 Running 0 3m heketi-storage-4-9fnvz 2/2 Running 0 8dCopy to Clipboard Copied! Toggle word wrap Toggle overflow