次の方法で共有


チュートリアル: Azure Kubernetes Service (AKS) 用の OS Guard (プレビュー) を使用して Azure Linux を使用してクラスターを作成する

このチュートリアルでは、5 つのパート 1 で、次の方法を学習します。

  • Kubernetes CLI、kubectl をインストールします。
  • aks-preview Azure CLI 拡張機能をインストールします。
  • AzureLinuxOSGuardPreview機能フラグを登録します。
  • Azure リソース グループを作成します。
  • OS Guard クラスターを使用して Azure Linux を作成してデプロイします。
  • OS Guard クラスターを使用して Azure Linux に接続するように kubectl を構成します。

後のチュートリアルでは、OS Guard ノード プールを含む Azure Linux を既存のクラスターに追加し、OS Guard を使用して既存のノードを Azure Linux に移行する方法について説明します。

考慮事項と制限事項

開始する前に、OS Guard (プレビュー) を使用した Azure Linux に関する次の考慮事項と制限事項を確認してください。

  • Os Guard を使用する Azure Linux には、Kubernetes バージョン 1.32.0 以降が必要です。
  • OS Guard イメージを使用するすべての Azure Linux では、 Federal Information Process Standard (FIPS)Trusted Launch が有効になっています。
  • Azure CLI と ARM テンプレートは、プレビュー段階の AKS 上の OS Guard を使用する Azure Linux でサポートされている唯一のデプロイ方法です。 PowerShell と Terraform はサポートされていません。
  • Arm64 イメージは、プレビュー段階の AKS 上の OS Guard を使用した Azure Linux ではサポートされていません。
  • NodeImageNone は、AKS 上の OS Guard を使用する Azure Linux でサポートされている唯一の OS アップグレード チャネル です。 Unmanaged および SecurityPatch は、変更できない /usr ディレクトリのため、OS Guard を使用する Azure Linux と互換性がありません。
  • アーティファクト ストリーミング はサポートされていません。
  • ポッドサンドボックス はサポートされていません。
  • Confidential Virtual Machines (CVM) は サポートされていません。
  • Gen 1 仮想マシン (VM) は サポートされていません。

[前提条件]

aksプレビューの Azure CLI 拡張機能をインストールする

Important

AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。

  • aks-preview コマンドを使用して az extension add 拡張機能をインストールします。

    az extension add --name aks-preview
    
  • az extension update コマンドを使って拡張機能の最新バージョンに更新します。

    az extension update --name aks-preview
    

Azure Linux OS Guard プレビュー機能フラグを登録する

  1. AzureLinuxOSGuardPreview コマンドを使用して、az feature register 機能フラグを登録します。

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    状態が [登録済み] と表示されるまでに数分かかります。

  2. az feature show コマンドを使用して、登録の状態を確認します。

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    
  3. 状態に [登録済み] が反映されたらMicrosoft.ContainerService コマンドを使用して、az provider register リソース プロバイダーの登録を更新します。

    az provider register --namespace "Microsoft.ContainerService"
    

リソース グループを作成する

Azure リソース グループは、Azure リソースが展開され管理される論理グループです。 リソース グループを作成するときは、場所を指定する必要があります。 この場所は次のとおりです。

  • リソース グループ メタデータのストレージの場所。
  • リソースの作成時に別のリージョンを指定しない場合、Azure でリソースを実行する場所。

az group create コマンドを使用してリソース グループを作成します。 コマンドを実行する前に、デプロイごとに一意のリソース名を確保するために環境変数が宣言されます。

export REGION="EastUS2"
az group create --name $RESOURCE_GROUP_NAME --location $REGION

出力例:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxOSGuardResourceGroupxxxxx",
  "location": "EastUS2",
  "managedBy": null,
  "name": "testAzureLinuxOSGuardResourceGroupxxxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

OS Guard (プレビュー) クラスターを使用して Azure Linux を作成する

az aks create パラメーターを指定して --os-sku AzureLinuxOSGuard コマンドを使用して AKS クラスターを作成し、OS Guard クラスターで Azure Linux をプロビジョニングします。 OS Guard で Azure Linux を使用するには、 FIPSセキュア ブートおよび pcm を有効にする必要があります。 次の例では、OS Guard クラスターを使用して Azure Linux を作成します。

az aks create --name $MY_AZ_CLUSTER_NAME --resource-group $MY_RESOURCE_GROUP_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm

出力例:

{
  "id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxOSGuardResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/testAzureLinuxOSGuardClusterxxxxx",
  "location": "WestUS2",
  "name": "testAzureLinuxOSGuardClusterxxxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "type": "Microsoft.ContainerService/managedClusters"
}

数分後、コマンドが完了し、クラスターに関する情報が JSON 形式で返されます。

kubectl を使用してクラスターに接続する

kubectl コマンドを使用して、Kubernetes クラスターに接続するように az aks get-credentials を構成します。 次の例では、前に作成したリソース グループとクラスター名を使用して、Azure Linux Container Host クラスターの資格情報を取得します。

az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME

クラスター ノードの一覧を返すには、 kubectl get nodes コマンドを使用してクラスターへの接続を確認します。

kubectl get nodes

出力例:

NAME                           STATUS   ROLES   AGE     VERSION
aks-nodepool1-00000000-0       Ready    agent   10m     v1.20.7
aks-nodepool1-00000000-1       Ready    agent   10m     v1.20.7

次のステップ

このチュートリアルでは、OS Guard クラスターを使用して Azure Linux を作成してデプロイしました。 次のチュートリアルでは、OS Guard ノード プールを含む Azure Linux を既存のクラスターに追加する方法について説明します。