マルチノード クラスターを使用して 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 Edge Essentials を使用して Linux を準備する
このセクションでは、マルチノード クラスターを実行する場合に、AKS Edge Essentials を使用して Linux を準備する方法について説明します。
クラスター内の各ノードで、次のコマンドを使用して、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'
クラスター内の各ノードで、次を使用して、カーネルに必要な NVME over TCP モジュールをインストールします。
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
Note
サポートされている最小バージョンは 5.1 です。 現時点では、6.4 と 6.2 で既知の問題があります。
クラスター内の各ノードで、次のコマンドを使用してファイルの最大数を増やします。
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
次のコマンドを使用して、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 クラスター内の各ノードについて、次の手順を実行する必要があります。
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
次を使用して、カーネルに必要な NVME over TCP モジュールをインストールします。
sudo apt install linux-modules-extra-`uname -r`
Note
サポートされている最小バージョンは 5.1 です。 現時点では、6.4 と 6.2 で既知の問題があります。
次のコマンドを使用して、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
次のコマンドを使用して K3s を再起動します。
sudo systemctl restart k3s || sudo systemctl restart k3s-agent
他のプラットフォームを使用して Linux を準備する
使用可能なプラットフォーム オプションは、Microsoft が検証した運用環境に似た環境です。 これらのプラットフォームは、必ずしも Azure Arc 対応の Azure コンテナー ストレージが実行できる唯一の環境であるとは限りません。 Azure Arc 対応の Azure コンテナー ストレージは、Azure Arc 対応 Kubernetes システムの要件を満たす任意の Arc 対応 Kubernetes クラスター上で実行できます。 一覧にない環境で実行している場合は、インストールが成功する可能性を高めるためのいくつかの推奨事項を次に示します。
次のコマンドを実行して、ユーザー ウォッチとインスタンスの制限を増やします。
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
次のコマンドを実行して、カーネルに必要な NVME over TCP モジュールをインストールします。
sudo apt install linux-modules-extra-`uname -r`
次のコマンドを実行して、
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