Prasyarat

Halaman ini menjelaskan langkah-langkah yang perlu Anda selesaikan sebelum menginstal GKE di AWS.

Environment

Untuk menginstal GKE di AWS, Anda memerlukan lingkungan tempat Anda dapat menginstal dan menjalankan berbagai alat. Langkah-langkah berikut mengasumsikan bahwa Anda menggunakan bash shell di Linux atau macOS. Jika tidak memiliki akses ke lingkungan bash shell, Anda dapat menggunakan Cloud Shell.

Persyaratan AWS

Untuk menyelesaikan topik ini, Anda memerlukan akun AWS dengan akses command line dan dua kunci AWS Key Management Service (KMS) di region yang sama dengan cluster pengguna Anda.

Untuk informasi selengkapnya tentang resource AWS lain yang diperlukan, lihat Persyaratan.

Mengonfigurasi AWS

Sebelum memulai

Sebelum menyelesaikan bagian ini:

  • Download dan instal AWS CLI. Konfirmasi penginstalan dengan menjalankan aws --version. Jika file yang dapat dieksekusi tidak ditemukan, tambahkan alat aws ke PATH Anda.
  • Konfigurasikan kredensial IAM AWS dan region AWS Anda dengan aws configure.

Izin pengguna admin

GKE di AWS mengharuskan pembuat layanan pengelolaan memiliki izin tertentu. Sebelum dapat membuat layanan pengelolaan atau cluster pengguna, buat atau dapatkan akses ke Kredensial IAM AWS yang memenuhi Persyaratan.

Membuat kunci KMS

GKE di AWS memerlukan dua kunci AWS KMS. Kunci KMS mengenkripsi:

  • Data selama proses penginstalan dengan enkripsi envelope.
  • Rahasia lapisan aplikasi dalam cluster pengguna Anda.

Ikuti langkah-langkah di bawah ini untuk membuat dua kunci KMS AWS.

Command Line

  1. Buat kunci KMS di akun AWS Anda.

    aws kms create-key
    

    Output-nya mencakup metadata kunci.

  2. Pada output dari perintah sebelumnya, salin Amazon Resource name (ARN) kunci dari kolom Arn. Misalnya, kunci di region us-west-2 memiliki ARN arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  3. Buat alias untuk kunci tersebut dengan aws kms create-alias. alias memungkinkan Anda mengelola kunci AWS KMS berdasarkan nama.

    aws kms create-alias \
        --alias-name=alias/key-name \
        --target-key-id=key-arn
    
  4. Ulangi langkah sebelumnya untuk kunci lainnya.

Konsol

  1. Login ke konsol AWS.
  2. Buka KMS, lalu pilih Kunci yang dikelola pelanggan dari sidebar.
  3. Klik Buat Kunci.
  4. Biarkan opsi default tetap dipilih.
  5. Setelah dibuat, pilih kunci dari daftar.
  6. Salin ARN kunci.
  7. Ulangi langkah sebelumnya untuk kunci lainnya.

Persyaratan Google Cloud

Batasan keamanan yang ditentukan oleh organisasi mungkin mencegah Anda menyelesaikan langkah-langkah berikut. Untuk mengetahui informasi pemecahan masalah, lihat Mengembangkan aplikasi di lingkungan Google Cloud yang terbatas.

Sebelum memulai

  • Pastikan Anda memiliki izin Project Owner di Akun Google untuk mengaktifkan API di project Google Cloud tempat Anda menghubungkan GKE di lingkungan AWS. Di bagian berikut, Anda hanya dapat menggunakan izin Pemilik untuk membuat GKE pada akun layanan AWS.

  • Instal Google Cloud CLI.

  • GKE Enterprise API harus diaktifkan untuk project Google Cloud Anda. Dengan mengaktifkan API ini, Anda dapat menggunakan fitur GKE Enterprise lainnya dengan project Google Cloud Anda.

Membuat GKE Anda di akun layanan AWS

Di bagian ini, Anda akan membuat tiga akun layanan IAM dan kunci untuk GKE di AWS. Akun layanan ini dijelaskan dalam daftar berikut:

Nama Peran Deskripsi
management-sa gkehub.admin Izin untuk mengelola keanggotaan Hub
hub-sa gkehub.connect Izin untuk menyiapkan Menghubungkan antara cluster pengguna dan Hub.
node-sa storage.objectViewer Izin untuk mengakses Container Registry.

Command Line

  1. Melakukan autentikasi dengan Google Cloud CLI.

    gcloud auth login &&\
    gcloud auth application-default login
    

    Anda akan diminta dua kali untuk membuka cloud.google.com dan melakukan autentikasi dengan Akun Google Anda.

  2. Tetapkan project Google Cloud Anda sebagai variabel lingkungan dan tetapkan project-id default dengan gcloud CLI.

    export PROJECT_ID=project-id
    
    gcloud config set project $PROJECT_ID
    

    Ganti nilai project-id dengan project Google Cloud Anda.

  3. Mengaktifkan Google Cloud API.

    gcloud services enable anthos.googleapis.com
    gcloud services enable cloudresourcemanager.googleapis.com
    gcloud services enable gkehub.googleapis.com
    gcloud services enable gkeconnect.googleapis.com
    gcloud services enable logging.googleapis.com
    gcloud services enable monitoring.googleapis.com
    gcloud services enable serviceusage.googleapis.com
    gcloud services enable stackdriver.googleapis.com
    gcloud services enable storage-api.googleapis.com
    gcloud services enable storage-component.googleapis.com
    
  4. Buat akun layanan dengan gcloud dengan menjalankan perintah berikut.

    gcloud iam service-accounts create management-sa
    gcloud iam service-accounts create hub-sa
    gcloud iam service-accounts create node-sa
    
  5. Download kunci untuk setiap akun layanan dengan gcloud dengan menjalankan perintah berikut.

    gcloud iam service-accounts keys create management-key.json \
         --iam-account management-sa@$PROJECT_ID.iam.gserviceaccount.com
    gcloud iam service-accounts keys create hub-key.json \
         --iam-account hub-sa@$PROJECT_ID.iam.gserviceaccount.com
    gcloud iam service-accounts keys create node-key.json \
         --iam-account node-sa@$PROJECT_ID.iam.gserviceaccount.com
    
  6. Memberikan peran ke akun layanan pengelolaan.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:management-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.admin
    
  7. Memberikan peran ke akun layanan hub.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.connect
    
  8. Memberikan peran ke akun layanan node.

    gcloud projects add-iam-policy-binding \
          $PROJECT_ID \
          --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \
          --role roles/storage.objectViewer
    

Konsol

  1. Buka halaman Library API Konsol Google Cloud.
  2. Pilih proyek yang Anda sukai dari menu {i>dropdown<i} di bagian atas layar.
  3. Temukan dan aktifkan API berikut.

    • Anthos
    • Cloud Resource Manager
    • Cloud Storage
    • Cloud Logging
    • Google Cloud Storage JSON API
    • GKE Hub
    • API GKE Connect
    • Service Usage
    • Stackdriver
    • Stackdriver Monitoring
  4. Buka halaman Service Accounts.

  5. Selanjutnya, buat akun layanan dan tetapkan peran untuk akun layanan management-sa.

    1. Klik Create service account.
    2. Beri nama di folder pengelolaan akun, lalu klik Buat. Layar Grant this service account access to project akan muncul.
    3. Tambahkan peran Admin GKE HUB.
    4. Klik Lanjutkan. Layar Berikan pengguna akses ke akun layanan ini akan muncul.
    5. Klik Selesai. Layar Service accounts for project akan muncul.
    6. Cari baris yang berisi Email akun layanan Anda, management-sa@project_id.iam.gserviceaccount.com.
    7. Klik menu tindakan untuk akun layanan, lalu pilih Manage keys.
    8. Klik menu drop-down Tambahkan kunci.
    9. Klik Create new key.
    10. Pilih JSON sebagai jenis kunci Anda dan klik Create. Browser akan mendownload kunci akun layanan.
    11. Ganti nama file management-key.json.
  6. Selanjutnya, buat akun layanan dan tetapkan peran untuk akun layanan hub-sa.

    1. Klik Create service account.
    2. Beri nama akun hub-sa, lalu klik Buat. Layar Grant this service account access to project akan muncul.
    3. Tambahkan peran GKE Hub Connection Agent.
    4. Klik Lanjutkan. Layar Berikan pengguna akses ke akun layanan ini akan muncul.
    5. Klik Selesai. Layar Service accounts for project akan muncul.
    6. Cari baris yang berisi Email akun layanan Anda, hub-sa@project_id.iam.gserviceaccount.com.
    7. Klik menu tindakan untuk akun layanan, lalu pilih Manage keys.
    8. Klik menu drop-down Tambahkan kunci.
    9. Klik Create new key.
    10. Pilih JSON sebagai jenis kunci Anda dan klik Create. Browser akan mendownload kunci akun layanan.
    11. Ganti nama file hub-key.json.
  7. Selanjutnya, buat akun layanan dan tetapkan peran untuk akun layanan node-sa.

    1. Klik Create service account.
    2. Beri nama node-sa akun dan klik Create. Layar Grant this service account access to project akan muncul.
    3. Menambahkan peran Storage Object Viewer.
    4. Klik Selesai. Layar Service accounts for project akan muncul.
    5. Cari baris yang berisi Email akun layanan Anda, node-sa@project_id.iam.gserviceaccount.com.
    6. Klik menu tindakan untuk akun layanan, lalu pilih Manage keys.
    7. Klik menu drop-down Tambahkan kunci.
    8. Klik Create new key.
    9. Pilih JSON sebagai jenis kunci Anda dan klik Create. Browser akan mendownload kunci akun layanan.
    10. Ganti nama file node-key.json.

alat command line anthos-gke

anthos-gke adalah alat command line untuk GKE di AWS. Anda menggunakan anthos-gke untuk membuat konfigurasi dan Menginstal layanan pengelolaan. Versi terbaru anthos-gke adalah aws-1.14.1-gke.0.

Alat command line anthos-gke hanya mendukung Linux dan macOS.

  1. Download biner dari Cloud Storage.

    Linux

    gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
    

    macOS

    gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
    
  2. Perbarui izin anthos-gke dan salin ke /usr/local/bin.

    chmod 755 anthos-gke
    sudo mv anthos-gke /usr/local/bin
    
  3. Pastikan versinya adalah aws-1.14.1-gke.0

    anthos-gke version
    

Izin untuk alat command line anthos-gke

Untuk menggunakan alat command line anthos-gke, pengguna yang menjalankan perintah harus memiliki peran ServiceUsageViewer dan StorageAdmin. Untuk menambahkan peran ke akun utama IAM, jalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT_NAME \
    --member user:USER_NAME \
    --role roles/serviceusage.serviceUsageViewer
gcloud projects add-iam-policy-binding PROJECT_NAME \
    --member user:USER_NAME \
    --role roles/storage.admin

Ganti kode berikut:

  • PROJECT_NAME: proyek Google Cloud Anda
  • USER_NAME: nama pengguna yang menjalankan alat command line anthos-gke. Jika Anda menggunakan akun layanan, gunakan serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Terraform

Alat anthos-gke menghasilkan file konfigurasi Terraform dan memanggil alat command line terraform.

GKE di AWS memerlukan versi Terraform yang lebih tinggi dari v0.14.3. Anda dapat memeriksa versi Terraform dengan perintah berikut:

terraform version

Jika Anda tidak memiliki Terraform v0.14.3 atau yang lebih baru, Download dan instal Terraform sebelum membuat layanan pengelolaan.

Mengupgrade Terraform

Untuk mengupgrade Terraform setelah menginstal GKE di AWS, Anda harus mengupgrade biner Terraform melalui setiap versi minor secara berurutan.

Misalnya, jika ingin mengupgrade Terraform dari v0.12.x ke v0.14.x, Anda harus menginstal v0.13.x untuk sementara. Setelah menginstal v0.13.x, jalankan anthos-gke aws management init dan anthos-gke aws management apply. GKE di AWS memperbarui konfigurasi Anda. Anda kemudian dapat mengupgrade ke v0.14.x.

Kubernetes

GKE di AWS memerlukan kubectl versi 1.17 atau yang lebih tinggi. Anda dapat memeriksa versi kubectl dengan menjalankan:

kubectl version --client -o yaml | grep gitVersion

Jika Anda tidak memiliki versi 1.17 atau yang lebih tinggi, instal versi kubectl yang lebih baru.

Langkah selanjutnya