このチュートリアルでは、5 つのパート 1 で、次の方法を学習します。
- Kubernetes CLI、
kubectlをインストールします。 -
aks-previewAzure 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 ではサポートされていません。
-
NodeImageとNoneは、AKS 上の OS Guard を使用する Azure Linux でサポートされている唯一の OS アップグレード チャネル です。UnmanagedおよびSecurityPatchは、変更できない /usr ディレクトリのため、OS Guard を使用する Azure Linux と互換性がありません。 - アーティファクト ストリーミング はサポートされていません。
- ポッドサンドボックス はサポートされていません。
- Confidential Virtual Machines (CVM) は サポートされていません。
- Gen 1 仮想マシン (VM) は サポートされていません。
[前提条件]
- 最新バージョンの Azure CLI が必要です。
az versionコマンドを使用してバージョンを検索します。 最新バージョンにアップグレードするには、az upgradeコマンドを使用します。 -
Azure CLI 拡張機能をインストールする
aks-preview。 -
AzureLinuxOSGuardPreview機能フラグを登録します。
aksプレビューの Azure CLI 拡張機能をインストールする
Important
AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。
aks-previewコマンドを使用してaz extension add拡張機能をインストールします。az extension add --name aks-previewaz extension updateコマンドを使って拡張機能の最新バージョンに更新します。az extension update --name aks-preview
Azure Linux OS Guard プレビュー機能フラグを登録する
AzureLinuxOSGuardPreviewコマンドを使用して、az feature register機能フラグを登録します。az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"状態が [登録済み] と表示されるまでに数分かかります。
az feature showコマンドを使用して、登録の状態を確認します。az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"状態に [登録済み] が反映されたら、
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 を既存のクラスターに追加する方法について説明します。