共用方式為


使用多節點叢集來準備 Linux

本文說明如何準備使用多節點叢集的 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"

kubectl patch meshconfig osm-mesh-config -n "arc-osm-system" -p '{"spec":{"featureFlags":{"enableWASMStats": false }, "traffic":{"outboundPortExclusionList":[443,2379,2380], "inboundPortExclusionList":[443,2379,2380]}}}' --type=merge

使用 AKS 邊緣程式集來準備 Linux

本節說明如何在執行多節點叢集時,使用 AKS 邊緣程式集來準備 Linux。

  1. 在叢集中的每個節點上,使用下列命令將 HugePages 的數目設定為 512:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo 512 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages'
    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo "vm.nr_hugepages=512" | sudo tee /etc/sysctl.d/99-hugepages.conf'
    
  2. 在叢集中的每個節點上,使用下列命令為您的核心安裝必要的 NVME over TCP 模組:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
    

    注意

    最低的支援版本為 5.1。 目前,6.4 和 6.2 有已知問題。

  3. 在叢集中的每個節點上,使用下列命令增加檔案數目上限:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  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"
    
    kubectl patch meshconfig osm-mesh-config -n "arc-osm-system" -p '{"spec":{"featureFlags":{"enableWASMStats": false }, "traffic":{"outboundPortExclusionList":[443,2379,2380], "inboundPortExclusionList":[443,2379,2380]}}}' --type=merge
    
  1. 使用下列內容,建立名為 config.json 的檔案:

    {
        "acstor.capacityProvisioner.tempDiskMountPoint": /var
    }
    

    注意

    安裝快取磁碟區 Arc 延伸模組時,稍後會參考此檔案的位置/路徑。

使用 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
kubectl patch meshconfig osm-mesh-config -n "arc-osm-system" -p '{"spec":{"featureFlags":{"enableWASMStats": false }, "traffic":{"outboundPortExclusionList":[443,2379,2380], "inboundPortExclusionList":[443,2379,2380]}}}' --type=merge

然後,在 Kubernetes 叢集中執行下列步驟:

重要

您必須針對 Kubernetes 叢集中的每個節點完成下列步驟。

  1. 執行下列命令,確定是否已將 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
    
  2. 使用下列命令為您的核心安裝必要的 NVME over TCP 模組:

    sudo apt install linux-modules-extra-`uname -r`
    

    注意

    最低的支援版本為 5.1。 目前,6.4 和 6.2 有已知問題。

  3. 使用下列命令將 HugePages 的數目設定為 512:

    HUGEPAGES_NR=512
    echo $HUGEPAGES_NR | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
    echo "vm.nr_hugepages=$HUGEPAGES_NR" | sudo tee /etc/sysctl.d/99-hugepages.conf
    
  4. 使用下列命令重新啟動 K3s:

    sudo systemctl restart k3s || sudo systemctl restart k3s-agent
    

下一步

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