Important
AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。
Flex ノードは、Azure Kubernetes Service (AKS) クラスターを、クラスターの Azure マネージド ノード プールの外部で管理する Linux マシンに拡張します。 フレックス ノードを追加する前に、ホストがAzureに対して認証する方法、Kubernetes API サーバーに到達する方法、AKS と Flex ノード環境の間のネットワーク トラフィックの移動方法を選択します。
この記事では、これらの決定を行い、重複しないアドレス範囲を計画し、残りのデプロイ記事の共有環境ファイルを作成するのに役立ちます。
始める前の準備
- AKS の概要については、Flex ノードを確認してください。
- Flex ノードの ID とアクセスの概念を確認します。
- Flex ノードのネットワークの概念を確認します。
- 必要なツールとネットワーク アクセスを備える Linux 互換の Bash 環境を使用します。 このデプロイ シリーズでは、その環境を Bash 環境 と呼びます。 クラスターに参加する別個のマシンは 、フレックス ノード ホストです。
- Azure CLI をインストールします。 インストールされているバージョンを確認するには、
az --versionを実行します。 インストールまたはアップグレードするには、Azure CLI のインストールを参照してください。 - ターゲット サブスクリプションと仮想ネットワーク構成を読み取ることができるアカウントでAzureにサインインします。
- Azureマネージド AKS ノード用の既存のAzure仮想ネットワークとサブネットを準備します。 仮想ネットワークは、AKS クラスターとは異なるリソース グループ内に存在できます。 その場合は、AKS クラスター ID にサブネットに必要なアクセス許可があることを確認します。
デプロイの決定を行う
リソースを作成または構成する前に、次の決定事項を計画します。
| 意思決定 | オプション | 意思決定が制御するもの |
|---|---|---|
| ホスト ID | マネージド ID、Azure Arc マネージド ID、またはサービス プリンシパル | flex ノード エージェントがAzureに対して認証する方法 |
| AKS API アクセス | パブリックまたはプライベートの AKS クラスター | Bash 環境と Flex ノード ホストが Kubernetes API サーバーを解決して到達する方法 |
| Flex ノード接続 | レイヤー 3 接続または Unbounded-Net WireGuard ゲートウェイ | AKS で管理されるノード、フレックス ノード、ポッド、および Kubernetes サービスの通信方法 |
これらの決定は、デプロイのさまざまな部分に対処します。 たとえば、パブリック AKS API エンドポイントを選択しても、AKS マネージド ノードとフレックス ノード ホスト間のネットワーク接続は作成されません。
ホスト ID を選択する
flex ノードの ID とアクセスの概念の決定テーブルを使用して、フレックス ノード エージェントが使用するAzure ID を選択します。
ホスト ID は、Azure操作を承認します。 ホストがクラスターに参加する必要があるネットワーク接続または Kubernetes ブートストラップ構成は置き換わりません。 共有環境ファイルに資格情報を格納しないでください。
パブリックまたはプライベートの AKS API アクセスを選択する
Kubernetes API サーバーは、クラスターの管理エンドポイントです。 Bash 環境と各 Flex ノード ホストは、このエンドポイントを解決して接続できる必要があります。
- パブリック AKS API アクセス では、セキュリティで保護されたパブリック エンドポイントが使用されます。 Kubernetes の認証と承認によって、クラスターへのアクセスが引き続き制御されます。 パブリック API エンドポイントでは、クラスターで実行されているアプリケーションは公開されません。
-
プライベート AKS API アクセス では、AKS 仮想ネットワーク内のプライベート エンドポイントが使用されます。 Bash 環境でAzure CLI、
kubectl、クラスターのセットアップ コマンドを実行します。このコマンドは、そのプライベート ネットワークに接続されているコンピューターで実行する必要があります。 Flex ノード ネットワークは、クラスターのプライベート DNS 名を解決し、トラフィックをプライベート エンドポイントにルーティングできる必要もあります。
Flex ノードデプロイでは、API サーバーへのパブリック アクセスとプライベート アクセスの両方がサポートされます。 プライベート パスには、追加の DNS、ルーティング、およびコマンド実行構成が必要です。この構成は、適用される場所で呼び出されます。 一般的な AKS ガイダンスについては、AKS のコントロール プレーン ネットワークの計画、プライベート AKS クラスターの作成、プライベート AKS クラスターへの接続に関するページを参照してください。
フレックス ノード接続を選択する
このデプロイ シリーズでは、組み込みのネットワーク プラグインを使用せずに AKS クラスターを作成し、AKS マネージド ノードと flex ノードの両方に Unbounded-Net をインストールします。 Unbounded-Net は、ポッドのアドレス範囲を割り当て、AKS と flex ノード環境の間のルーティングを構成します。 この記事では、そのワークフローについて説明します。 その他の CNI またはネットワーク構成では、異なるルーティング、ファイアウォール、DNS、ゲートウェイ、セキュリティ、ライフサイクルの構成が必要になる場合があります。 パブリック プレビュー ネットワーク モデルの説明については、 Flex ノードのネットワークの概念を参照してください。
AKS と Flex ノード環境の間に基になるネットワーク接続を提供します。 レイヤー 3 接続とは、両方のノード ネットワークが、互いのノード アドレスに双方向で IP パケットを既にルーティングできることを意味します。 既存のネットワークに合った方法を選択します。
| 接続方法 | いつ使用するか |
|---|---|
| 仮想ネットワーク ピアリング | AKS クラスターと flex ノード ホストは、異なるリージョンの仮想ネットワークを含む、Azure仮想ネットワーク内にあります。 |
| VPN ゲートウェイ | Flex ノード ホストは、オンプレミス環境か、暗号化されたサイト間 VPN を介してAzureに接続する別のネットワーク内にあります。 |
| ExpressRoute | 組織は、そのネットワークとAzureの間の専用プライベート接続を使用します。 |
| Unbounded-Net WireGuard ゲートウェイ | AKS および Flex ノード ネットワークには、プライベート ルーティング接続がありません。 AKS ゲートウェイ ノード プールで WireGuard トンネルを構成して操作します。これらのゲートウェイ ノードにはパブリックにアクセスできる必要があります。 環境間の Pod トラフィックはこのプールに依存しているため、ゲートウェイの容量と可用性を考慮して計画してください。 Unbounded-Net WireGuard ラボを備えたパブリック AKS クラスターをご覧ください。 |
Microsoft Learn チュートリアルでは、Unbounded-Net とのレイヤー 3 接続を使用します。
| AKS API | Flex ノード接続 | Guidance |
|---|---|---|
| Public | レイヤー 3 接続 | 推奨される構成 |
| Private | レイヤー 3 接続 | 追加の DNS、ルーティング、およびコマンド実行の構成が必要です |
| Public | パブリック WireGuard ゲートウェイ | 代替トポロジ。AKSFlexNode ラボを参照してください |
| Private | パブリック WireGuard ゲートウェイ | このドキュメントの対象ではありません |
Note
その他のトポロジの例については、 AKSFlexNode ラボを参照してください。これには、WireGuard ゲートウェイでパブリック AKS API サーバーを使用する例や、カスタマー マネージド ネットワークを使用したプライベート AKS API サーバーを使用する例が含まれます。 これらのラボは、この記事に記載されている構成を補足します。 これらのラボでは、異なるネットワーク コンポーネントを使用し、運用上またはサポート上の責任が異なる場合があります。 ラボを使用する前に、その前提条件、制限事項、適用可能なコンポーネントバージョン、および顧客の責任を確認してください。 GitHub ラボでは、Microsoft Learn に記載されているサポート スコープは拡張されません。
表されていないトポロジに関するフィードバックを提供するには、 AKSFlexNode リポジトリで問題を開きます。 Flex ノード ホストの場所、AKS API アクセス モデル、提案された接続方法、提案された CNI、シナリオで必要なネットワーク パスを含めます。
必要なネットワーク接続を計画する
ネットワーク管理者と協力して、ネットワーク設計で次の接続が提供されていることを確認します。
| 要件 | 必要な理由 |
|---|---|
| Bash 環境は、AKS API サーバーを解決して到達できます。 | クラスターを構成および管理するには、この接続が必要です。 |
| 各フレックス ノードホストは、AKS API サーバーを解決し、そこにアクセスできます。 | Flex ノード エージェントと kubelet は、この接続を使用してクラスターに参加し、Kubernetes コントロール プレーンと通信します。 |
| AKS で管理されるノードとフレックス ノード ホストは、互いのプライベート IP アドレスに到達できます。 | ほとんどの接続方法では、Unbounded-Net は、2 つの環境間の基になるパスとしてノード ネットワークを使用します。 |
| ポッドと Kubernetes サービスのトラフィックは、AKS で管理されるノードとフレックス ノードの間をルーティングできます。 | ワークロードには、クロスノード通信、クラスター DNS、Kubernetes サービスへのアクセスが必要です。 |
| AKS コントロール プレーンは、フレックス ノード上の kubelet に接続できます。 | AKS は、 kubectl logs、 kubectl exec、 kubectl port-forwardなどの kubelet 操作にこのパスを使用します。 |
ルーティング、仮想ネットワーク ピアリング、VPN または ExpressRoute 接続、ファイアウォールとネットワーク セキュリティ グループの規則、DNS、プロキシ設定、およびこのシリーズに記載されている Unbounded-Net 構成など、外部ホスト ネットワークを構成して操作します。 完全責任モデルについては、 フレックス ノードのサポート ポリシーを参照してください。
承認されたソース アドレスへのホスト管理アクセスを制限します。 Azure VM の場合は、ネットワーク セキュリティ グループをホスト サブネットまたはネットワーク インターフェイスに関連付けます。 Azure外のホストの場合は、同等のファイアウォール制御を適用します。
az vm createを使用してフレックス ノード ホストを作成する場合は、コマンドによって作成されるパブリック IP アドレスとネットワーク セキュリティ グループ規則を確認します。 SSH 規則を制限しない限り、任意のパブリック ソースから TCP ポート 22 への接続を許可できます。
デプロイの値を収集する
残りの記事では、次の値を再利用します。
一般的なAzure リソース値
| Variable | Description | 使用される場合 |
|---|---|---|
SUBSCRIPTION_ID |
AKS クラスターと関連するAzure リソースを含むサブスクリプション。 | デプロイのたびに失敗する |
RESOURCE_GROUP |
AKS クラスターを含むリソース グループ。 | デプロイのたびに失敗する |
CLUSTER_NAME |
AKS クラスターの名前。 | デプロイのたびに失敗する |
FLEX_POOL_NAME |
フレックス ノード プールの名前。 文字と数字のみを使用します。 | デプロイのたびに失敗する |
AKS_API_ACCESS |
AKS クラスターの API アクセス モデル。 値を public または private に設定します。 |
クラスターの準備と API 接続の検証 |
AKS_RESOURCE_ID |
AKS クラスターの Azure リソース ID。 Azureは、クラスターが存在した後にこの値を提供します。 | 後の記事 |
AKS クラスターと仮想ネットワークの値
| Variable | Description | 使用される場合 |
|---|---|---|
LOCATION |
AKS クラスターの Azure リージョン。 このリージョンが リージョンの可用性 要件を満たしていることを確認します。 | AKS クラスターの作成 |
AKS_VNET_NAME |
AKS サブネットを含む仮想ネットワークの名前。 | AKS サブネットの検索と検証 |
AKS_VNET_RESOURCE_GROUP |
AKS 仮想ネットワークを含むリソース グループ。
RESOURCE_GROUPとは異なる場合があります。 |
AKS サブネットの検索と検証 |
AKS_SUBNET_NAME |
Azureマネージド AKS ノードによって使用されるサブネットの名前。 | AKS サブネットの検索と検証 |
AKS_SUBNET_ID |
AKS サブネットの Azure リソース ID | AKS クラスターの作成 |
AKS_NODE_VM_SIZE |
Azure 管理の AKS システム ノード プールの VM サイズ この値は、フレックス ノード ホストのサイズを設定しません。 | AKS クラスターの作成 |
SERVICE_CIDR |
Kubernetes サービスのアドレス範囲。 | AKS クラスター ネットワーク プロファイルの構成 |
DNS_SERVICE_IP |
Kubernetes DNS サービスの IP アドレス。 | AKS クラスター ネットワーク プロファイルの構成 |
環境ファイルを作成する前に、AKS サブネット リソース ID とアドレス範囲を取得します。
az network vnet subnet show \
--resource-group '<virtual-network-resource-group>' \
--vnet-name '<virtual-network-name>' \
--name '<aks-subnet-name>' \
--query "{ResourceId:id,AddressPrefix:addressPrefix,AddressPrefixes:addressPrefixes}" \
--output json
AKS と Unbounded-Net アドレス値
SERVICE_CIDRとDNS_SERVICE_IPを使用して、AKS クラスター ネットワーク プロファイルを構成します。 このチュートリアルで使用する Unbounded-Net サイトを設定するようにノードとポッドのCIDR を構成します。
AKS ノード、AKS ポッド、フレックス ノード、フレックス ポッド、および Kubernetes サービス範囲は、選択したネットワーク設計に従う必要があり、仮想ネットワーク ピアリング、VPN、または ExpressRoute を介して到達可能な相互またはネットワークを重複させてはなりません。 最終的な値をネットワーク管理者と調整します。
別のデプロイからサンプル CIDR をコピーしないでください。 CIDR はルーティング可能なアドレス空間を識別するため、Azureまたは接続されたネットワークと重複する例を再利用すると、トラフィックがあいまいになり、ノードとポッドが相互に到達できなくなる可能性があります。
| Variable | Description | 使用者 |
|---|---|---|
AKS_SUBNET_CIDR |
Azureマネージド AKS ノードのサブネットに割り当てられたアドレス範囲。 | Azure 仮想ネットワークと AKS サブネットの検証 |
AKS_NODE_CIDR |
AKS ノード サブネットを含む Unbounded-Net Site のノード範囲。 | プライマリ クラスター サイト Unbounded-Net |
AKS_POD_CIDR |
Azure 管理 AKS ノード上のポッド用アドレス プール。 | プライマリ クラスター サイト Unbounded-Net |
FLEX_HOST_SUBNET_CIDR |
フレックス ノード ホストを含むアドレス範囲。 | Flex ノードのホストネットワーク検証 |
FLEX_NODE_CIDR |
Unbounded-Net のフレックス ノード ホスト サブネットを含むサイト ノード範囲。 | フレックス ノードの Unbounded-Net サイト |
FLEX_POD_CIDR |
Flex ノード上のポッド用アドレスプール。 | フレックス ノードの Unbounded-Net サイト |
SERVICE_CIDR |
Kubernetes サービスのアドレス範囲。 | AKS クラスター ネットワーク プロファイル |
DNS_SERVICE_IP |
Kubernetes DNS サービスの IP アドレス。 | AKS クラスター ネットワーク プロファイル |
住所計画に次の規則を適用します。
-
AKS_SUBNET_CIDRは、AKS_NODE_CIDR内に含まれている必要があります。 -
FLEX_HOST_SUBNET_CIDRは、FLEX_NODE_CIDR内に含まれている必要があります。 -
DNS_SERVICE_IPは、SERVICE_CIDR内にある必要があります。
これら 8 つの値は、8 つの個別の範囲ではありません。 5 つは重複してはならない独立した範囲であり、2 つは対応するサイト ノードの範囲内に含まれるサブネット範囲であり、1 つはサービス範囲内の単一の IP アドレスです。
次の値は、このセクションのすべてのルールを満たす値です。 それらをデフォルトとしてではなく、関係性を示す図として扱ってください。 使用する前に、Azureと接続されているネットワーク アドレス空間に対して独自の値を確認します。
| Variable | Example | Relationship |
|---|---|---|
AKS_NODE_CIDR |
10.10.0.0/16 |
独立範囲 |
AKS_SUBNET_CIDR |
10.10.1.0/24 |
AKS_NODE_CIDR 内に含まれる |
AKS_POD_CIDR |
10.244.0.0/16 |
独立範囲 |
FLEX_NODE_CIDR |
10.20.0.0/16 |
独立範囲 |
FLEX_HOST_SUBNET_CIDR |
10.20.1.0/24 |
FLEX_NODE_CIDR 内に含まれる |
FLEX_POD_CIDR |
10.245.0.0/16 |
独立範囲 |
SERVICE_CIDR |
10.96.0.0/16 |
独立範囲 |
DNS_SERVICE_IP |
10.96.0.10 |
中に SERVICE_CIDR |
現在のAzure仮想ネットワーク アドレス空間を確認します。
az network vnet list \
--query "[].{ResourceGroup:resourceGroup,Name:name,AddressPrefixes:addressSpace.addressPrefixes}" \
--output table
Azureは、管理するリソース内の競合を識別できますが、接続されているすべてのオンプレミスまたは外部ネットワークのアドレス範囲を検証することはできません。
コンポーネントのバージョン値
Flex ノードには、互換性のあるバージョンの AKS、Azure CLI拡張機能、Unbounded-Net、および flex ノード エージェントが必要です。 この記事に記載されているバージョンを使用し、これらのコンポーネントを個別に選択またはアップグレードしないでください。
| Variable | Description |
|---|---|
AKS_VERSION |
AKS クラスターでサポートされている Kubernetes バージョン。 |
AKS_PREVIEW_VERSION |
aks-previewAzure CLI拡張機能のバージョン22.0.0b8以降。 |
UNBOUNDED_VERSION |
サポートされている Unbounded-Net バージョン。 |
AKS_FLEX_NODE_VERSION |
サポートされている Flex ノード エージェントのバージョン。 |
地域ごとの提供状況
Flex ノードでは、クラスターをホストするリージョンで AKS リリース v20260904 以降が必要です。 AKS は、これらの日付ベースのリリースを自動的に適用し、 AKS_VERSIONで設定した Kubernetes バージョンとは別のバージョンです。
クラスターを作成または選択する前に、AKS リリース トラッカーの [AKS リリース] タブを開き、リージョンを見つけて、[現在の操作中] でバージョンを確認します。 AKS リリース バージョンでは、 vYYYYMMDD 形式が使用されます。 リージョンに以前のバージョンが表示されている場合は、リリースがリージョンに到達するまで待つか、デプロイ要件で許可されている場合は、必要なリリースが利用可能なリージョンを選択します。
ローカル ワークスペースの値
| Variable | Description |
|---|---|
WORK_DIR |
残りの記事がダウンロード、生成されたファイル、およびクラスター kubeconfig ファイルを格納する Bash 環境のディレクトリ。 既定値は ~/.local/share/aksflexnode/<deployment-name> です。 デプロイ後に削除する一時ディレクトリなど、これらのファイルを別の場所に保持するには、環境ファイルの WORK_DIR 値を変更します。 |
共有環境ファイルを作成する
デプロイごとに 1 つの環境ファイルを作成します。 このファイルは、残りのアーティクルとターミナル セッション間で非セキュリティ値の一貫性を維持します。
このファイルには、アクセス トークン、ブートストラップ データ、kubeconfig コンテンツ、サービス プリンシパルの資格情報、証明書、証明書の秘密キー、または SSH 秘密キーを格納しないでください。
短いデプロイ ラベルを選択し、環境ファイルの保護されたディレクトリを作成します。
export FLEXNODE_DEPLOYMENT="flexnode-demo" export FLEXNODE_ENV_DIR="${HOME}/.config/aks-flexnode" export FLEXNODE_ENV_FILE="${FLEXNODE_ENV_DIR}/${FLEXNODE_DEPLOYMENT}.env" install -d -m 0700 "${FLEXNODE_ENV_DIR}"環境ファイルを作成します。
if [[ -e "${FLEXNODE_ENV_FILE}" ]]; then printf 'Environment file already exists: %s\n' "${FLEXNODE_ENV_FILE}" >&2 false else install -m 0600 /dev/null "${FLEXNODE_ENV_FILE}" cat > "${FLEXNODE_ENV_FILE}" <<'EOF' set_flexnode_env() { if [[ "$#" -ne 2 || ! "$1" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then printf 'Usage: set_flexnode_env NAME VALUE\n' >&2 return 2 fi local name="$1" local value="$2" local temporary_file temporary_file="$(mktemp "$(dirname "${FLEXNODE_ENV_FILE}")/flexnode.env.XXXXXX")" || return 1 awk -v prefix="export ${name}=" 'index($0, prefix) != 1 { print }' \ "${FLEXNODE_ENV_FILE}" > "${temporary_file}" || { rm -f "${temporary_file}" return 1 } printf 'export %s=%q\n' "${name}" "${value}" >> "${temporary_file}" || { rm -f "${temporary_file}" return 1 } install -m 0600 "${temporary_file}" "${FLEXNODE_ENV_FILE}" || { rm -f "${temporary_file}" return 1 } rm -f "${temporary_file}" export "${name}=${value}" } # Customer inputs export SUBSCRIPTION_ID='<subscription-id>' export LOCATION='<supported-aks-region>' export RESOURCE_GROUP='<aks-resource-group>' export CLUSTER_NAME='<aks-cluster-name>' export FLEX_POOL_NAME='<flex-node-pool-name>' export AKS_API_ACCESS='<public-or-private>' # AKS virtual network export AKS_VNET_NAME='<virtual-network-name>' export AKS_VNET_RESOURCE_GROUP='<virtual-network-resource-group>' export AKS_SUBNET_NAME='<aks-subnet-name>' export AKS_SUBNET_ID='<aks-subnet-resource-id>' # Network address ranges export AKS_SUBNET_CIDR='<aks-node-subnet-cidr>' export AKS_POD_CIDR='<aks-pod-cidr>' export AKS_NODE_CIDR='<aks-site-node-cidr>' export FLEX_HOST_SUBNET_CIDR='<flex-host-subnet-cidr>' export FLEX_NODE_CIDR='<flex-site-node-cidr>' export FLEX_POD_CIDR='<flex-node-pod-cidr>' export SERVICE_CIDR='<kubernetes-service-cidr>' export DNS_SERVICE_IP='<kubernetes-dns-service-ip>' # Azure-managed AKS system node pool export AKS_NODE_VM_SIZE='<supported-and-available-aks-node-vm-size>' # Compatible component versions for flex nodes (preview) export AKS_VERSION='1.36.2' export AKS_PREVIEW_VERSION='22.0.0b8' export UNBOUNDED_VERSION='v0.8.0' export AKS_FLEX_NODE_VERSION='v0.2.0' # Local paths export WORK_DIR="${HOME}/.local/share/aksflexnode/${FLEXNODE_DEPLOYMENT}" # Values recorded by later articles export AKS_RESOURCE_ID='' export FLEXNODE_KUBECONFIG='' export FLEX_POOL_RESOURCE_ID='' export FLEX_MACHINE_NAME='' export FLEX_HOST_NAME='' export FLEX_HOST_SSH_TARGET='' export FLEX_HOST_PRIVATE_IP='' export HOST_PRINCIPAL_OBJECT_ID='' export HOST_IDENTITY_CLIENT_ID='' export SSH_PUBLIC_KEY_PATH='' export SSH_PRIVATE_KEY_PATH='' export VM_RESOURCE_GROUP='' export VM_NAME='' export VM_RESOURCE_ID='' export ARC_RESOURCE_GROUP='' export ARC_MACHINE_NAME='' export ARC_RESOURCE_ID='' export SP_TENANT_ID='' export SP_CLIENT_ID='' export SP_OBJECT_ID='' EOF fiset_flexnode_envヘルパーを使用すると、後の記事では、重複する定義をファイルに追加することなく、Azure生成された値を記録できます。エディターで
${FLEXNODE_ENV_FILE}を開き、山かっこで囲まれた各値を置き換えます。 後の記事で記録された値は空のままにします。プレースホルダーが残っていないかどうかを確認します。
if grep -n '<[^>]*>' "${FLEXNODE_ENV_FILE}"; then printf 'Replace the unresolved placeholders before you continue.\n' >&2 false else printf 'No unresolved placeholders found.\n' fi環境ファイルを読み込み、作業ディレクトリを作成し、アクティブなAzure サブスクリプションを設定します。
source "${FLEXNODE_ENV_FILE}" install -d -m 0700 "${WORK_DIR:?Load the deployment environment first.}" az account set --subscription "${SUBSCRIPTION_ID}" az account show \ --query "{Name:name,SubscriptionId:id}" \ --output table返されたサブスクリプション ID が
SUBSCRIPTION_IDと一致することを確認します。AKS_API_ACCESSがサポートされているパスを識別していることを確認します。case "${AKS_API_ACCESS}" in public|private) printf 'AKS API access: %s\n' "${AKS_API_ACCESS}" ;; *) printf 'Set AKS_API_ACCESS to public or private.\n' >&2 false ;; esacデプロイ ラベルを設定し、その環境ファイルを読み込んで、新しいターミナル セッションを開始します。
export FLEXNODE_DEPLOYMENT="flexnode-demo" export FLEXNODE_ENV_FILE="${HOME}/.config/aks-flexnode/${FLEXNODE_DEPLOYMENT}.env" test -s "${FLEXNODE_ENV_FILE}" source "${FLEXNODE_ENV_FILE}" install -d -m 0700 "${WORK_DIR:?Load the deployment environment first.}"
計画値を検証する
選択した AKS サブネットを確認します。
az network vnet subnet show \
--resource-group "${AKS_VNET_RESOURCE_GROUP}" \
--vnet-name "${AKS_VNET_NAME}" \
--name "${AKS_SUBNET_NAME}" \
--query "{AddressPrefix:addressPrefix,AddressPrefixes:addressPrefixes,ResourceId:id}" \
--output json
返されたリソース ID とアドレス範囲が AKS_SUBNET_ID と AKS_SUBNET_CIDRと一致することを確認します。
次のステップ
次 に、フレックス ノード用の AKS クラスターを準備します。 次の記事では、パブリックまたはプライベートの AKS クラスターを作成し、クラスター リソース ID を記録します。