次の方法で共有


チュートリアル: 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 を使用する必要があります。

  1. 開いているすべての PowerShell ウィンドウを閉じ、管理者として新しい PowerShell セッションを開き、Azure Local または Windows Server クラスター内のすべてのノードで次のコマンドを実行します。

    Install-PackageProvider -Name NuGet -Force 
    Install-Module -Name PowershellGet -Force -Confirm:$false
    

    読み込まれたモジュールが最新の状態に更新されるように、もう一度既存の PowerShell ウィンドウをすべて閉じる必要があります。 開いているすべての PowerShell ウィンドウを閉じるまで、次の手順に進む必要はありません。

  2. 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を実行してクラスター情報を取得すると、出力でフィールドWindowsNodeCountLinuxNodeCount0返されます。 各ノード プール内のノードの正確な数を取得するには、指定したクラスター名でコマンド 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 クラスターに接続する

次のチュートリアルに進み、アプリケーションをクラスターにデプロイする方法を学習してください。