你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用单节点或 2 节点群集为边缘卷准备 Linux
本文介绍如何使用单节点或 2 节点群集准备 Linux,并假设你已满足先决条件。
使用 Azure Arc 启用的 AKS 准备 Linux
本部分介绍如何在运行单节点或 2 节点群集的情况下使用 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
本部分介绍如何在运行单节点或 2 节点群集的情况下使用 AKS 边缘软件包准备 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"
使用以下命令安装 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
本部分介绍如何在运行单节点或 2 节点群集的情况下使用 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 容器存储的唯一环境。 在任何已启用 Arc 的 Kubernetes 群集上,只要其满足已启用 Azure 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