Preparare Linux per i volumi Perimetrali usando un cluster a nodo singolo o a due nodi
Questo articolo descrive come preparare Linux usando un cluster a nodo singolo o a due nodi e presuppone che i prerequisiti siano stati soddisfatti.
Preparare Linux con il servizio Azure Kubernetes abilitato da Azure Arc
Questa sezione descrive come preparare Linux con il servizio Azure Kubernetes abilitato da Azure Arc se si esegue un cluster a nodo singolo o a due nodi.
Installare Open Service Mesh (OSM) usando il comando seguente:
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"
Preparare Linux con AKS Edge Essentials
Questa sezione descrive come preparare Linux con AKS Edge Essentials se si esegue un cluster a nodo singolo o a due nodi.
Perché Edge Essentials possa supportare le operazioni IoT di Azure e l’Archiviazione contenitori di Azure abilitata da Azure Arc, gli host Kubernetes devono essere modificati in modo da supportare una quantità maggiore di memoria. A questo stadio è anche possibile aumentare le allocazioni di vCPU e disco se si prevede di richiedere risorse aggiuntive per i propri utilizzi di Kubernetes.
Per iniziare, seguire la guida pratica fornita qui. La guida di avvio rapido usa la configurazione predefinita, che è consigliabile evitare.
Seguendo il Passaggio 1: parametri di configurazione di un singolo computer, si dispone di un file nella directory di lavoro denominata aksedge-config.json. Aprire il file nel Blocco note o in un altro editor di testo:
"SchemaVersion": "1.11", "Version": "1.0", "DeploymentType": "SingleMachineCluster", "Init": { "ServiceIPRangeSize": 0 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 4096, "DataSizeInGB": 10, } } ]
Aumentare
MemoryInMB
ad almeno 16384 eDataSizeInGB
a 40G. ImpostareServiceIPRangeSize
su 15. Se si prevede di eseguire molti POD, è possibile aumentare anche ilCpuCount
. Ad esempio:"Init": { "ServiceIPRangeSize": 15 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 16384, "DataSizeInGB": 40, } } ]
Continuare con i passaggi rimanenti, a partire dalla creazione di un singolo cluster di computer. Quindi, connettere il cluster Edge Essentials del servizio Azure Kubernetes ad Arc.
Verificare la presenza dell'archiviazione del provisioner di percorso locale e installarla se non è già presente. Controllare se la classe di archiviazione local-path è già disponibile nel nodo eseguendo il cmdlet seguente:
kubectl get StorageClass
Se la classe di archiviazione local-path non è disponibile, eseguire il comando seguente:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Nota
Le immagini Local-Path-Provisioner e Busybox non sono gestite da Microsoft e vengono estratte dal repository Rancher Labs. Local-Path-Provisioner e BusyBox sono disponibili solo come immagine del contenitore Linux.
Se tutto è configurato correttamente, verrà visualizzato l'output seguente:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 21h
Se si dispone di più dischi e si desidera reindirizzare il percorso, usare:
kubectl edit configmap -n kube-system local-path-config
Eseguire il comando seguente per determinare se
fs.inotify.max_user_instances
sia impostato su 1024:Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "sysctl fs.inotify.max_user_instances
Se dopo aver eseguito questo comando viene restituito meno di 1024, eseguire il comando seguente per aumentare il numero massimo di file:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
Installare Open Service Mesh (OSM) usando il comando seguente:
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"
Preparare Linux con Ubuntu
Questa sezione descrive come preparare Linux con Ubuntu se si esegue un cluster a nodo singolo o a due nodi.
Installare Open Service Mesh (OSM) usando il comando seguente:
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"
Eseguire il comando seguente per determinare se
fs.inotify.max_user_instances
sia impostato su 1024:sysctl fs.inotify.max_user_instances
Se dopo aver eseguito questo comando viene restituito meno di 1024, eseguire il comando seguente per aumentare il numero massimo di file e ricaricare le impostazioni sysctl:
echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Preparare Linux con altre piattaforme
Le opzioni della piattaforma disponibili sono ambienti simili alla produzione convalidati da Microsoft. Queste piattaforme non sono necessariamente gli unici ambienti in cui è possibile eseguire Archiviazione Azure Container abilitata da Azure Arc. Archiviazione di Azure Container abilitata da Azure Arc può essere eseguita in qualsiasi cluster Kubernetes abilitato per Arc che soddisfi i requisiti di sistema kubernetes abilitati per Azure Arc. Se si esegue in un ambiente non elencato, ecco alcuni suggerimenti per aumentare la probabilità di un'installazione riuscita:
Eseguire i comandi seguenti per aumentare i limiti di controllo e istanza dell'utente:
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
Eseguire i comandi seguenti per aumentare il limite del descrittore di file per ottenere prestazioni migliori:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Eseguire il comando seguente per installare il provisioner del percorso locale:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Passaggi successivi
Installare Archiviazione di Container Azure abilitata da Azure Arc