Topik ini menunjukkan cara membuat workload di GKE di AWS dan mengeksposnya secara internal ke cluster Anda.
Sebelum memulai
Sebelum mulai menggunakan GKE di AWS, pastikan Anda telah melakukan tugas-tugas berikut:
- Selesaikan Prasyarat.
- Instal layanan pengelolaan.
- Buat cluster pengguna.
- Dari direktori
anthos-aws
Anda, gunakananthos-gke
untuk mengalihkan konteks ke cluster pengguna Anda.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Ganti CLUSTER_NAME dengan nama cluster pengguna Anda.
Anda dapat melakukan langkah-langkah ini dengan kubectl
, atau dengan Konsol Google Cloud jika telah Diautentikasi dengan Connect.
Jika Anda menggunakan konsol Google Cloud, langsung ke bagian Meluncurkan Deployment NGINX.
Agar terhubung ke GKE pada resource AWS, lakukan langkah-langkah berikut. Pilih jika Anda sudah memiliki AWS VPC (atau koneksi langsung ke VPC Anda) atau membuat VPC khusus saat membuat layanan pengelolaan.
VPC yang Sudah Ada
Jika Anda memiliki koneksi langsung atau VPN ke VPC yang ada, hapus baris
env HTTP_PROXY=http://localhost:8118
dari perintah dalam topik ini.
VPC Khusus
Saat Anda membuat layanan pengelolaan di VPC khusus, GKE di AWS menyertakan host bastion di subnet publik.
Untuk terhubung ke layanan pengelolaan Anda, lakukan langkah-langkah berikut:
Ubah ke direktori dengan GKE pada konfigurasi AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
cd anthos-aws
Untuk membuka tunnel, jalankan skrip
bastion-tunnel.sh
. Terowongan akan diteruskan kelocalhost:8118
.Untuk membuka tunnel ke bastion host, jalankan perintah berikut:
./bastion-tunnel.sh -N
Pesan dari tunnel SSH akan muncul di jendela ini. Jika Anda sudah siap menutup koneksi, hentikan proses ini menggunakan Control+C atau tutup jendela.
Buka terminal baru dan ubah ke direktori
anthos-aws
Anda.cd anthos-aws
Pastikan Anda dapat terhubung ke cluster dengan
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Output-nya mencakup URL untuk server API layanan pengelolaan.
Meluncurkan Deployment NGINX
Di bagian ini, Anda akan membuat Deployment dari server web NGINX bernama nginx-1
.
kubectl
Gunakan
kubectl create
untuk membuat Deployment.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1
Gunakan
kubectl
untuk mendapatkan status Deployment. PerhatikanNAME
Pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Konsol
Untuk meluncurkan Deployment NGINX dengan Konsol Google Cloud, lakukan langkah-langkah berikut:
Buka menu GKE Workloads di Konsol Google Cloud.
Klik Deploy.
Di bagian Edit container, pilih Existing container image untuk memilih image container yang tersedia dari Container Registry. Isi Image path dengan image container yang ingin Anda gunakan beserta versinya. Untuk panduan memulai ini, gunakan
nginx:latest
.Klik Selesai, lalu klik Lanjutkan. Layar Konfigurasi akan muncul.
Anda dapat mengubah Application name dan Namespace Kubernetes. Untuk panduan memulai ini, Anda dapat menggunakan nama aplikasi
nginx-1
dan namespacedefault
Dari menu drop-down Cluster, pilih cluster pengguna. Secara default, cluster pengguna pertama Anda diberi nama
cluster-0
.Klik Deploy. GKE di AWS meluncurkan Deployment NGINX Anda. Layar Detail deployment akan muncul.
Mengekspos pod Anda
Bagian ini menunjukkan cara melakukan salah satu tindakan berikut:
Ekspos Deployment secara internal di cluster dan pastikan Deployment tersedia dengan
kubectl port-forward
.Ekspos Deployment Anda dari Google Cloud Console ke alamat yang diizinkan oleh grup keamanan kumpulan node Anda.
kubectl
Ekspos port 80 Deployment ke cluster dengan
kubectl expose
.env HTTPS_PROXY=http://localhost:8118 \ kubectl expose deployment nginx-1 --port=80
Deployment kini dapat diakses dari dalam cluster.
Teruskan port
80
pada Deployment ke port8080
di komputer lokal Anda dengankubectl port-forward
.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80
Hubungkan ke
http://localhost:8080
dengancurl
atau browser web Anda. Halaman web NGINX default akan muncul.curl http://localhost:8080
Konsol
Buka menu GKE Workloads di Konsol Google Cloud.
Dari layar Detail deployment, klik Ekspos. Layar Ekspos deployment akan muncul.
Di bagian Port mapping, biarkan port default (
80
), lalu klik Done.Untuk Jenis layanan, pilih Load balancer. Untuk informasi selengkapnya tentang opsi lainnya, lihat Layanan publikasi (ServiceTypes) di dokumentasi Kubernetes.
Klik Expose. Layar Detail layanan akan muncul. GKE di AWS membuat Load Balancer Elastic Klasik untuk Layanan.
Klik link untuk Endpoint Eksternal. Jika load balancer sudah siap, halaman web NGINX default akan muncul.
Melihat Deployment Anda di konsol Google Cloud
Jika cluster Anda terhubung ke Google Cloud Console, Anda dapat melihat Deployment Anda di halaman Workload GKE. Untuk melihat workload Anda, lakukan langkah-langkah berikut:
Di browser Anda, buka halaman Workloads Google Kubernetes Engine.
Kunjungi halaman Workload Google Kubernetes Engine
Daftar Beban Kerja akan muncul.
Klik nama beban kerja Anda,
nginx-1
. Layar Detail deployment akan muncul.Dari layar ini, Anda bisa mendapatkan detail tentang Deployment; melihat dan mengedit konfigurasi YAML; serta melakukan tindakan Kubernetes lainnya.
Untuk informasi selengkapnya tentang opsi yang tersedia di halaman ini, lihat Men-deploy aplikasi stateless dalam dokumentasi GKE.
Pembersihan
Untuk menghapus Deployment NGINX, gunakan kubectl delete
atau konsol Google Cloud.
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
Konsol
Buka menu halaman Services and Ingress di Konsol Google Cloud.
Temukan Layanan NGINX Anda, lalu klik Nama layanan tersebut. Secara default, namanya adalah
nginx-1-service
. Layar Detail layanan akan muncul.Klik
Hapus dan konfirmasi bahwa Anda ingin menghapus Layanan. GKE di AWS menghapus load balancer.Buka halaman Workload Google Kubernetes Engine.
Kunjungi halaman Workload Google Kubernetes Engine
Daftar Beban Kerja akan muncul.
Klik nama beban kerja Anda,
nginx-1
. Layar Detail deployment akan muncul.Klik
Delete dan konfirmasi bahwa Anda ingin menghapus Deployment. GKE di AWS menghapus Deployment.
Apa langkah selanjutnya?
Buat load balancer internal atau eksternal menggunakan salah satu Layanan berikut:
Anda dapat menggunakan jenis Workload Kubernetes lainnya dengan GKE di AWS. Lihat dokumentasi GKE untuk mengetahui informasi selengkapnya tentang Men-deploy workload.