Поделиться через


Ограничения Service Fabric

При развертывании кластера Service Fabric применяются ограничения, которые в случае неправильной конфигурации кластера могут привести к сбою во время развертывания Azure Resource Manager. В следующих разделах приведены общие сведения о распространенных проблемах конфигурации кластера и действия по их устранению.

Несоответствие устойчивости

Обзор

Значение устойчивости для типа узла Service Fabric определяется в двух разных разделах шаблона Azure Resource Manager. В разделе расширения масштабируемого набора виртуальных машин ресурса масштабируемого набора виртуальных машин и разделе типа узла ресурса кластера Service Fabric. Необходимо, чтобы значение устойчивости в этих разделах совпадало. В противном случае при развертывании ресурса произойдет сбой.

В следующем разделе приведен пример несоответствия устойчивости между параметром устойчивости расширения масштабируемого набора виртуальных машин и параметром устойчивости типа узла Service Fabric.

Параметр устойчивости масштабируемого набора виртуальных машин

{
  "extensions": [
    {
      "name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
      "properties": {
        "type": "ServiceFabricNode",
        "publisher": "Microsoft.Azure.ServiceFabric",
        "settings": {
          "durabilityLevel": "Silver",
        }
      }
    }
  ]
}

Параметр устойчивости типа узла Service Fabric

{
  "nodeTypes": [
    {
      "name": "[variables('vmNodeType0Name')]",
      "durabilityLevel": "Bronze",
      "isPrimary": true,
      "vmInstanceCount": "[parameters('nt0InstanceCount')]"
    }
  ]
}

Сообщения об ошибках

  • Virtual Machine Scale Set durability mismatch does not match the current Service Fabric Node Type durability level (Несоответствие устойчивости масштабируемого набора виртуальных машин не соответствует текущему уровню устойчивости типа узла Service Fabric).
  • Virtual Machine Scale Set durability does not match the target Service Fabric Node Type durability level (Устойчивость масштабируемого набора виртуальных машин не соответствует целевому уровню устойчивости типа узла Service Fabric).
  • Virtual Machine Scale Set durability does match the current Service Fabric durability level or the target Service Fabric Node Type durability level (Устойчивость масштабируемого набора виртуальных машин соответствует текущему уровню устойчивости Service Fabric или целевому уровню устойчивости типа узла Service Fabric).

Исправление

Чтобы устранить несоответствие устойчивости, о котором свидетельствует любое из указанных выше сообщений об ошибке, сделайте следующее:

  1. Обновите уровень устойчивости в разделе расширения масштабируемого набора виртуальных машин или типа узла Service Fabric шаблона Azure Resource Manager, чтобы убедиться, что значения совпадают.
  2. Повторно разверните шаблон Azure Resource Manager с обновленными значениями.

Удаление начального узла

Обзор

Кластер Service Fabric имеет свойство уровня надежности, которое используется для определения количества реплик системных служб, выполняемых в типе первичного узла кластера. Количество необходимых реплик определяет минимальное количество узлов, которые должны поддерживаться в типе первичного узла кластера. Если количество узлов в типе первичного узла будет ниже требуемого минимума для необходимого уровня надежности, кластер станет нестабильным.

Сообщения об ошибках

Seed node removal operation has been detected, and will be rejected (Операция удаления начального узла обнаружена и будет отклонена).

  • Эта операция приведет к тому, что в кластере останется такое количество потенциальных начальных узлов: {0}. Однако минимальное количество узлов {1}.
  • Удаление {0} из {1} начальных узлов приведет к ухудшению работоспособности кластера из-за потери кворума начального узла. Максимальное количество начальных узлов, которые можно удалить за раз: {2}.

Исправление

Убедитесь, что тип первичного узла имеет достаточное количество виртуальных машин, чтобы соответствовать уровню надежности, указанному в кластере. Вы не сможете удалить виртуальную машину, если из-за этого масштабируемый набор виртуальных машин будет иметь меньше минимального количества узлов для данного уровня надежности.

  • Если уровень надежности указан правильно, убедитесь, что в типе первичного узла имеется достаточное количество узлов, необходимых для уровня надежности.
  • Если уровень надежности неверный, инициируйте изменение ресурса Service Fabric, чтобы снизить уровень надежности перед выполнением любых операций масштабирования виртуальных машин, и дождитесь завершения операции.
  • Если уровень надежности имеет значение Bronze, выполните эти действия для корректного масштабирования кластера.

Следующие шаги