Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Ez a cikk bemutatja, hogyan hozhat létre Azure AI Keresés szolgáltatást a Terraform használatával a Terraform használatával.
A Terraform lehetővé teszi a felhőinfrastruktúra definícióját, előzetes verzióját és üzembe helyezését. A Terraform használatával konfigurációs fájlokat hozhat létre HCL-szintaxissal. A HCL szintaxissal megadhatja a felhőszolgáltatót – például az Azure-t – és a felhőinfrastruktúra elemeit. A konfigurációs fájlok létrehozása után létrehoz egy végrehajtási tervet , amely lehetővé teszi az infrastruktúra változásainak előzetes megtekintését az üzembe helyezés előtt. A módosítások ellenőrzése után alkalmazza a végrehajtási tervet az infrastruktúra üzembe helyezésére.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Hozzon létre egy véletlenszerű kisállatnevet a Azure erőforráscsoport nevére a random_pet
- Azure-erőforráscsoport létrehozása azurerm_resource_group használatával
- Véletlenszerű sztring létrehozása random_string használatával
- Azure AI Keresés szolgáltatás létrehozása azurerm_search_service használatával
Előfeltételek
A Terraform-kód implementálása
Megjegyzés
További információ: cikkek és mintakód, amely bemutatja, hogyan használható a Terraform Azure erőforrások kezelésére.
Hozzon létre egy könyvtárat a Terraform-mintakód teszteléséhez és futtatásához. Tegye az aktuális könyvtárrá.
Hozzon létre egy elnevezett
main.tffájlt, és szúrja be a következő kódot:resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { name = random_pet.rg_name.id location = var.resource_group_location } resource "random_string" "azurerm_search_service_name" { length = 25 upper = false numeric = false special = false } resource "azurerm_search_service" "search" { name = random_string.azurerm_search_service_name.result resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location sku = var.sku replica_count = var.replica_count partition_count = var.partition_count }Hozzon létre egy elnevezett
outputs.tffájlt, és szúrja be a következő kódot:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "azurerm_search_service_name" { value = azurerm_search_service.search.name }Hozzon létre egy elnevezett
providers.tffájlt, és szúrja be a következő kódot:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Hozzon létre egy elnevezett
variables.tffájlt, és szúrja be a következő kódot:variable "resource_group_location" { type = string description = "Location for all resources." default = "eastus" } variable "resource_group_name_prefix" { type = string description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." default = "rg" } variable "sku" { description = "The pricing tier of the search service you want to create (for example, basic or standard)." default = "standard" type = string validation { condition = contains(["free", "basic", "standard", "standard2", "standard3", "storage_optimized_l1", "storage_optimized_l2"], var.sku) error_message = "The sku must be one of the following values: free, basic, standard, standard2, standard3, storage_optimized_l1, storage_optimized_l2." } } variable "replica_count" { type = number description = "Replicas distribute search workloads across the service. You need at least two replicas to support high availability of query workloads (not applicable to the free tier)." default = 1 validation { condition = var.replica_count >= 1 && var.replica_count <= 12 error_message = "The replica_count must be between 1 and 12." } } variable "partition_count" { type = number description = "Partitions allow for scaling of document count as well as faster indexing by sharding your index over multiple search units." default = 1 validation { condition = contains([1, 2, 3, 4, 6, 12], var.partition_count) error_message = "The partition_count must be one of the following values: 1, 2, 3, 4, 6, 12." } }
A Terraform inicializálása
Futtassa a Terraform init parancsot a Terraform üzembe helyezésének inicializálásához. Ez a parancs letölti az Azure-erőforrások kezeléséhez szükséges Azure-szolgáltatót.
terraform init -upgrade
Főbb pontok:
- A
-upgradeparaméter frissíti a szükséges szolgáltatói beépülő modulokat a legújabb verzióra, amely megfelel a konfiguráció verziókorlátozásainak.
Terraform végrehajtási terv létrehozása
Végrehajtási terv létrehozásához futtassa a Terraform-tervet .
terraform plan -out main.tfplan
Főbb pontok:
- A
terraform planparancs létrehoz egy végrehajtási tervet, de nem hajtja végre. Ehelyett meghatározza, hogy milyen műveletek szükségesek a konfigurációs fájlokban megadott konfiguráció létrehozásához. Ez a minta lehetővé teszi annak ellenőrzését, hogy a végrehajtási terv megfelel-e az elvárásainak, mielőtt módosítanák a tényleges erőforrásokat. - Az opcionális
-outparaméter lehetővé teszi a terv kimeneti fájljának megadását.-outA paraméter használatával biztosítható, hogy a vizsgált terv pontosan az alkalmazott legyen.
Alkalmazzon egy Terraform végrehajtási tervet
Futassa a terraform apply parancsot a végrehajtási terv alkalmazásához a felhőinfrastruktúrájára.
terraform apply main.tfplan
Főbb pontok:
- A példaparancs
terraform applyfeltételezi, hogy korábban futtatta aterraform plan -out main.tfplan. - Ha másik fájlnevet adott meg a
-outparaméterhez, használja ugyanazt a fájlnevet a hívásbanterraform apply. - Ha nem használta a paramétert
-out, hívjonterraform applyparaméterek nélkül.
Az eredmények ellenőrzése
Kérje le az Azure erőforrás nevét, ahol létrehozta a Azure AI Keresés szolgáltatást.
resource_group_name=$(terraform output -raw resource_group_name)Kérje le az Azure AI Keresés szolgáltatás nevét.
azurerm_search_service_name=$(terraform output -raw azurerm_search_service_name)Futtassa az search service show a cikkben létrehozott Azure AI Keresés szolgáltatás megjelenítésére.
az search service show --name $azurerm_search_service_name \ --resource-group $resource_group_name
Erőforrások megtisztítása
Ha már nincs szüksége a Terraformon keresztül létrehozott erőforrásokra, hajtsa végre az alábbi lépéseket:
Futtassa a terraform plan parancsot, és adja meg a
destroykapcsolót.terraform plan -destroy -out main.destroy.tfplanFőbb pontok:
- A
terraform planparancs létrehoz egy végrehajtási tervet, de nem hajtja végre. Ehelyett meghatározza, hogy milyen műveletek szükségesek a konfigurációs fájlokban megadott konfiguráció létrehozásához. Ez a minta lehetővé teszi annak ellenőrzését, hogy a végrehajtási terv megfelel-e az elvárásainak, mielőtt módosítanák a tényleges erőforrásokat. - Az opcionális
-outparaméter lehetővé teszi a terv kimeneti fájljának megadását.-outA paraméter használatával biztosítható, hogy a vizsgált terv pontosan az alkalmazott legyen.
- A
Futtassa a terraform apply parancsot a végrehajtási terv alkalmazásához.
terraform apply main.destroy.tfplan
A Terraform hibaelhárítása az Azure-ban
A Terraform Azure-beli használatakor felmerülő gyakori problémák elhárítása