Kubernetes-fürtök létrehozása a Terraform használatával (előzetes verzió)
Ez a cikk azt ismerteti, hogyan hozhat létre Kubernetes-fürtöket helyileg az Azure-ban a Terraform és az Azure Verified modul használatával. A munkafolyamat a következő:
- Hozzon létre egy SSH-kulcspárt.
- Kubernetes-fürt létrehozása az Azure Local 23H2-ben a Terraform használatával. Alapértelmezés szerint a fürt Azure Arc-kapcsolattal rendelkezik.
- Ellenőrizze az üzembe helyezést, és csatlakozzon a fürthöz.
Fontos
Ezek az előzetes verziójú funkciók önkiszolgáló, opt-in alapon érhetők el. Az előzetes verziókat "ahogy van" és "rendelkezésre állóként" biztosítjuk, és a szolgáltatási szerződésekből és a korlátozott jótállásból kizárjuk őket. Az Azure Arc előzetes verziója által engedélyezett Azure Kubernetes Service-t részben az ügyfélszolgálat nyújtja a legjobb munkához.
Mielőtt elkezdené
Mielőtt hozzákezdene, győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:
- Kérje le a következő részleteket a helyszíni infrastruktúra rendszergazdájától:
- Azure-előfizetés azonosítója: az Azure-előfizetés azonosítója, amely az Azure Localt használja az üzembe helyezéshez és a regisztrációhoz.
- Egyéni hely neve vagy azonosítója: az egyéni hely Azure Resource Manager-azonosítója. Az egyéni hely az Azure Local fürt üzembe helyezése során van konfigurálva. Az infrastruktúra rendszergazdájának meg kell adnia az egyéni hely Resource Manager-azonosítóját. Ez a paraméter szükséges a Kubernetes-fürtök létrehozásához. A Resource Manager-azonosítót
az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv
akkor is lekérheti, ha az infrastruktúra-rendszergazda egyéni helynevet és erőforráscsoportnevet ad meg. - Logikai hálózat neve vagy azonosítója: az Alábbi lépések végrehajtásával létrehozott Azure Local logikai hálózat Azure Resource Manager-azonosítója. A rendszergazdának meg kell adnia a logikai hálózat azonosítóját. Ez a paraméter a Kubernetes-fürtök létrehozásához szükséges. Az Azure Resource Manager-azonosítót
az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv
akkor is lekérheti, ha ismeri azt az erőforráscsoportot, amelyben a logikai hálózat létrejött.
- Győződjön meg arról, hogy telepítve van a GitHub, az Azure CLI legújabb verziója és a Terraform-ügyfél a fejlesztői gépen.
- Töltse le és telepítse a kubectl-et a fejlesztőgépre.
SSH-kulcs létrehozása
SSH-kulcspár létrehozásához (az Azure AKS-hez hasonlóan) kövesse az alábbi eljárást:
Nyisson meg egy Cloud Shell-munkamenetet a böngészőben.
Hozzon létre egy SSH-kulcspárt az az sshkey create paranccsal a portálról vagy a
ssh-keygen
parancsból:az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"
vagy
ssh-keygen -t rsa -b 4096
Kérje le a nyilvános kulcs értékét az Azure-ból vagy a helyi gépről a /.ssh/id_rsa.pub területen.
Bejelentkezés az Azure-ba
A Terraform csak az Azure CLI-vel támogatja az Azure-ba történő hitelesítést. Az Azure PowerShell használatával történő hitelesítés nem támogatott. Ezért bár használhatja az Azure PowerShell-modult a Terraform-munka során, először hitelesítenie kell magát az Azure-ban.
A Terraform-kód implementálása
Hozzon létre egy könyvtárat, amellyel tesztelheti a Terraform-mintakódot, és létrehozhatja az aktuális könyvtárat.
Ugyanabban a könyvtárban hozzon létre egy providers.tf nevű fájlt, és illessze be a következő kódot:
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 } } }
Hozzon létre egy main.tf nevű fájlt, amely a legújabb AKS Arc AVM-modulra mutat, és szúrja be a következő kódot. Elolvashatja a modul leírását és bemenetét, és igény szerint hozzáadhat opcionális paramétereket. A felügyeleti csoport objektumazonosítójának megkereséséhez lásd: A Microsoft Entra-hitelesítés engedélyezése Kubernetes-fürtökhöz. Ezt az útmutatót követni az Azure-környezetben való kereséshez.
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>"] }
A Terraform inicializálása
Futtassa terraform init
a Terraform üzembe helyezésének inicializálásához. Ügyeljen arra, hogy a -upgrade
jelző használatával frissítse a szükséges szolgáltatói beépülő modulokat a legújabb verzióra:
terraform init -upgrade
Terraform végrehajtási terv létrehozása és a terv alkalmazása
Futtassa a terraform-tervet végrehajtási terv létrehozásához, majd futtassa a terraformot, hogy alkalmazza a kimeneti fájlt a felhőinfrastruktúra számára:
terraform plan -out main.tfplan
terraform apply main.tfplan
A parancs végrehajtja, majd az erőforrás sikeres kiépítése után visszaadja a sikert.
Az üzembe helyezés ellenőrzése és a fürthöz való csatlakozás
Most már csatlakozhat a Kubernetes-fürthöz a fejlesztőgépről való futtatással az connectedk8s proxy
. A kubectl használatával is megtekintheti a csomópont és a pod állapotát. Kövesse a Kubernetes-fürthöz való csatlakozás című cikkben leírt lépéseket.