Membuat VPC dan cluster dengan Terraform

Ringkasan

Terraform adalah alat open source untuk mengonfigurasi lingkungan cloud seperti AWS dan menginstal software seperti Kubernetes di lingkungan tersebut. Anda dapat mengonfigurasi lingkungan AWS dan membuat cluster di dalamnya dengan Terraform atau dengan petunjuk penginstalan GKE di AWS.

Halaman ini menjelaskan cara menggunakan Terraform untuk mengonfigurasi lingkungan AWS dan menginstal cluster menggunakan konfigurasi contoh yang disimpan di GitHub. Halaman ini ditujukan bagi administrator dan Operator IT yang ingin menyiapkan, memantau, dan mengelola infrastruktur cloud, mengotomatiskan deployment, serta menggunakan template dan konfigurasi deklaratif. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna umum GKE Enterprise. Google Cloud

Untuk menggunakan skrip ini, Anda harus memiliki pemahaman dasar tentang Terraform. Khususnya, Anda harus mengedit file konfigurasi Terraform untuk menambahkan informasi pengguna dan project Anda sendiri serta melakukan perubahan yang diperlukan pada konfigurasi cluster default.

Untuk mengonfigurasi lingkungan AWS dan membuat cluster tanpa menggunakan Terraform, lihat Ringkasan prasyarat AWS dan petunjuk untuk membuat cluster.

Fungsi skrip

Skrip ini mengonfigurasi Terraform untuk membuat VPC AWS dan men-deploy cluster di dalamnya. VPC yang dihasilkan memenuhi semua prasyarat GKE di AWS dan memiliki topologi jaringan yang sama dengan VPC yang dibuat oleh petunjuk pembuatan VPC manual Google.

Cluster yang dibuat oleh skrip yang ditetapkan memiliki karakteristik berikut:

  • tiga node bidang kontrol (satu di setiap tiga zona ketersediaan yang dikonfigurasi). Node ini berjenis t3.large.
  • Satu node pool dengan dua node berjenis t3.large. Node pool ini di-deploy di region us-east-1 AWS dan dapat melakukan penskalaan otomatis hingga lima node.

Cara mengubah VPC dan cluster default

Anda dapat mengubah karakteristik VPC dan cluster yang dibuat oleh skrip Terraform dengan mengedit file Terraform yang sesuai.

  • Sesuaikan region dan zona ketersediaan dengan mengedit file variables.tf.
  • Ubah jenis instance AWS.
  • Ubah karakteristik VPC, termasuk subnet, zona ketersediaan, dan load balancer, dengan mengedit file di subfolder modules/vpc.

Untuk mengetahui daftar region AWS yang dikontrol dari region Google Cloud tertentu dan versi Kubernetes terkaitnya, jalankan perintah berikut:

gcloud container aws get-server-config --location `GOOGLE_CLOUD_REGION`

Ganti GOOGLE_CLOUD_REGION dengan nama Google Cloud region yang Anda inginkan GKE di AWS untuk mengontrol cluster Anda.

Prasyarat

  1. Instal Google Cloud CLI dengan petunjuk penginstalan Google Cloud CLI. Jika Anda sudah menginstalnya, gunakan petunjuk ini untuk memastikan Anda menjalankan versi 412.0.0 atau yang lebih tinggi.

  2. Instal AWS CLI dengan petunjuk penginstalan AWS CLI.

  3. Buat kunci akses AWS Anda.

  4. Konfigurasi lingkungan AWS lokal Anda dengan perintah berikut:

    aws configure
    

Siapkan Terraform

  1. Konfigurasi autentikasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud config set project GOOGLE_PROJECT_ID
    gcloud auth application-default login --no-launch-browser
    
  2. Aktifkan layanan yang diperlukan di project Google Cloud Anda.

    gcloud --project="GOOGLE_PROJECT_ID" services enable \
      gkemulticloud.googleapis.com \
      gkeconnect.googleapis.com \
      connectgateway.googleapis.com \
      cloudresourcemanager.googleapis.com \
      anthos.googleapis.com \
      logging.googleapis.com \
      monitoring.googleapis.com \
      opsconfigmonitoring.googleapis.com
    

    Ganti GOOGLE_PROJECT_ID dengan project ID Google Anda.

  3. Buat salinan lokal repositori dan ubah ke folder AWS:

    git clone https://github.com/GoogleCloudPlatform/anthos-samples.git
    cd anthos-samples/anthos-multi-cloud/AWS
    

Men-deploy GKE di AWS

  1. Edit baris berikut dalam file terraform.tfvars untuk mengganti nilai default:

    gcp_project_id = GOOGLE_PROJECT_ID
    admin_users = ["GCP_ACCOUNT_EMAIL"]
    cluster_version = GKE_VERSION
    

    Ganti kode berikut:

    • GOOGLE_PROJECT_ID: project ID Google Anda. Anda dapat menemukannya di sisi kiri halaman dasbor Google Cloud console.

    • ACCOUNT_EMAILS: daftar alamat email yang dipisahkan koma yang dapat login ke cluster setelah dibuat—misalnya "admin@example.com","operator@example.com". Setidaknya satu alamat harus memiliki akun. Google Cloud Untuk menambahkan penyedia identitas tambahan ke cluster Anda, lihat Mengelola identitas dengan GKE Identity Service.

    • GKE_VERSION: versi GKE yang didukung untuk region yang Anda pilih. Untuk menemukan versi yang didukung, lihat Pembuatan versi dan dukungan GKE di AWS.

  2. Lakukan inisialisasi dan buat rencana Terraform:

    terraform init
    

    Terraform menginstal library yang diperlukan, seperti Google Cloud penyedia.

  3. Terapkan rencana Terraform untuk membuat AWS Virtual Private Cloud dan cluster:

    terraform apply
    

    Ikuti petunjuk untuk mulai membuat cluster.

Penginstalan memerlukan waktu sekitar 12 menit. Setelah Terraform selesai membuat AWS Virtual Private Cloud dan cluster, Terraform akan mencetak informasi tentang cluster dan membuat file bernama var.sh. Anda dapat menggunakan nilai dalam file ini jika membuat node pool tambahan.

Untuk memverifikasi bahwa cluster telah berhasil dibuat, tunggu hingga cluster muncul di halaman Kubernetes Engine di konsol Google Cloud project Google Cloud Anda.

Hubungkan ke cluster Anda

Untuk memverifikasi konektivitas ke cluster dan mengambil detailnya, jalankan perintah berikut:

   gcloud container fleet memberships get-credentials CLUSTER_NAME
   kubectl get nodes

Ganti CLUSTER_NAME dengan nama cluster Anda. Anda dapat menemukan nama cluster di file output Terraform var.sh.

Output menyertakan daftar node di cluster Anda dan statusnya.

Menghapus cluster dan AWS Virtual Private Cloud

Sebelum menghapus cluster dan AWS Virtual Private Cloud, Anda harus menghapus semua hal berikut:

  • Load balancer AWS aktif di AWS Virtual Private Cloud
  • Node pool tambahan di cluster Anda yang tidak dibuat dengan Terraform
  • Cluster tambahan di Virtual Private Cloud AWS yang tidak dibuat dengan Terraform

Untuk menghapus cluster dan AWS Virtual Private Cloud yang Anda buat dengan Terraform, jalankan perintah berikut:

terraform destroy

Terraform menguras workload dari node Anda, menghapus node pool dan cluster utama, serta menghapus Virtual Private Cloud AWS Anda.

Memberi otorisasi Cloud Logging dan Cloud Monitoring

Jika ingin mengaktifkan Cloud Logging dan Cloud Monitoring, Anda harus menambahkan kebijakan izinkan ke project Google Cloud setelah membuat cluster.

Tambahkan kebijakan izinkan dengan Google Cloud CLI:

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
--role=roles/gkemulticloud.telemetryWriter

Ganti PROJECT_ID dengan project ID Anda.

Langkah berikutnya

Untuk mengetahui informasi selengkapnya tentang skrip Terraform GKE di AWS, lihat