Topik ini menunjukkan cara membuat workload di GKE di AWS dan mengeksposnya secara internal ke cluster Anda.
Sebelum memulai
Sebelum Anda mulai menggunakan GKE di AWS, pastikan Anda telah melakukan tugas berikut:
- Selesaikan Prasyarat.
- Instal layanan pengelolaan.
- Buat cluster pengguna.
- Dari direktori
anthos-aws
, gunakananthos-gke
untuk beralih konteks ke cluster pengguna Anda. Ganti CLUSTER_NAME dengan nama cluster pengguna Anda.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Anda dapat melakukan langkah-langkah ini dengan kubectl
, atau dengan konsol Google Cloud jika Anda
telah
Mengautentikasi dengan Connect.
Jika Anda menggunakan konsol Google Cloud , lanjutkan ke
Meluncurkan Deployment NGINX.
Untuk terhubung ke resource GKE di AWS, lakukan langkah-langkah berikut. Pilih apakah Anda memiliki VPC AWS yang sudah ada (atau koneksi langsung ke VPC Anda) atau membuat VPC khusus saat membuat layanan pengelolaan.
VPC yang 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, lakukan langkah-langkah berikut:
Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
cd anthos-aws
Untuk membuka tunnel, jalankan skrip
bastion-tunnel.sh
. Tunnel meneruskan kelocalhost:8118
.Untuk membuka tunnel ke bastion host, jalankan perintah berikut:
./bastion-tunnel.sh -N
Pesan dari tunnel SSH akan muncul di jendela ini. Saat Anda siap untuk menutup koneksi, hentikan proses dengan menggunakan Control+C atau menutup 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
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 Google Cloud konsol.
Klik Deploy.
Di bagian Edit container, pilih Existing container image untuk memilih image container yang tersedia dari Container Registry. Isi Jalur image dengan image container yang ingin Anda gunakan dan versinya. Untuk panduan memulai ini, gunakan
nginx:latest
.Klik Selesai, lalu klik Lanjutkan. Layar Konfigurasi akan muncul.
Anda dapat mengubah Nama aplikasi dan Namespace Kubernetes Deployment. Untuk panduan memulai ini, Anda dapat menggunakan nama aplikasi
nginx-1
dan namespacedefault
Dari menu drop-down Cluster, pilih cluster pengguna Anda. Secara default, cluster pengguna pertama Anda diberi nama
cluster-0
.Klik Deploy. GKE di AWS meluncurkan Deployment NGINX Anda. Layar Deployment details akan muncul.
Mengekspos pod Anda
Bagian ini menunjukkan cara melakukan salah satu hal berikut:
Ekspos Deployment Anda secara internal di cluster Anda dan konfirmasi bahwa Deployment tersebut tersedia dengan
kubectl port-forward
.Mengekspos Deployment Anda dari konsol Google Cloud ke alamat yang diizinkan oleh grup keamanan node pool 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
di Deployment ke port8080
di mesin 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 Deployment details, klik Expose. Layar Mengekspos deployment akan muncul.
Di bagian Port mapping, biarkan port default (
80
), lalu klik Done.Untuk Service type, pilih Load balancer. Untuk mengetahui informasi selengkapnya tentang opsi lain, lihat Memublikasikan layanan (ServiceTypes) dalam dokumentasi Kubernetes.
Klik Expose. Layar Service details akan muncul. GKE di AWS membuat Classic Elastic Load Balancer untuk Layanan.
Klik link untuk External Endpoints. Jika load balancer sudah siap, halaman web NGINX default akan muncul.
Melihat Deployment di konsol Google Cloud
Jika cluster Anda terhubung ke Google Cloud konsol, Anda dapat melihat Deployment di halaman GKE Workloads. Untuk melihat workload Anda, lakukan langkah-langkah berikut:
Di browser Anda, buka halaman Beban kerja Google Kubernetes Engine.
Buka halaman Workloads Google Kubernetes Engine
Daftar Workloads akan muncul.
Klik nama workload 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 mengetahui informasi selengkapnya tentang opsi yang tersedia dari 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 Name-nya. Secara default, namanya adalah
nginx-1-service
. Layar Service details akan muncul.Klik
Hapus dan konfirmasi bahwa Anda ingin menghapus Layanan. GKE di AWS menghapus load balancer.Buka halaman Workloads Google Kubernetes Engine.
Buka halaman Workloads Google Kubernetes Engine
Daftar Workloads akan muncul.
Klik nama workload Anda,
nginx-1
. Layar Detail deployment akan muncul.Klik
Hapus 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:
- AWS Classic dan Network Load Balancer
- AWS Application Load Balancer
- Ingress dengan Cloud Service Mesh
Anda dapat menggunakan jenis Beban Kerja Kubernetes lainnya dengan GKE di AWS. Lihat dokumentasi GKE untuk mengetahui informasi selengkapnya tentang Men-deploy workload.