共用方式為


教學課程:使用 Azure Linux 搭配 Azure Kubernetes Service (AKS) 的 OS Guard (預覽) 建立叢集

在本教學課程(共五部分的第一部分)中,您會瞭解如何:

  • 安裝 Kubernetes CLI,kubectl
  • 安裝 aks-preview Azure CLI 延伸模組。
  • 註冊 AzureLinuxOSGuardPreview 功能旗標。
  • 建立 Azure 資源群組。
  • 建立並部署具有 OS Guard 叢集的 Azure Linux。
  • 設定 kubectl 為使用 OS Guard 叢集連線到 Azure Linux。

在稍後的教學課程中,您將瞭解如何將具有 OS Guard 節點集區的 Azure Linux 新增至現有的叢集,並將現有的節點移轉至具有 OS Guard 的 Azure Linux。

考慮事項與限制條件

開始之前,請檢閱下列 Azure Linux with OS Guard (預覽) 的考量與限制:

  • 具有 OS Guard 的 Azure Linux 需要 Kubernetes 1.32.0 版或更新版本。
  • 所有 Azure Linux with OS Guard 映像都已啟用聯邦資訊處理標準 (FIPS)可信啟動
  • 在預覽階段中,Azure CLI 和 ARM 範本是唯一支援在 AKS 上部署 Azure Linux with OS Guard 的方法。 不支援 PowerShell 和 Terraform。
  • 在預覽階段中,Azure Linux with OS Guard 不支援 Arm64 映像在 AKS 上進行部署。
  • NodeImage ,並且 None 是 AKS 上具有 OS 防護的 Azure Linux 唯一支援的 OS 升級通道Unmanaged 而且 SecurityPatch 由於不可變的 /usr 目錄,因此與具有 OS Guard 的 Azure Linux 不相容。
  • 不支援工件串流
  • 不支援 Pod 沙箱
  • 不支援機密虛擬機器 (CVM)。
  • 不支援第 1 代虛擬機器 (VM)。

先決條件

安裝 aks-preview Azure CLI 延伸模組

這很重要

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. 當狀態顯示為已註冊時,請使用az provider register命令來重新整理Microsoft.ContainerService資源提供者的註冊。

    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 叢集。 需要啟用 FIPS安全開機vtpm ,才能將 Azure Linux 與 OS Guard 搭配使用。 下列範例會建立具有 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 命令,設定 az aks get-credentials 連線到 Kubernetes 叢集。 下列範例會使用稍早建立的資源群組和叢集名稱,取得 Azure Linux 容器主機叢集的認證:

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 新增至現有的叢集。