Подготовка Linux для томов Edge с помощью кластера с одним узлом или двумя узлами
В этой статье описывается подготовка Linux с помощью кластера с одним узлом или двумя узлами и предполагается, что выполнены необходимые условия.
Подготовка Linux с поддержкой AKS с помощью Azure Arc
В этом разделе описывается, как подготовить Linux с поддержкой AKS в Azure Arc при запуске кластера с одним узлом или двумя узлами.
Установите сетку 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"
Подготовка Linux с помощью AKS Edge Essentials
В этом разделе описывается, как подготовить Linux с помощью AKS Edge Essentials при запуске кластера с одним узлом или двумя узлами.
Для поддержки операций Интернета вещей 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.
Проверьте и установите хранилище подготовки локальных путей, если оно еще не установлено. Проверьте, доступен ли класс хранилища локального пути на узле, выполнив следующий командлет:
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
Выполните следующую команду, чтобы определить, задано ли значение
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"
Установите сетку 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"
Подготовка Linux с помощью Ubuntu
В этом разделе описывается, как подготовить Linux к Ubuntu при запуске кластера с одним узлом или двумя узлами.
Установите сетку 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"
Выполните следующую команду, чтобы определить, задано ли значение
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
Подготовка Linux с другими платформами
Доступные варианты платформы — это рабочие среды, проверенные корпорацией Майкрософт. Эти платформы не обязательно являются единственными средами, в которых служба хранилища контейнеров Azure включена Azure Arc. Хранилище контейнеров Azure, включенное Azure Arc, может выполняться в любом кластере Kubernetes с поддержкой Arc, который соответствует требованиям к системе Kubernetes с поддержкой Azure Arc. Если вы работаете в среде, не указанной в списке, ниже приведены некоторые рекомендации по повышению вероятности успешной установки:
Выполните следующие команды, чтобы увеличить ограничения часов и экземпляров пользователей:
echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Выполните следующие команды, чтобы увеличить ограничение дескриптора файла для повышения производительности:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Выполните следующую команду, чтобы установить средство подготовки локального пути:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Следующие шаги
Установка хранилища контейнеров Azure с поддержкой Azure Arc