Deploy Azure AKS with Terraform or Azure CLI – Quick Implement

By | November 29, 2024

Bu kısa makalemizde terraform kullanarak çok hızlı şekilde AKS cluster’ı nasıl deploy edebileceğinizi göstereceğim.

Terraform Gereksinimleri

Terraform kullanarak AKS üzerine uygulama deploy etmek için aşağıdaki gereksinimler sağlanmalıdır:

  • Terraform v1.5+
  • Azure CLI v2.45.0+
  • AKS Cluster
  • tfvars dosyaları

Terraform ile Deploy

terraform init

Örnek uygulamayı deploy etmeden önce aşağıdaki parametreleri tfvars dosyasında güncelliyoruz.

  • cluster_name – Deploy edeceğimiz AKS cluster’ının adı.
  • resource_group_name – AKS cluster’ının bulunduğu rg.
  • subscription_id – AKS cluster’ın bulunduğu subscription’ın id’si.

Varsayılan config ile deploy etmek için aşağıdaki komutu kullanabiliriz.

terraform apply -var-file="azure-vote-without-config.tfvars"

Özelleştirilmiş yapılandırmayla deploy etmek için gereken komut:

terraform apply -var-file="azure-vote-with-config.tfvars"

Azure CLI ile Deploy

Azure hesabımıza login oluyoruz.

az login

Subscription’ı set ediyoruz.

az account set --subscription <subscription_id>

azure-vote uygulamasını deploy etmek için aşağıdaki komutu çalıştırıyoruz.

az k8s-extension create --name azure-vote \
  --scope cluster \
  --cluster-name <clusterName> \
  --resource-group <resourceGroupName> \
  --cluster-type managedClusters \
  --extension-type commercialMarketplaceServices.AzureVote \
  --plan-name azure-vote-paid \
  --plan-product azure-vote-final-1 \
  --plan-publisher microsoft_commercial_marketplace_services \
  --configuration-settings title=VoteAnimal value1=Cats value2=Dogs

Config’i güncellemek için:

az k8s-extension update --name azure-vote \
--cluster-name <clusterName> \
--resource-group <resourceGroupName> \
--cluster-type managedClusters \
--configuration-settings value1=Elephant value2=Horse

Sonuç

Terraform ve Azure CLI ile Kubernetes uygulamalarını deploy etmek, süreci otomatize eder ve kodla yönetilebilir hale getirir. Bu yöntem, Infrastructure-as-Code yaklaşımıyla tekrarlanabilir ve sürdürülebilir dağıtımlar sağlar.

Leave a Reply

Your email address will not be published. Required fields are marked *