你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何使用单节点或 2 节点群集准备 Linux,并假设你已满足先决条件。
使用 Azure Arc 启用的 AKS 准备 Linux
如果在已启用 Azure Arc 的 AKS 的 Linux 上运行单节点群集或双节点群集,则无需执行任何其他步骤。
使用 AKS 边缘软件包准备 Linux
本节介绍在运行单节点或双节点群集时,如何利用 AKS Edge Essentials 来准备 Linux。
若要使边缘软件包支持 Azure Arc 启用的 Azure IoT 操作和 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。
检查并安装 Local Path Provisioner 存储(如果尚未安装)。 运行以下 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"
使用 Ubuntu 准备 Linux
本部分介绍如何在运行单节点或 2 节点群集的情况下使用 Ubuntu 准备 Linux。
运行以下命令,确定是否将
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
可用的平台选项是微软已经验证的模拟生产环境。 这些平台不一定是能够运行 Azure Arc 启用的 Azure 容器存储的唯一环境。 在任何满足已启用 Azure Arc 的 Kubernetes 系统要求的已启用 Arc 的 Kubernetes 群集上,Azure Arc 启用的 Azure 容器存储都可以运行。 如果在未列出的环境中运行,下面是一些建议,可增加成功安装的可能性:
运行以下命令以增加用户监视和实例限制:
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