이 콘텐츠는 선택한 언어로 제공되지 않습니다.

A.3. Setting up the Heketi Server


After deploying the containers and installing the templates, the system is now ready to load the Heketi topology file. Heketi provides a RESTful management interface which can be used to manage the lifecycle of Red Hat Gluster Storage volumes.
A sample, formatted topology file (topology-sample.json) is installed with the ‘heketi-templates’ package in the /usr/share/heketi/ directory.
{
    "clusters": [
               {
                  "nodes": [
                                {
                        "node": {
                            "hostnames": {
                                "manage": [
                                    "node1.example.com"
                                ],
                                "storage": [
                                    "192.168.121.168"
                                 ]
                             },
                             "zone": 1
                         },
                         "devices": [
                             "/dev/sdb",
                             "/dev/sdc",
                             "/dev/sdd",
                             "/dev/sde"
                         ]
               },...
Copy to Clipboard Toggle word wrap
Edit the topology file based on the Red Hat Gluster Storage pod hostname under the node.hostnames.manage section and node.hostnames.storage section with the IP address. For simplicity, the /usr/share/heketi/topology-sample.json file only sets up 4 nodes with 8 drives each.

Important

Heketi stores its database on a Red Hat Gluster Storage volume. Heketi service does not respond if the volume is down.
To resolve this issue, restart the gluster pods hosting the Heketi volume.
Execute the following steps to set up the Heketi server:
  1. Execute the following command to check if the bootstrap container is running:
    # curl http://deploy-heketi-<project_name>.<sub-domain_name>/hello
    Copy to Clipboard Toggle word wrap
    For example:
    # curl http://deploy-heketi-storage-project.cloudapps.mystorage.com/hello
    
    Hello from Heketi
    Copy to Clipboard Toggle word wrap
  2. Execute the following command to load the topology file:
    # export  HEKETI_CLI_SERVER=http://deploy-heketi-<project_name>.<sub_domain_name>
    Copy to Clipboard Toggle word wrap
    For example:
    # export HEKETI_CLI_SERVER=http://deploy-heketi-storage-project.cloudapps.mystorage.com
    Copy to Clipboard Toggle word wrap
    # heketi-cli topology load --json=topology.json
    Copy to Clipboard Toggle word wrap
    For example:
    # heketi-cli topology load --json=topology.json
    
     Creating node node1.example.com ... ID: 95cefa174c7210bd53072073c9c041a3
            Adding device /dev/sdb ... OK
            Adding device /dev/sdc ... OK
            Adding device /dev/sdd ... OK
            Adding device /dev/sde ... OK
        Creating node node2.example.com ... ID: f9920995e580f0fe56fa269d3f3f8428
            Adding device /dev/sdb ... OK
            Adding device /dev/sdc ... OK
            Adding device /dev/sdd ... OK
            Adding device /dev/sde ... OK
        Creating node node3.example.com ... ID: 73fe4aa89ba35c51de4a51ecbf52544d
            Adding device /dev/sdb ... OK
            Adding device /dev/sdc ... OK
            Adding device /dev/sdd ... OK
            Adding device /dev/sde ... OK
    
    Copy to Clipboard Toggle word wrap
  3. Execute the following command to verify that the topology is loaded:
    # heketi-cli topology info
    Copy to Clipboard Toggle word wrap
  4. Execute the following command to create the Heketi storage volume which will store the database on a reliable Red Hat Gluster Storage volume:
    # heketi-cli setup-openshift-heketi-storage
    Copy to Clipboard Toggle word wrap
    For example:
    # heketi-cli setup-openshift-heketi-storage
    
    Saving heketi-storage.json
    Copy to Clipboard Toggle word wrap

    Note

    If the Trusted Storage Pool where the heketidbstorage volume is created is down, then the Heketi service will not work. Hence, you must ensure that the Trusted Storage Pool is up before running heketi-cli.
  5. Execute the following command to create a job which will copy the database from deploy-heketi bootstrap container to the volume.
    # oc create -f heketi-storage.json
    Copy to Clipboard Toggle word wrap
    For example:
    # oc create -f heketi-storage.json
    
    secret "heketi-storage-secret" created
    endpoints "heketi-storage-endpoints" created
    service "heketi-storage-endpoints" created
    job "heketi-storage-copy-job" created
    Copy to Clipboard Toggle word wrap
  6. Execute the following command to verify that the job has finished successfully:
    # oc get jobs
    Copy to Clipboard Toggle word wrap
    For example:
    # oc get jobs
    NAME                      DESIRED   SUCCESSFUL   AGE
    heketi-storage-copy-job   1            1               2m
    Copy to Clipboard Toggle word wrap
  7. Execute the following command to remove all resources used to bootstrap heketi:
    # oc delete all,job,template,secret --selector="deploy-heketi"
    Copy to Clipboard Toggle word wrap
    For example:
    # oc delete all,job,template,secret --selector="deploy-heketi"
    
    deploymentconfig "deploy-heketi" deleted
    route "deploy-heketi" deleted
    service "deploy-heketi" deleted
    pod "deploy-heketi-1-4k1fh" deleted
    job "heketi-storage-copy-job" deleted
    template "deploy-heketi" deleted
    
    Copy to Clipboard Toggle word wrap
  8. Execute the following command to deploy the Heketi service which will be used to create persistent volumes for OpenShift:
    # oc process heketi -v \
        HEKETI_KUBE_NAMESPACE=<Project name> \
        HEKETI_KUBE_APIHOST='<OpenShift master endpoint address>' \
        HEKETI_KUBE_INSECURE=y \
        HEKETI_KUBE_SECRETNAME=<heketi-service-account secret> | oc create -f -
    Copy to Clipboard Toggle word wrap
    For example:
    oc process heketi -v \
        HEKETI_KUBE_NAMESPACE=storage-project \
        HEKETI_KUBE_APIHOST='https://master.example.com:8443' \
        HEKETI_KUBE_INSECURE=y \
        HEKETI_KUBE_SECRETNAME=<secret from step 4 example> | oc create -f -
    
    
    service "heketi" created
    route "heketi" created
    deploymentconfig "heketi" created
    Copy to Clipboard Toggle word wrap
  9. Execute the following command to let the client communicate with the container:
    # export  HEKETI_CLI_SERVER=http://heketi-<project_name>.<sub_domain_name>
    Copy to Clipboard Toggle word wrap
    For example:
    # export  HEKETI_CLI_SERVER=http://heketi-storage-project.cloudapps.mystorage.com
    Copy to Clipboard Toggle word wrap
    # heketi-cli topology info
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat