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:
- 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.
- Ujistěte se, že máte na vývojovém počítači nainstalovaný GitHub, nejnovější verzi Azure CLI a klienta Terraformu.
- 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:
Otevřete relaci Cloud Shellu v prohlížeči.
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
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
Vytvořte adresář, který můžete použít k otestování ukázkového kódu Terraformu, a nastavte ho jako aktuální adresář.
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 } } }
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.