Ошибка при настройке glusterfs на Kubernetes: том создать: heketidbstorage: сбой: хост не подключен - PullRequest
0 голосов
/ 25 декабря 2018

Я следую этой инструкции , чтобы настроить glusterfs на моем кластере kubernetes.На heketi-client/bin/heketi-cli setup-openshift-heketi-storage части heketi-cli сообщает мне:

Ошибка: создание тома: heketidbstorage: сбой: Хост 192.168.99.25 не подключен

или иногда:

Ошибка: создание тома: heketidbstorage: сбой: промежуточная ошибка 192.168.99.26.Ошибка: Хост 192.168.99.25 не подключен

heketi.json:

{
  "_port_comment": "Heketi Server Port Number",
  "port": "8080",

  "_use_auth": "Enable JWT authorization. Please enable for deployment",
  "use_auth": false,

  "_jwt": "Private keys for access",
  "jwt": {
    "_admin": "Admin has access to all APIs",
    "admin": {
      "key": "7319"
    },
    "_user": "User only has access to /volumes endpoint",
    "user": {
      "key": "7319"
    }
  },

  "_glusterfs_comment": "GlusterFS Configuration",
  "glusterfs": {
    "_executor_comment": "Execute plugin. Possible choices: mock, kubernetes, ssh",
    "executor": "kubernetes",

    "_db_comment": "Database file name",
    "db": "/var/lib/heketi/heketi.db",

    "kubeexec": {
      "rebalance_on_expansion": true
    },

    "sshexec": {
      "rebalance_on_expansion": true,
      "keyfile": "/etc/heketi/private_key",
      "fstab": "/etc/fstab",
      "port": "22",
      "user": "root",
      "sudo": false
    }
  },

  "_backup_db_to_kube_secret": "Backup the heketi database to a Kubernetes secret when running in Kubernetes. Default is off.",
  "backup_db_to_kube_secret": false
}

topology-sample.json:

{
  "clusters": [
    {
      "nodes": [
        {
          "node": {
            "hostnames": {
              "manage": [
                "redis-test25"
              ],
              "storage": [
                "192.168.99.25"
              ]
            },
            "zone": 1
          },
          "devices": [
            {
              "name": "/dev/sda7",
              "destroydata": true
            }
          ]
        },
        {
          "node": {
            "hostnames": {
              "manage": [
                "redis-test26"
              ],
              "storage": [
                "192.168.99.26"
              ]
            },
            "zone": 1
          },
          "devices": [
            {
              "name": "/dev/sda7",
              "destroydata": true
            }
          ]
        },
        {
          "node": {
            "hostnames": {
              "manage": [
                "redis-test01"
              ],
              "storage": [
                "192.168.99.113"
              ]
            },
            "zone": 1
          },
          "devices": [
            {
              "name": "/dev/sda7",
              "destroydata": true
            }
          ]
        }
      ]
    }
  ]
}

Heketi-cli isv8.0.0 и kubernetes v1.12.3

Как я могу решить эту проблему?


Обновление: только что обнаружил, что пропустил часть iptables, но теперь сообщение становится

Ошибка: создание тома: heketidbstorage: сбой: Хост 192.168.99.25 не находится в состоянии «Peer in Cluster»

кажется, что один из модулей glusterfs не может подключиться к другим, япробовал kubectl exec -i glusterfs-59ftx -- gluster peer status:

Number of Peers: 2

Hostname: 192.168.99.26
Uuid: 6950db9a-3d60-4625-b642-da5882396bee
State: Peer Rejected (Disconnected)

Hostname: 192.168.99.113
Uuid: 78983466-4499-48d2-8411-2c3e8c70f89f
State: Peer Rejected (Disconnected)

, а другой сказал:

Number of Peers: 1

Hostname: 192.168.99.26
Uuid: 23a0114d-65b8-42d6-8067-7efa014af68d
State: Peer in Cluster (Connected)

1 Ответ

0 голосов
/ 26 декабря 2018

Я решил эти проблемы самостоятельно.

Во-первых, причина в том, что я не настроил iptables в каждом узле в соответствии с Требованиями инфраструктуры .

Для второй части в соответствии с этой статьей , удалите все файлы в / var / lib / glusterd, кроме glusterd.info, а затем начните заново с Kubernete Deploy .

...