Ringkasan
Terraform adalah alat open source untuk mengonfigurasi lingkungan cloud seperti AWS dan menginstal software seperti Kubernetes. Anda dapat mengonfigurasi lingkungan AWS dan membuat cluster di dalamnya dengan Terraform atau petunjuk penginstalan GKE on AWS.
Halaman ini menjelaskan cara menggunakan Terraform untuk mengonfigurasi lingkungan AWS Anda dan menginstal cluster menggunakan contoh konfigurasi yang disimpan di GitHub. Untuk menggunakan skrip ini, Anda harus memahami Terraform secara dasar. Secara khusus, Anda harus mengedit file konfigurasi Terraform untuk menambahkan informasi project dan pengguna Anda sendiri, serta membuat 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 berdasarkan petunjuk pembuatan VPC manual Google.
Cluster yang dibuat oleh kumpulan skrip memiliki karakteristik berikut:
- tiga node bidang kontrol (satu dari masing-masing dari tiga zona ketersediaan yang dikonfigurasi). Node ini berjenis t3.large.
- Satu kumpulan node dengan dua node jenis t3.large.
Kumpulan node ini di-deploy di region
us-east-1
AWS dan dapat menskalakan otomatis ke 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 region Google Cloud tempat Anda ingin GKE di AWS untuk mengontrol cluster Anda.
Prasyarat
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.
Instal AWS CLI dengan petunjuk penginstalan AWS CLI.
Buat kunci akses AWS.
Konfigurasikan lingkungan AWS lokal Anda dengan perintah berikut:
aws configure
Menyiapkan Terraform
Konfigurasikan autentikasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud config set project GOOGLE_PROJECT_ID gcloud auth application-default login --no-launch-browser
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.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
Edit baris berikut dalam file
terraform.tfvars
untuk mengganti nilai default:gcp_project_id = GOOGLE_PROJECT_ID admin_users = ["GCP_ACCOUNT_EMAIL"]
Ganti kode berikut:
GOOGLE_PROJECT_ID
: ID project 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 lain ke cluster Anda, baca bagian Mengelola identitas dengan GKE Identity Service.
Lakukan inisialisasi dan buat paket Terraform:
terraform init
Terraform menginstal semua library yang diperlukan, seperti penyedia Google Cloud.
Terapkan paket Terraform untuk membuat AWS Virtual Private Cloud dan cluster:
terraform apply
Ikuti petunjuk untuk mulai membuat cluster.
Penginstalan memerlukan waktu sekitar 12 menit. Setelah selesai membuat cluster dan AWS Virtual Private Cloud Anda, Terraform akan mencetak informasi tentang cluster tersebut dan membuat file bernama var.sh
. Anda dapat menggunakan nilai dalam file ini jika membuat node pool tambahan.
Untuk memverifikasi bahwa cluster berhasil dibuat, perhatikan cluster tersebut muncul di halaman Kubernetes Engine pada Google Cloud Console di project Google Cloud Anda.
Hubungkan ke cluster Anda
Untuk memverifikasi konektivitas ke cluster Anda 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
.
Outputnya mencakup daftar node dalam cluster Anda dan statusnya.
Hapus cluster dan AWS Virtual Private Cloud Anda
Sebelum menghapus cluster dan AWS Virtual Private Cloud, Anda harus menghapus semua hal berikut:
- Semua load balancer AWS yang aktif di AWS Virtual Private Cloud
- Semua kumpulan node tambahan di cluster Anda yang tidak dibuat dengan Terraform
- Semua cluster tambahan di AWS Virtual Private Cloud 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 cluster dan kumpulan node utama Anda, serta menghapus AWS Virtual Private Cloud Anda.
Mengizinkan Cloud Logging dan Cloud Monitoring
Jika ingin mengaktifkan Cloud Logging dan Cloud Monitoring, Anda harus menambahkan kebijakan izin ke project Google Cloud setelah membuat cluster.
Tambahkan kebijakan izin 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 mempelajari logging peristiwa cluster terpusat Google, lihat Cloud Logging.
- Untuk membaca tentang alat Cloud Monitoring Google, lihat Cloud Monitoring.
- Untuk menginstal manajemen konfigurasi terpusat, lihat Mengonfigurasi cluster dengan Pengontrol Konfigurasi.
Untuk mengetahui informasi lebih lanjut tentang Terraform GKE pada skrip AWS, lihat