Bagikan melalui


Membuat kluster Kubernetes menggunakan Terraform (pratinjau)

Artikel ini menjelaskan cara membuat kluster Kubernetes di Azure Local menggunakan Terraform dan Modul Terverifikasi Azure. Alur kerjanya adalah sebagai berikut:

  • Buat pasangan kunci SSH.
  • Buat kluster Kubernetes di Azure Local 23H2 menggunakan Terraform. Secara default, kluster terhubung dengan Azure Arc.
  • Validasi penyebaran dan sambungkan ke kluster.

Penting

Fitur pratinjau ini tersedia berdasarkan layanan mandiri dengan dasar pilihan. Pratinjau disediakan "apa adanya" dan "sesuai dengan ketersediaannya", dan dikecualikan dari perjanjian tingkat layanan serta garansi terbatas. Azure Kubernetes Service, yang diaktifkan oleh pratinjau Azure Arc sebagian dicakup oleh dukungan pelanggan berdasarkan upaya terbaik.

Sebelum Anda mulai

Pastikan Anda memiliki prasyarat berikut sebelum memulai:

  1. Dapatkan detail berikut dari administrator infrastruktur lokal Anda:
    • ID langganan Azure: ID langganan Azure yang menggunakan Azure Local untuk penyebaran dan pendaftaran.
    • Nama lokasi kustom atau ID: ID Azure Resource Manager dari lokasi kustom. Lokasi kustom dikonfigurasi selama penyebaran kluster Azure Local. Admin infrastruktur Anda harus memberi Anda ID Resource Manager dari lokasi kustom. Parameter ini diperlukan untuk membuat kluster Kubernetes. Anda juga bisa mendapatkan ID Resource Manager menggunakan az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv, jika admin infrastruktur menyediakan nama lokasi kustom dan nama grup sumber daya.
    • Nama atau ID jaringan logis: ID Azure Resource Manager dari jaringan logis Lokal Azure yang dibuat mengikuti langkah-langkah ini. Admin Anda harus memberi Anda ID jaringan logis. Parameter ini diperlukan untuk membuat kluster Kubernetes. Anda juga bisa mendapatkan ID Azure Resource Manager menggunakan az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv jika Anda mengetahui grup sumber daya tempat jaringan logis dibuat.
  2. Pastikan Anda memiliki GitHub, versi terbaru Azure CLI, dan klien Terraform yang diinstal pada komputer pengembangan Anda.
  3. Unduh dan instal kubectl pada komputer pengembangan Anda.

Membuat pasangan kunci SSH

Buat pasangan kunci SSH di Azure dan simpan file kunci privat untuk tujuan pemecahan masalah dan pengumpulan log. Untuk instruksi mendetail, lihat Membuat dan menyimpan kunci SSH dengan Azure CLI atau di portal Microsoft Azure .

  1. Buka sesi Cloud Shell di browser web Anda atau luncurkan terminal di komputer lokal Anda.

  2. Buat pasangan kunci SSH menggunakan perintah az sshkey create:

    az sshkey create --name "mySSHKey" --resource-group $<resource_group_name>
    

    atau, gunakan perintah ssh-keygen:

    ssh-keygen -t rsa -b 4096 
    
  3. Ambil nilai kunci publik Anda dari Azure atau dari komputer lokal Anda di bawah /.ssh/id_rsa.pub.

Untuk opsi lainnya, Anda dapat mengikuti Mengonfigurasi kunci SSH untuk kluster AKS membuat kunci SSH, atau menggunakan Membatasi akses SSH selama pembuatan kluster. Untuk mengakses node setelahnya, lihat Menghubungkan ke node pekerja Windows atau Linux dengan SSH.

Masuk ke Azure

Terraform hanya mendukung autentikasi ke Azure dengan Azure CLI menggunakan az login. Autentikasi menggunakan Azure PowerShell tidak didukung. Oleh karena itu, meskipun Anda dapat menggunakan modul Azure PowerShell saat melakukan pekerjaan Terraform, Anda harus terlebih dahulu mengautentikasi ke Azure:

az login 

Menerapkan kode Terraform

  1. Buat direktori yang dapat Anda gunakan untuk menguji sampel kode Terraform, dan menjadikannya direktori Anda saat ini.

  2. Di direktori yang sama, buat file bernama providers.tf dan tempelkan kode berikut:

    terraform { 
     required_version = "~> 1.5" 
     required_providers { 
       azapi = { 
         source  = "azure/azapi" 
         version = "~> 2.0" 
       } 
       azurerm = { 
        source  = "hashicorp/azurerm" 
        version = "~> 4.0" 
       } 
      }
     }
    
     provider "azurerm" { 
     features { 
      resource_group { 
       prevent_deletion_if_contains_resources = false 
      } 
     } 
    }
    
  3. Buat file lain bernama main.tf yang menunjuk ke modul AKS Arc AVM terbaru, dan sisipkan kode berikut. Anda dapat membaca deskripsi dan input modul dan menambahkan parameter opsional sesuai kebutuhan. Untuk menemukan ID objek grup admin, lihat Mengaktifkan autentikasi Microsoft Entra untuk kluster Kubernetes. Anda dapat mengikuti panduan ini untuk menemukannya di lingkungan Azure Anda. Untuk mengaktifkan Azure RBAC, perbarui parameter yang sesuai dan lihat Aktifkan Azure RBAC untuk Otorisasi Kubernetes untuk melihat prasyaratnya.

    module "aks_arc" { 
    # Make sure to use the latest AVM module version
    source = "Azure/avm-res-hybridcontainerservice-provisionedclusterinstance/azurerm" 
    version = "~>2.0"
    
    # 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_azure_rbac = false
    enable_workload_identity = false 
    enable_oidc_issuer = false 
    rbac_admin_group_object_ids = ["<Admin_Group_Object_ID>"]
    }
    

Mulai Inisialisasi Terraform

Jalankan terraform init untuk memulai penyebaran Terraform. Pastikan untuk menggunakan -upgrade bendera untuk meningkatkan plugin penyedia yang diperlukan ke versi terbaru:

terraform init -upgrade

Membuat rencana eksekusi Terraform dan menerapkan

Pastikan Anda menjalankan az login dan mengautentikasi ke Azure sebelum langkah ini, jika tidak, penerapan paket Terraform gagal. Jalankan terraform plan untuk membuat rencana eksekusi, lalu jalankan terraform apply untuk menerapkan file output ke infrastruktur cloud Anda:

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

Perintah dijalankan, lalu mengembalikan keberhasilan setelah sumber daya berhasil disediakan.

Memvalidasi penyebaran dan menyambungkan ke kluster

Anda sekarang dapat terhubung ke kluster Kubernetes dengan menjalankan az connectedk8s proxy dari komputer pengembangan Anda. Anda juga dapat menggunakan kubectl untuk melihat status simpul dan pod. Ikuti langkah yang sama seperti yang dijelaskan dalam Sambungkan ke kluster Kubernetes.

Langkah berikutnya

Menyambungkan ke kluster Kubernetes