チュートリアル: Arc で有効になっている AKS にワークロード クラスターをデプロイする
適用対象: Azure Local 22H2 上の AKS、Windows Server 上の AKS
Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。
このチュートリアルでは、7 つのパート 3 で、Kubernetes クラスターを AKS on Azure Local にデプロイします。 学習内容は次のとおりです。
- Azure Local に AKS クラスターをデプロイする
- Kubernetes CLI (kubectl) をインストールする
- kubectl を構成してワークロード クラスターに接続する
後続のチュートリアルでは、Azure 投票アプリケーションをクラスターにデプロイし、スケーリングして更新します。
開始する前に
これまでのチュートリアルでは、コンテナー イメージを作成して、Azure Container Registry インスタンスにアップロードしました。 これらの手順を完了していない場合は、チュートリアル 1 - コンテナー イメージを作成するに関するページから開始してください。
このチュートリアルでは、AksHci PowerShell モジュールを使用します。
Azure ローカル クラスターまたは Windows Server クラスター内のすべてのノードで、次の手順に従います。
Note
リモート PowerShell を使用している場合は、CredSSP を使用する必要があります。
開いているすべての PowerShell ウィンドウを閉じ、管理者として新しい PowerShell セッションを開き、Azure Local または Windows Server クラスター内のすべてのノードで次のコマンドを実行します。
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
読み込まれたモジュールが最新の状態に更新されるように、もう一度既存の PowerShell ウィンドウをすべて閉じる必要があります。 開いているすべての PowerShell ウィンドウを閉じるまで、次の手順に進む必要はありません。
Azure Local または Windows Server クラスター内のすべてのノードで次のコマンドを実行して、AKS-HCI PowerShell モジュールをインストールします。
Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
読み込まれたモジュールが最新の状態に更新されるように、もう一度既存の PowerShell ウィンドウをすべて閉じる必要があります。 開いているすべての PowerShell ウィンドウを閉じるまで、次の手順に進む必要はありません。
helper スクリプトを使用して、古い AKS-HCI PowerShell モジュールを削除して、AKS デプロイでの PowerShell バージョン関連の問題を回避できます。
インストールを検証する
Get-Command -Module AksHci
AksHci PowerShell コマンドの完全な一覧を確認するには、AksHci PowerShell に関するページを参照してください。
Azure Kubernetes Service ホストをインストールする
まず、登録設定を構成します。
Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup
これらの値は、Azure サブスクリプションとリソース グループ名に応じてカスタマイズする必要があります。
次に、次のコマンドを実行して、Azure Local に AKS をインストールするために各物理ノードのすべての要件が満たされていることを確認します。
Initialize-AksHciNode
次に、仮想ネットワークを作成します。 使用可能な外部スイッチの名前が必要です。
Get-VMSwitch
サンプル出力:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
次のコマンドを実行して、静的 IP を使用して仮想ネットワークを作成します。
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9
次に、以下のコマンドを使用して、デプロイを構成します。
Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"
これで、AKS ホストをインストールする準備ができました。
Install-AksHCi
Kubernetes クラスターを作成する
New-AksHciCluster コマンドを使用して、Kubernetes クラスターを作成します。 次の例では、mycluster
という名前の 1 つの Linux ノード プールを使用して、linuxnodepool
という名前のクラスターを作成します。ノード数は 1 です。
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1
デプロイが成功したことを確認するには、次のコマンドを実行します。
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Note
New-AksHciCluster
で新しいパラメーター セットを使用してクラスターをデプロイし、Get-AksHciCluster
を実行してクラスター情報を取得すると、出力でフィールドWindowsNodeCount
とLinuxNodeCount
が0
返されます。 各ノード プール内のノードの正確な数を取得するには、指定したクラスター名でコマンド Get-AksHciNodePool
を使用します。
クラスター内のノード プールの一覧を取得するには、次の Get-AksHciNodePool PowerShell コマンドを実行します。
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Kubernetes CLI のインストール
ローカル コンピューターから Kubernetes クラスターに接続するには、Kubernetes コマンド ライン クライアント kubectl を使用します。
kubectl を使用したクラスターへの接続
Kubernetes クラスターに接続するように kubectl
を構成するには、Get-AksHciCredential コマンドを使用します。 次の例では、 mycluster
という名前のクラスターの資格情報を取得します。
Get-AksHciCredential -name mycluster
クラスターへの接続を確認するには、クラスター ノードの一覧を返す kubectl get nodes コマンドを実行します。
kubectl get nodes
NAME STATUS ROLES AGE VERSION
moc-lbs6got5dqo Ready <none> 6d20h v1.20.7
moc-lel7tzxdt30 Ready control-plane,master 6d20h v1.20.7
次のステップ
このチュートリアルでは、Kubernetes クラスターを AKS にデプロイし、kubectl
を構成してクラスターに接続しました。 以下の方法を学習しました。
- Azure Local に AKS クラスターをデプロイする
- Kubernetes CLI (kubectl) をインストールする
- kubectl を構成して AKS クラスターに接続する
次のチュートリアルに進み、アプリケーションをクラスターにデプロイする方法を学習してください。