8.2.4. 使用 Ansible 部署的现有版本升级


8.2.4.1. 在 Openshift 节点升级 Heketi

必须在客户端计算机上执行以下命令。

  1. 执行以下命令来更新 heketi 客户端:

    # yum update heketi-client -y
    Copy to Clipboard Toggle word wrap
  2. 备份 Heketi 数据库文件:

    # heketi-cli db dump > heketi-db-dump-$(date -I).json
    Copy to Clipboard Toggle word wrap
  3. 执行以下命令以获取当前的 HEKETI_ADMIN_KEY:

    OCS 管理员可以选择为用户密钥设置任何短语,只要其基础架构不使用它。它没有被任何 OCS 默认安装的资源使用。

    oc get secret heketi-storage-admin-secret -o jsonpath='{.data.key}'|base64 -d;echo
    Copy to Clipboard Toggle word wrap
  4. 如果之前设置了 HEKETI_USER_KEY,您可以使用以下命令获取它:

     # oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"
    Copy to Clipboard Toggle word wrap
  5. 如果前面通过以下命令设置,可以获取 HEKETI_USER_KEY。

     # oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"
    Copy to Clipboard Toggle word wrap
  6. 如果之前设置了 HEKETI_USER_KEY,您可以使用以下命令获取它:

     #  oc describe pod <heketi-pod> |grep "HEKETI_USER_KEY"
    Copy to Clipboard Toggle word wrap
  7. 执行以下命令来删除 heketi 模板。

     # oc delete templates heketi
    Copy to Clipboard Toggle word wrap
  8. 执行以下命令来安装 heketi 模板。

    # oc create -f /usr/share/ansible/openshift-ansible/roles/openshift_storage_glusterfs/files/heketi-template.yml
    template "heketi" created
    Copy to Clipboard Toggle word wrap
  9. 执行以下步骤编辑模板:

    # oc get templates
      	NAME			                 DESCRIPTION		           PARAMETERS		OBJECTS
      	glusterblock-provisioner   glusterblock provisioner              3 (2 blank)     	4
      				  template
      	glusterfs		              GlusterFS DaemonSet 	            5 (1 blank)     	1
      				  template
      	heketi			              Heketi service deployment         7 (3 blank)     	3
    template
    Copy to Clipboard Toggle word wrap

    如果模板有 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 命令。在独立模式中,不需要设置打包程序,将改为空字符串,如下所示。

    # oc edit template heketi
    parameters:
    - description: Set secret for those creating volumes as type user
      displayName: Heketi User Secret
      name: HEKETI_USER_KEY
      value: <heketiuserkey>
    - description: Set secret for administration of the Heketi service as user admin
      displayName: Heketi Administrator Secret
      name: HEKETI_ADMIN_KEY
      value: <adminkey>
    - description: Set the executor type, kubernetes or ssh
      displayName: heketi executor type
      name: HEKETI_EXECUTOR
      value: ssh
    - description: Set the fstab path, file that is populated with bricks that heketi creates
      displayName: heketi fstab path
      name: HEKETI_FSTAB
      value: /etc/fstab
    - description: Set the hostname for the route URL
      displayName: heketi route name
      name: HEKETI_ROUTE
      value: heketi-storage
    - displayName: heketi container image name
      name: IMAGE_NAME
      required: true
      value: registry.redhat.io/rhgs3/rhgs-volmanager-rhel7
    - displayName: heketi container image version
      name: IMAGE_VERSION
      required: true
      value: v3.11.8
    - description: A unique name to identify this heketi service, useful for running multiple heketi instances
      displayName: GlusterFS cluster name
      name: CLUSTER_NAME
      value: storage
    - description: Heketi can use a wrapper to execute LVM commands, i.e. run commands in the host namespace instead of in the Gluster container.
      name: HEKETI_LVM_WRAPPER
      displayName: Wrapper for executing LVM commands
      value: ""
    Copy to Clipboard Toggle word wrap

    如果模板只有 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

parameters:
  - description: Set secret for those creating volumes as type user
    displayName: Heketi User Secret
    name: HEKETI_USER_KEY
    value: <heketiuserkey>
  - description: Set secret for administration of the Heketi service as user admin
    displayName: Heketi Administrator Secret
    name: HEKETI_ADMIN_KEY
    value: <adminkey>
  - description: Set the executor type, kubernetes or ssh
    displayName: heketi executor type
    name: HEKETI_EXECUTOR
    value: ssh
  - description: Set the fstab path, file that is populated with bricks that heketi creates
    displayName: heketi fstab path
    name: HEKETI_FSTAB
    value: /etc/fstab
  - description: Set the hostname for the route URL
    displayName: heketi route name
    name: HEKETI_ROUTE
    value: heketi-storage
  - displayName: heketi container image name
    name: IMAGE_NAME
    required: true
    value: registry.redhat.io/rhgs3/rhgs-volmanager-rhel7:v3.11.7
  - description: A unique name to identify this heketi service, useful for running multiple heketi instances
    displayName: GlusterFS cluster name
    name: CLUSTER_NAME
    value: storage
  - description: Heketi can use a wrapper to execute LVM commands, i.e. run commands in the host namespace instead of in the Gluster container
    name: HEKETI_LVM_WRAPPER
    displayName: Wrapper for executing LVM commands
    value: ""
Copy to Clipboard Toggle word wrap
注意

如果集群有超过 1000 个卷,请参阅 如何更改 Openshift Container Storage 的默认 PVS 限制 ,并在进行升级前添加必要的参数。

  1. 执行以下命令删除 heketi 的部署配置、服务和路由:

    # oc delete deploymentconfig,service,route heketi-storage
    Copy to Clipboard Toggle word wrap
  2. 执行以下命令来部署用于为 OpenShift 创建持久性卷的 Heketi 服务、路由和 deploymentconfig:

    # oc process heketi | oc create -f -
    service "heketi" created
    route "heketi" created
    deploymentconfig "heketi" created
    Copy to Clipboard Toggle word wrap
    注意

    建议为数据库工作负载调整 heketidbstorage 卷。新安装的 Openshift Container Storage 部署会自动调整 heketidbstorage 卷。对于旧的部署,请按照 KCS 文章 规划在 Openshift Container Storage 上运行容器化 DB 或 nosql 工作负载? 并为卷 heketidbstorage 执行卷设置操作。

  3. 执行以下命令来验证容器是否正在运行:

    # oc get pods
    Copy to Clipboard Toggle word wrap

    例如:

    # 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          8d
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat