Prasyarat

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

Lingkungan

Untuk menginstal GKE di AWS, Anda memerlukan lingkungan tempat Anda dapat menginstal dan menjalankan berbagai alat. Langkah-langkah berikut mengasumsikan bahwa Anda menggunakan shell bash di Linux atau macOS. Jika Anda 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 mengetahui informasi selengkapnya tentang resource AWS lain yang diperlukan, lihat Persyaratan.

Mengonfigurasi AWS

Sebelum memulai

Sebelum Anda 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.
  • Konfigurasi kredensial AWS IAM dan region AWS Anda dengan aws configure.

Izin pengguna admin

GKE di AWS mengharuskan pembuat layanan pengelolaan memiliki izin tertentu. Sebelum Anda 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 amplop.
  • Rahasia lapisan aplikasi di cluster pengguna Anda.

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

Command Line

  1. Buat kunci KMS di akun AWS Anda.

    aws kms create-key
    

    Output 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 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 lain.

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 dipilih.
  5. Setelah dibuat, pilih kunci dari daftar.
  6. Salin ARN kunci.
  7. Ulangi langkah sebelumnya untuk kunci lain.

PersyaratanGoogle Cloud

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

Sebelum memulai

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

  • Instal Google Cloud CLI.

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

Buat akun layanan GKE di AWS

Di bagian ini, Anda akan membuat tiga akun layanan dan kunci IAM 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 Connect antara cluster pengguna dan Hub Anda.
node-sa storage.objectViewer Izin untuk mengakses Container Registry.

Command Line

  1. Lakukan autentikasi dengan Google Cloud CLI.

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

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

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

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

    Ganti nilai project-id dengan Google Cloud project Anda.

  3. Aktifkan 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. Berikan 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. Berikan 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 konsolGoogle Cloud .
  2. Pilih project pilihan Anda dari dropdown 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
    • GKE Connect API
    • 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 account management-sa, lalu klik Create. Layar Grant this service account access to project akan muncul.
    3. Tambahkan peran Admin GKE HUB.
    4. Klik Lanjutkan. Layar Beri pengguna akses ke akun layanan ini akan muncul.
    5. Klik Selesai. Layar Service accounts for project akan muncul.
    6. Temukan baris yang berisi Email akun layanan Anda, management-sa@project_id.iam.gserviceaccount.com.
    7. Klik menu tindakan untuk akun layanan, lalu pilih Kelola kunci.
    8. Klik menu drop-down Tambahkan kunci.
    9. Klik Create new key.
    10. Pilih JSON sebagai jenis kunci Anda, lalu klik Create. Browser Anda 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 hub 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 Beri pengguna akses ke akun layanan ini akan muncul.
    5. Klik Selesai. Layar Service accounts for project akan muncul.
    6. Temukan baris yang berisi Email akun layanan Anda, hub-sa@project_id.iam.gserviceaccount.com.
    7. Klik menu tindakan untuk akun layanan, lalu pilih Kelola kunci.
    8. Klik menu drop-down Tambahkan kunci.
    9. Klik Create new key.
    10. Pilih JSON sebagai jenis kunci Anda, lalu klik Create. Browser Anda 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, lalu klik Buat. Layar Grant this service account access to project akan muncul.
    3. Tambahkan peran Storage Object Viewer.
    4. Klik Selesai. Layar Service accounts for project akan muncul.
    5. Temukan baris yang berisi Email akun layanan Anda, node-sa@project_id.iam.gserviceaccount.com.
    6. Klik menu tindakan untuk akun layanan, lalu pilih Kelola kunci.
    7. Klik menu drop-down Tambahkan kunci.
    8. Klik Create new key.
    9. Pilih JSON sebagai jenis kunci Anda, lalu klik Create. Browser Anda 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

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

    macOS

    gcloud storage 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 Anda, 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: project 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 on 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 v0.14.3 atau yang lebih tinggi, 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 Anda 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 mengupdate konfigurasi Anda. Kemudian, Anda dapat mengupgrade ke v0.14.x.

Kubernetes

GKE on 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 belum memiliki 1.17 atau yang lebih baru, instal kubectl versi yang lebih baru.

Langkah berikutnya