共用方式為


使用單一節點或雙節點叢集準備適用於 Edge 磁碟區的 Linux

本文說明如何使用單一節點或雙節點叢集來準備 Linux,並假設您已符合必要條件

使用由 Azure Arc 啟用的 AKS 準備 Linux

本節說明如果您執行單一節點或雙節點叢集,如何使用 Azure Arc 啟用的 AKS 來準備 Linux。

  1. 使用下列命令,安裝 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。

  1. 若要讓邊緣程式集支援 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

  2. 檢查並安裝本機路徑佈建器儲存體 (如果尚未安裝)。 執行下列 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-ProvisionerBusybox 映像不是由 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
    
  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 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。

  1. 使用下列命令,安裝 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"
    
  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
    

準備使用其他平臺的Linux

可用的平台選項是Microsoft驗證的生產環境。 這些平臺不一定是 Azure Arc 啟用 Azure Container Storage 的唯一環境。 由 Azure Arc 啟用的 Azure Container Storage 可以在任何已啟用 Arc 的 Kubernetes 叢集上執行,以符合已啟用 Azure Arc 的 Kubernetes 系統需求。 如果您在未列出的環境上執行,以下是增加成功安裝的可能性的一些建議:

  1. 執行下列命令來增加使用者監看和實例限制:

    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
    
  2. 執行下列命令來增加檔案描述元限制,以提升效能:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. 執行下列命令以安裝本機路徑布建器:

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

下一步

安裝由 Azure Arc 啟用的 Azure 容器儲存體