Aracılığıyla paylaş


Terraform kullanarak Kubernetes kümeleri oluşturma (önizleme)

Bu makalede Terraform ve Azure Doğrulanmış Modülü kullanılarak Azure Yerel'de Kubernetes kümelerinin nasıl oluşturulacağı açıklanır. İş akışı aşağıdaki gibidir:

  • Bir SSH anahtar çifti oluşturun.
  • Terraform kullanarak Azure Yerel 23H2'de bir Kubernetes kümesi oluşturun. Varsayılan olarak, küme Azure Arc bağlantılıdır.
  • Dağıtımı doğrulayın ve kümeye bağlanın.

Önemli

Bu önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. Azure Arc önizlemeleri tarafından etkinleştirilen Azure Kubernetes Service, müşteri desteği kapsamındadır.

Başlamadan önce

Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

  1. Şirket içi altyapı yöneticinizden aşağıdaki ayrıntıları alın:
    • Azure abonelik kimliği: Dağıtım ve kayıt için Azure Yerel'i kullanan Azure abonelik kimliği.
    • Özel konum adı veya kimliği: Özel konumun Azure Resource Manager Kimliği. Özel konum, Azure Yerel küme dağıtımı sırasında yapılandırılır. Altyapı yöneticiniz size özel konumun Resource Manager kimliğini vermelidir. Kubernetes kümeleri oluşturmak için bu parametre gereklidir. Ayrıca, altyapı yöneticisi özel bir konum adı ve kaynak grubu adı sağlıyorsa Resource Manager kimliğini kullanarak az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsvda alabilirsiniz.
    • Mantıksal ağ adı veya kimliği: Bu adımları izleyerek oluşturulan Azure Yerel mantıksal ağının Azure Resource Manager Kimliği. Yöneticiniz size mantıksal ağın kimliğini vermelidir. Kubernetes kümeleri oluşturmak için bu parametre gereklidir. Mantıksal ağın oluşturulduğu kaynak grubunu biliyorsanız kullanarak az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv Azure Resource Manager kimliğini de alabilirsiniz.
  2. Geliştirme makinenizde GitHub, Azure CLI'nın en son sürümü ve Terraform istemcisinin yüklü olduğundan emin olun.
  3. Geliştirme makinenize kubectl indirip yükleyin.

SSH anahtar çifti oluşturma

SSH anahtar çifti (Azure AKS ile aynı) oluşturmak için aşağıdaki yordamı kullanın:

  1. Tarayıcınızda bir Cloud Shell oturumu açın.

  2. az sshkey create komutunu, portaldan veya komutu kullanarak bir SSH anahtar çifti ssh-keygen oluşturun:

    az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"
    

    veya

    ssh-keygen -t rsa -b 4096 
    
  3. Ortak anahtarınızın değerini Azure'dan veya /.ssh/id_rsa.pub altındaki yerel makinenizden alın.

Azure'da oturum açma

Terraform yalnızca az loginkullanarak Azure CLI ile Azure'da kimlik doğrulamayı destekler. Azure PowerShell kullanarak kimlik doğrulaması desteklenmez. Bu nedenle, Terraform çalışmanızı yaparken Azure PowerShell modülünü kullanabilirsiniz ancak önce Azure kimlik doğrulamasıgerekir:

az login 

Terraform kodunu uygulama

  1. Örnek Terraform kodunu test etmek için kullanabileceğiniz bir dizin oluşturun ve bunu geçerli dizininiz yapın.

  2. Aynı dizinde providers.tf adlı bir dosya oluşturun ve aşağıdaki kodu yapıştırın:

    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 
      } 
     } 
    }
    
  3. En son AKS Arc AVM modülüne işaret eden main.tf adlı başka bir dosya oluşturun ve aşağıdaki kodu ekleyin. Modülün açıklamasını ve girişini okuyabilir ve gerektiğinde isteğe bağlı parametreler ekleyebilirsiniz. Yönetici grubu nesne kimliğini bulmak için bkz. Kubernetes kümeleri için Microsoft Entra kimlik doğrulamasını etkinleştirme. Bu kılavuzu izleyerek Azure ortamınızda bulabilirsiniz.

    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>"]
    }
    

Terraform'u başlatma

Terraform dağıtımını başlatmak için komutunu çalıştırın terraform init . Gerekli sağlayıcı eklentilerini en son sürüme yükseltmek için bayrağını kullandığınızdan -upgrade emin olun:

terraform init -upgrade

Terraform yürütme planı oluştur ve uygula

Bu adımdan önce az login çalıştırdığınızdan ve Azure'da kimlik doğrulaması yaptığınızdan emin olun; aksi takdirde Terraform planını uygulama başarısız olur. Yürütme planı oluşturmak için terraform plan çalıştırın, ardından çıkış dosyasını bulut altyapınıza uygulamak için terraform apply çalıştırın:

terraform plan -out main.tfplan 
terraform apply main.tfplan 

Komut yürütülür ve kaynak başarıyla sağlandıktan sonra başarı döndürür.

Dağıtımı doğrulama ve kümeye bağlanma

Artık geliştirme makinenizden çalıştırarak az connectedk8s proxy Kubernetes kümenize bağlanabilirsiniz. Düğüm ve pod durumunu görmek için kubectl de kullanabilirsiniz. Kubernetes kümesine bağlanma bölümünde açıklanan adımların aynısını izleyin.

Sonraki adımlar

Kubernetes kümesine bağlanma