nasazení Azure Cosmos DB do Azure Container Instances
v tomto článku se naučíte, jak pomocí terraformu nasadit Azure Cosmos DB k Azure Container Instances.
V tomto článku získáte informace o těchto tématech:
- vytvoření instance Azure Cosmos DB
- Vytvoření instance kontejneru Azure
- Vytvoření aplikace, která funguje v těchto dvou prostředcích
1. konfigurace prostředí
- Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
Konfigurace terraformu: Pokud jste to ještě neudělali, nakonfigurujte Terraformu pomocí jedné z následujících možností:
2. Vytvoření první konfigurace
v této části vytvoříte konfiguraci pro instanci Azure Cosmos DB.
Přihlaste se k webu Azure Portal.
Otevřete Azure Cloud Shell.
Spusťte Editor Cloud Shell:
code main.tfKonfigurace v tomto kroku modeluje několik prostředků Azure. mezi tyto prostředky patří skupina prostředků Azure a instance Azure Cosmos DB. k vytvoření jedinečného názvu instance Cosmos DB slouží náhodné celé číslo. nakonfigurovali jste taky několik nastavení Cosmos DB. další informace najdete v referenčních informacích k Cosmos DB terraformu. Do souboru vložte následující kód:
resource "azurerm_resource_group" "vote-resource-group" { name = "vote-resource-group" location = "westus" } resource "random_integer" "ri" { min = 10000 max = 99999 } resource "azurerm_cosmosdb_account" "vote-cosmos-db" { name = "tfex-cosmos-db-${random_integer.ri.result}" location = azurerm_resource_group.vote-resource-group.location resource_group_name = azurerm_resource_group.vote-resource-group.name offer_type = "Standard" kind = "GlobalDocumentDB" consistency_policy { consistency_level = "BoundedStaleness" max_interval_in_seconds = 10 max_staleness_prefix = 200 } geo_location { location = "westus" failover_priority = 0 } }Uložte soubor ( CTRL > S) a ukončete Editor (>).
3. Spusťte konfiguraci.
V této části použijete několik příkazů Terraformu ke spuštění konfigurace.
Příkaz terraformu init inicializuje pracovní adresář. Spusťte následující příkaz v Cloud Shell:
terraform initK ověření syntaxe konfigurace lze použít příkaz terraformu Plan .
-outParametr přesměruje výsledky do souboru. Výstupní soubor lze použít později pro použití konfigurace. Spusťte následující příkaz v Cloud Shell:terraform plan --out plan.outK aplikování konfigurace se používá příkaz terraformu Apply . Byl zadán výstupní soubor z předchozího kroku. Tento příkaz způsobí vytvoření prostředků Azure. Spusťte následující příkaz v Cloud Shell:
terraform apply plan.outPokud chcete ověřit výsledky v rámci Azure Portal, přejděte do nové skupiny prostředků. nová instance Azure Cosmos DB se nachází v nové skupině prostředků.
4. Konfigurace aktualizace
V této části se dozvíte, jak aktualizovat konfiguraci tak, aby zahrnovala instanci kontejneru Azure. kontejner spustí aplikaci, která čte a zapisuje data do Cosmos DB.
Spusťte Editor Cloud Shell:
code main.tfKonfigurace v tomto kroku nastavuje dvě proměnné prostředí:
COSMOS_DB_ENDPOINTaCOSMOS_DB_MASTERKEY. Tyto proměnné uchovávají umístění a klíč pro přístup k databázi. Hodnoty pro tyto proměnné jsou získány z instance databáze vytvořené v předchozím kroku. Tento proces se označuje jako interpolace. Další informace o interpolaci Terraformu naleznete v tématu syntax interpolace. Konfigurace obsahuje taky výstupní blok, který vrací plně kvalifikovaný název domény (FQDN) instance kontejneru. Do souboru vložte následující kód:resource "azurerm_container_group" "vote-aci" { name = "vote-aci" location = azurerm_resource_group.vote-resource-group.location resource_group_name = azurerm_resource_group.vote-resource-group.name ip_address_type = "public" dns_name_label = "vote-aci" os_type = "linux" container { name = "vote-aci" image = "microsoft/azure-vote-front:cosmosdb" cpu = "0.5" memory = "1.5" ports { port = 80 protocol = "TCP" } secure_environment_variables = { "COSMOS_DB_ENDPOINT" = azurerm_cosmosdb_account.vote-cosmos-db.endpoint "COSMOS_DB_MASTERKEY" = azurerm_cosmosdb_account.vote-cosmos-db.primary_master_key "TITLE" = "Azure Voting App" "VOTE1VALUE" = "Cats" "VOTE2VALUE" = "Dogs" } } } output "dns" { value = azurerm_container_group.vote-aci.fqdn }Uložte soubor ( CTRL > S) a ukončete Editor (>).
Jak jste pracovali v předchozí části, spusťte následující příkaz, který provede vizuální změny, které se mají provést:
terraform plan --out plan.outSpusťte
terraform applypříkaz pro použití konfigurace.terraform apply plan.outPoznamenejte si plně kvalifikovaný název domény instance kontejneru.
5. test aplikace
Chcete-li otestovat aplikaci, přejděte k plně kvalifikovanému názvu domény instance kontejneru. Mělo by se zobrazit výsledky podobné následujícímu výstupu:

6. vyčištění prostředků
Pokud už je nepotřebujete, odstraňte prostředky vytvořené v tomto článku.
Pokud chcete odebrat prostředky Azure vytvořené v tomto článku, spusťte příkaz terraformu Destroy :
terraform destroy -auto-approve
Řešení potíží s Terraformu v Azure
Řešení běžných problémů při použití Terraformu v Azure