使用單一節點或雙節點叢集準備適用於 Edge 磁碟區的 Linux
本文說明如何使用單一節點或雙節點叢集來準備 Linux,並假設您已符合必要條件。
使用由 Azure Arc 啟用的 AKS 準備 Linux
本節說明如果您執行單一節點或雙節點叢集,如何使用 Azure Arc 啟用的 AKS 來準備 Linux。
使用下列命令,安裝 Open Service Mesh (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"
使用 AKS 邊緣程式集準備 Linux
本節說明如果您執行單一節點或雙節點叢集,如何使用 AKS 邊緣程式集來準備 Linux。
若要讓邊緣程式集支援 Azure IoT 操作和 Azure Arc 啟用的 Azure 容器儲存體,必須修改 Kubernetes 主機以支援更多記憶體。 如果您預期 Kubernetes 必須使用其他資源,則此時還必須增加 vCPU 和磁碟配置。
請從遵循這裡的操作指南開始。 快速入門會使用預設設定,因此應避免使用。
遵循步驟 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 邊緣程式集叢集連接到 Arc。
檢查並安裝本機路徑佈建器儲存體 (如果尚未安裝)。 執行下列 Cmdlet,檢查是否已經可以在您的節點上使用本機路徑儲存體類別:
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 映像不是由 Microsoft 維護,必須從 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 Mesh (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"
使用 Ubuntu 準備 Linux
本節說明如果您執行單一節點或雙節點叢集,如何使用 Ubuntu 來準備 Linux。
使用下列命令,安裝 Open Service Mesh (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
可用的平台選項是Microsoft驗證的生產環境。 這些平臺不一定是 Azure Arc 啟用 Azure Container Storage 的唯一環境。 由 Azure Arc 啟用的 Azure Container Storage 可以在任何已啟用 Arc 的 Kubernetes 叢集上執行,以符合已啟用 Azure Arc 的 Kubernetes 系統需求。 如果您在未列出的環境上執行,以下是增加成功安裝的可能性的一些建議:
執行下列命令來增加使用者監看和實例限制:
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