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 alataws
kePATH
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
Buat kunci KMS di akun AWS Anda.
aws kms create-key
Output-nya mencakup metadata kunci.
Pada output dari perintah sebelumnya, salin Amazon Resource name (ARN) kunci dari kolom
Arn
. Misalnya, kunci di regionus-west-2
memiliki ARNarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.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
Ulangi langkah sebelumnya untuk kunci lainnya.
Konsol
- Login ke konsol AWS.
- Buka KMS, lalu pilih Kunci yang dikelola pelanggan dari sidebar.
- Klik Buat Kunci.
- Biarkan opsi default tetap dipilih.
- Setelah dibuat, pilih kunci dari daftar.
- Salin ARN kunci.
- 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
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.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.
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
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
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
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
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
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
- Buka halaman Library API Konsol Google Cloud.
- Pilih proyek yang Anda sukai dari menu {i>dropdown<i} di bagian atas layar.
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
Buka halaman Service Accounts.
Selanjutnya, buat akun layanan dan tetapkan peran untuk akun layanan
management-sa
.- Klik Create service account.
- Beri nama di folder pengelolaan akun, lalu klik Buat. Layar Grant this service account access to project akan muncul.
- Tambahkan peran Admin GKE HUB.
- Klik Lanjutkan. Layar Berikan pengguna akses ke akun layanan ini akan muncul.
- Klik Selesai. Layar Service accounts for project akan muncul.
- Cari baris yang berisi Email akun layanan Anda,
management-sa@project_id.iam.gserviceaccount.com
. - Klik menu tindakan more_vert untuk akun layanan, lalu pilih Manage keys.
- Klik menu drop-down Tambahkan kunci.
- Klik Create new key.
- Pilih JSON sebagai jenis kunci Anda dan klik Create. Browser akan mendownload kunci akun layanan.
- Ganti nama file
management-key.json
.
Selanjutnya, buat akun layanan dan tetapkan peran untuk akun layanan
hub-sa
.- Klik Create service account.
- Beri nama akun hub-sa, lalu klik Buat. Layar Grant this service account access to project akan muncul.
- Tambahkan peran GKE Hub Connection Agent.
- Klik Lanjutkan. Layar Berikan pengguna akses ke akun layanan ini akan muncul.
- Klik Selesai. Layar Service accounts for project akan muncul.
- Cari baris yang berisi Email akun layanan Anda,
hub-sa@project_id.iam.gserviceaccount.com
. - Klik menu tindakan more_vert untuk akun layanan, lalu pilih Manage keys.
- Klik menu drop-down Tambahkan kunci.
- Klik Create new key.
- Pilih JSON sebagai jenis kunci Anda dan klik Create. Browser akan mendownload kunci akun layanan.
- Ganti nama file
hub-key.json
.
Selanjutnya, buat akun layanan dan tetapkan peran untuk akun layanan
node-sa
.- Klik Create service account.
- Beri nama node-sa akun dan klik Create. Layar Grant this service account access to project akan muncul.
- Menambahkan peran Storage Object Viewer.
- Klik Selesai. Layar Service accounts for project akan muncul.
- Cari baris yang berisi Email akun layanan Anda,
node-sa@project_id.iam.gserviceaccount.com
. - Klik menu tindakan more_vert untuk akun layanan, lalu pilih Manage keys.
- Klik menu drop-down Tambahkan kunci.
- Klik Create new key.
- Pilih JSON sebagai jenis kunci Anda dan klik Create. Browser akan mendownload kunci akun layanan.
- 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.
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 .
Perbarui izin
anthos-gke
dan salin ke/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
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 AndaUSER_NAME
: nama pengguna yang menjalankan alat command lineanthos-gke
. Jika Anda menggunakan akun layanan, gunakanserviceAccount: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
- Instal layanan pengelolaan di VPC khusus dengan bastion host.
- Mengintegrasikan infrastruktur yang ada di VPC yang sudah ada.