Sdílet prostřednictvím


Vytváření clusterů Kubernetes pomocí Terraformu (Preview)

Tento článek popisuje, jak vytvářet clustery Kubernetes v Azure Local pomocí Terraformu a ověřeného modulu Azure. Pracovní postup je následující:

  • Vytvořte pár klíčů SSH.
  • Vytvořte cluster Kubernetes v Azure Local 23H2 pomocí Terraformu. Ve výchozím nastavení je cluster připojený ke službě Azure Arc.
  • Ověřte nasazení a připojte se ke clusteru.

Důležité

Tyto funkce ve verzi Preview jsou k dispozici na samoobslužné bázi. Verze Preview jsou poskytovány "tak, jak jsou" a "dostupné", a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Služba Azure Kubernetes Service, která je povolená ve verzi Preview služby Azure Arc, se částečně vztahuje na zákaznickou podporu na základě maximálního úsilí.

Než začnete

Než začnete, ujistěte se, že máte následující požadavky:

  1. Od místního správce infrastruktury získejte následující podrobnosti:
    • ID předplatného Azure: ID předplatného Azure, které k nasazení a registraci používá Azure Local.
    • Název nebo ID vlastního umístění: ID Azure Resource Manageru vlastního umístění. Vlastní umístění se konfiguruje během nasazení místního clusteru Azure. Správce infrastruktury by vám měl poskytnout ID Resource Manageru vlastního umístění. Tento parametr se vyžaduje k vytváření clusterů Kubernetes. ID Resource Manageru můžete získat také pomocí az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv, pokud správce infrastruktury poskytne název vlastního umístění a název skupiny prostředků.
    • Název nebo ID logické sítě: ID Azure Resource Manageru místní logické sítě Azure, která byla vytvořena pomocí následujících kroků. Správce by vám měl dát ID logické sítě. Tento parametr se vyžaduje k vytváření clusterů Kubernetes. ID Azure Resource Manageru můžete získat také v az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv případě, že znáte skupinu prostředků, ve které byla logická síť vytvořena.
  2. Ujistěte se, že máte na vývojovém počítači nainstalovaný GitHub, nejnovější verzi Azure CLI a klienta Terraformu.
  3. Stáhněte a nainstalujte kubectl na vývojovém počítači.

Vytvoření páru klíčů SSH

Pokud chcete vytvořit pár klíčů SSH (stejný jako Azure AKS), použijte následující postup:

  1. Otevřete relaci Cloud Shellu v prohlížeči.

  2. Vytvořte pár klíčů SSH pomocí příkazu az sshkey create , z portálu nebo příkazu ssh-keygen :

    az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"
    

    nebo

    ssh-keygen -t rsa -b 4096 
    
  3. Načtěte hodnotu vašeho veřejného klíče z Azure nebo z místního počítače v části /.ssh/id_rsa.pub.

Přihlášení k Azure

Terraform podporuje ověřování pouze v Azure pomocí Azure CLI. Ověřování pomocí Azure PowerShellu se nepodporuje. Modul Azure PowerShellu proto můžete použít při práci Terraformu, musíte se nejprve ověřit v Azure.

Implementace kódu Terraformu

  1. Vytvořte adresář, který můžete použít k otestování ukázkového kódu Terraformu, a nastavte ho jako aktuální adresář.

  2. Ve stejném adresáři vytvořte soubor s názvem providers.tf a vložte následující kód:

    terraform { 
     required_version = "~> 1.5" 
     required_providers { 
       azapi = { 
         source  = "azure/azapi" 
         version = "~> 1.13" 
       } 
       azurerm = { 
        source  = "hashicorp/azurerm" 
        version = "~> 3.74" 
       } 
      }
     }
    
     provider "azurerm" { 
     features { 
      resource_group { 
       prevent_deletion_if_contains_resources = false 
      } 
     } 
    }
    
  3. Vytvořte další soubor s názvem main.tf , který odkazuje na nejnovější modul AKS Arc AVM, a vložte následující kód. Můžete si přečíst popis a vstup modulu a podle potřeby přidat volitelné parametry. ID objektu skupiny správců najdete v tématu Povolení ověřování Microsoft Entra pro clustery Kubernetes. Můžete postupovat podle těchto pokynů a najít ho ve svém prostředí Azure.

    module "aks_arc" { 
    # Make sure to use the latest AVM module version
    source = "Azure/avm-res-hybridcontainerservice-provisionedclusterinstance/azurerm" 
    version = "~>0.6"
    
    # Make sure to provide all required parameters  
    resource_group_id = "<Resource_Group>" 
    location = "<Region>" 
    name = "<Cluster_Name>" 
    logical_network_id = "<LNet_ID>" 
    custom_location_id = "<CustomLocation_ID>" 
    agent_pool_profiles = [{count=1}] 
    ssh_public_key =  "Your_SSH_Key"
    
    # Optional parameters, update them as needed
    enable_workload_identity = false 
    enable_oidc_issuer = false 
    rbac_admin_group_object_ids = ["<Admin_Group_Object_ID>"]
    }
    

Inicializace Terraformu

Spuštěním terraform init inicializujete nasazení Terraformu. Nezapomeňte použít -upgrade příznak k upgradu potřebných modulů plug-in zprostředkovatele na nejnovější verzi:

terraform init -upgrade

Vytvoření plánu provádění Terraformu a použití plánu

Spuštěním plánu terraformu vytvořte plán provádění a pak spusťte terraform, který použije výstupní soubor na cloudovou infrastrukturu:

terraform plan -out main.tfplan 
terraform apply main.tfplan 

Příkaz se spustí a po úspěšném zřízení prostředku vrátí úspěch.

Ověření nasazení a připojení ke clusteru

Ke svému clusteru Kubernetes se teď můžete připojit spuštěním az connectedk8s proxy z vývojového počítače. Stav uzlu a podu můžete zobrazit také pomocí kubectl . Postupujte stejně jako v části Připojení ke clusteru Kubernetes.

Další kroky

Připojení ke clusteru Kubernetes