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


Подготовка Linux к томам кэша с помощью одноузлового или 2-узла

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

Подготовка Linux с поддержкой AKS с помощью Azure Arc

В этом разделе описывается, как подготовить Linux с поддержкой AKS с помощью Azure Arc при запуске кластера с одним узлом или 2-узлом.

  1. Установите сетку Open Service (OSM) с помощью следующих команд:

    az k8s-extension create --resource-group "YOUR_RESOURCE_GROUP_NAME" --cluster-name "YOUR_CLUSTER_NAME" --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm \
    --config "osm.osm.featureFlags.enableWASMStats=false" \
    --config "osm.osm.enablePermissiveTrafficPolicy=false" \
    --config "osm.osm.configResyncInterval=10s" \
    --config "osm.osm.osmController.resource.requests.cpu=100m" \
    --config "osm.osm.osmBootstrap.resource.requests.cpu=100m" \
    --config "osm.osm.injector.resource.requests.cpu=100m"
    
  2. Отключите ACStor , создав файл с именем config.json со следующим содержимым:

    {
      "feature.diskStorageClass": "default",
      "acstorController.enabled": false
    }
    

Подготовка Linux с помощью AKS Edge Essentials

В этом разделе описывается, как подготовить Linux с помощью AKS Edge Essentials при запуске кластера с одним узлом или двумя узлами.

  1. Для поддержки операций Интернета вещей Azure и хранилища контейнеров Azure, включенных Azure Arc, узлы Kubernetes должны быть изменены для поддержки большей памяти. Вы также можете увеличить выделение виртуальных ЦП и дисков в это время, если вы ожидаете, что требуются дополнительные ресурсы для использования Kubernetes.

    Начните с руководства по использованию здесь. В кратком руководстве используется конфигурация по умолчанию и ее следует избежать.

    На следующем шаге 1. Параметры конфигурации одного компьютера есть файл в рабочем каталоге с именем aksedge-config.json. Откройте этот файл в Блокноте или другом текстовом редакторе:

    "SchemaVersion": "1.11",
    "Version": "1.0",
    "DeploymentType": "SingleMachineCluster",
    "Init": {
        "ServiceIPRangeSize": 0
    },
    "Machines": [
    {
        "LinuxNode": {
            "CpuCount": 4,
            "MemoryInMB": 4096,
            "DataSizeInGB": 10,
        }
    }
    ]
    

    Увеличьте MemoryInMB по крайней мере до 16384 и DataSizeInGB до 40G. Для параметра ServiceIPRangeSize задайте значение 15. Если вы планируете запустить много POD, вы также можете увеличить его CpuCount . Например:

    "Init": {
        "ServiceIPRangeSize": 15
       },
    "Machines": [
    {
        "LinuxNode": {
            "CpuCount": 4,
            "MemoryInMB": 16384,
            "DataSizeInGB": 40,
        }
    }
    ]
    

    Продолжайте оставшиеся шаги, начиная с создания одного кластера компьютера. Затем подключите кластер AKS Edge Essentials к Arc.

  2. Проверьте и установите хранилище подготовки локальных путей, если оно еще не установлено. Проверьте, доступен ли класс хранилища локального пути на узле, выполнив следующий командлет:

    kubectl get StorageClass
    

    Если класс хранилища локального пути недоступен, выполните следующую команду:

    kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
    

    Примечание.

    Образы Local-Path-Provisioner и Busybox не поддерживаются корпорацией Майкрософт и извлекаются из репозитория Rancher Labs. Local-Path-Provisioner и BusyBox доступны только как образ контейнера Linux.

    Если все настроено правильно, вы увидите следующие выходные данные:

    NAME                   PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    local-path (default)   rancher.io/local-path   Delete          WaitForFirstConsumer   false                  21h
    

    Если у вас несколько дисков и вы хотите перенаправить путь, используйте следующую команду:

    kubectl edit configmap -n kube-system local-path-config
    
  3. Выполните следующую команду, чтобы определить, задано ли значение fs.inotify.max_user_instances 1024:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "sysctl fs.inotify.max_user_instances
    

    После выполнения этой команды, если она выводит менее 1024, выполните следующую команду, чтобы увеличить максимальное количество файлов:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
    
  4. Установите сетку Open Service (OSM) с помощью следующей команды:

    az k8s-extension create --resource-group "YOUR_RESOURCE_GROUP_NAME" --cluster-name "YOUR_CLUSTER_NAME" --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm \
    --config "osm.osm.featureFlags.enableWASMStats=false" \
    --config "osm.osm.enablePermissiveTrafficPolicy=false" \
    --config "osm.osm.configResyncInterval=10s" \
    --config "osm.osm.osmController.resource.requests.cpu=100m" \
    --config "osm.osm.osmBootstrap.resource.requests.cpu=100m" \
    --config "osm.osm.injector.resource.requests.cpu=100m"
    
  1. Отключите ACStor , создав файл с именем config.json со следующим содержимым:

    {
      "acstorController.enabled": false,
      "feature.diskStorageClass": "local-path"
    }
    

Подготовка Linux с помощью Ubuntu

В этом разделе описывается, как подготовить Linux к Ubuntu при запуске кластера с одним узлом или двумя узлами.

  1. Установите сетку Open Service (OSM) с помощью следующей команды:

    az k8s-extension create --resource-group "YOUR_RESOURCE_GROUP_NAME" --cluster-name "YOUR_CLUSTER_NAME" --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm \
    --config "osm.osm.featureFlags.enableWASMStats=false" \
    --config "osm.osm.enablePermissiveTrafficPolicy=false" \
    --config "osm.osm.configResyncInterval=10s" \
    --config "osm.osm.osmController.resource.requests.cpu=100m" \
    --config "osm.osm.osmBootstrap.resource.requests.cpu=100m" \
    --config "osm.osm.injector.resource.requests.cpu=100m"
    
  2. Выполните следующую команду, чтобы определить, задано ли значение fs.inotify.max_user_instances 1024:

    sysctl fs.inotify.max_user_instances
    

    После выполнения этой команды, если она выводит менее 1024, выполните следующую команду, чтобы увеличить максимальное количество файлов и перезагрузить параметры sysctl :

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  1. Отключите ACStor , создав файл с именем config.json со следующим содержимым:

    {
      "acstorController.enabled": false,
      "feature.diskStorageClass": "local-path"
    }
    

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

Установка хранилища контейнеров Azure с поддержкой Azure Arc