你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用多节点群集为边缘卷准备 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

使用 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
    

使用 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

然后,在 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
    

使用其他平台准备 Linux

可用的平台选项是 Microsoft 已经验证的类似于生产的环境。 这些平台不一定是能够运行 Azure Arc 启用的 Azure 容器存储的唯一环境。 在任何已启用 Arc 的 Kubernetes 群集上,只要其满足已启用 Azure Arc 的 Kubernetes 系统要求,就可以在其中运行 Azure Arc 启用的 Azure 容器存储。 如果在未列出的环境中运行,下面是一些建议,可增加成功安装的可能性:

  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. 运行以下命令,为内核安装所需的 NVME over TCP 模块

    sudo apt install linux-modules-extra-`uname -r`
    
  4. 运行以下命令,将 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
    

后续步骤

安装扩展