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 berikut:
- Selesaikan Prasyarat.
- Instal layanan pengelolaan.
- Buat cluster pengguna.
- Dari direktori
anthos-aws, gunakananthos-gkeuntuk mengalihkan 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 Google Cloud konsol jika Anda
telah
Diautentikasi dengan Connect.
Jika Anda menggunakan Google Cloud konsol, lewati ke
Meluncurkan Deployment NGINX.
Untuk terhubung ke resource GKE di AWS, lakukan langkah-langkah berikut. Pilih apakah Anda memiliki VPC AWS yang ada (atau koneksi langsung ke VPC Anda) atau membuat VPC khusus saat membuat layanan pengelolaan Anda.
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 akan menyertakan bastion host di subnet publik.
Untuk terhubung ke layanan pengelolaan Anda, lakukan langkah-langkah berikut:
Ubah ke direktori dengan konfigurasi GKE di AWS Anda. 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 -NPesan dari tunnel SSH akan muncul di jendela ini. Jika Anda siap untuk menutup koneksi, hentikan proses menggunakan Control+C atau menutup jendela.
Buka terminal baru dan ubah ke direktori
anthos-awsAnda.cd anthos-aws
Pastikan Anda dapat terhubung ke cluster dengan
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoOutput-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 createuntuk membuat Deployment.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1Gunakan
kubectluntuk mendapatkan status Deployment. PerhatikanNAMEPod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Konsol
Untuk meluncurkan Deployment NGINX dengan Google Cloud konsol, 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 Image path dengan image container yang ingin Anda gunakan dan versinya. Untuk panduan memulai ini, gunakan
nginx:latest.Klik Done, lalu klik Continue. Layar Configuration akan muncul.
Anda dapat mengubah Application name dan Namespace Kubernetes Deployment Anda. Untuk panduan memulai ini, Anda dapat menggunakan nama aplikasi
nginx-1dan namespacedefaultDari menu drop-down Cluster, pilih cluster pengguna Anda. Secara default, cluster pengguna pertama Anda diberi nama
cluster-0.Klik Deploy. GKE di AWS akan meluncurkan Deployment NGINX Anda. Layar Deployment details akan muncul.
Mengekspos pod Anda
Bagian ini menunjukkan cara melakukan salah satu hal berikut:
Mengekspos Deployment Anda secara internal di cluster Anda dan mengonfirmasi bahwa Deployment tersebut tersedia dengan
kubectl port-forward.Mengekspos Deployment Anda dari Google Cloud konsol 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=80Deployment kini dapat diakses dari dalam cluster.
Teruskan port
80di Deployment ke port8080di komputer lokal Anda dengankubectl port-forward.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80Hubungkan ke
http://localhost:8080dengancurlatau browser web Anda. Halaman web NGINX default akan muncul.curl http://localhost:8080
Konsol
Buka menu GKE Workloads di Google Cloud konsol.
Dari layar Deployment details, klik Expose. Layar Expose a 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 lainnya, lihat Memublikasikan layanan (ServiceTypes) dalam dokumentasi Kubernetes.
Klik Expose. Layar Service details akan muncul. GKE di AWS akan 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 Anda di Google Cloud konsol
Jika cluster Anda terhubung ke Google Cloud konsol, Anda dapat melihat Deployment Anda di halaman GKE Workloads. Untuk melihat workload Anda, lakukan langkah-langkah berikut:
Di browser Anda, buka halaman Google Kubernetes Engine Workloads.
Buka halaman Google Kubernetes Engine Workloads
Daftar Workloads akan muncul.
Klik nama workload Anda,
nginx-1. Layar Deployment details akan muncul.Dari layar ini, Anda bisa mendapatkan detail Deployment Anda; 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 Anda, gunakan kubectl delete atau Google Cloud konsol.
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 Google Cloud konsol.
Temukan Layanan NGINX Anda, lalu klik Name-nya. Secara default, namanya adalah
nginx-1-service. Layar Service details akan muncul.Klik Delete dan konfirmasi bahwa Anda ingin menghapus Layanan. GKE di AWS akan menghapus load balancer.
Buka halaman Google Kubernetes Engine Workloads.
Buka halaman Google Kubernetes Engine Workloads
Daftar Workloads akan muncul.
Klik nama workload Anda,
nginx-1. Layar Deployment details akan muncul.Klik Delete dan konfirmasi bahwa Anda ingin menghapus Deployment. GKE di AWS akan menghapus Deployment.
Apa langkah selanjutnya?
Buat load balancer internal atau eksternal menggunakan salah satu Layanan berikut:
- AWS Classic dan Load Balancer Jaringan
- AWS Application Load Balancer
- Ingress dengan Cloud Service Mesh
Anda dapat menggunakan jenis Workload Kubernetes lainnya dengan GKE di AWS. Lihat dokumentasi GKE untuk mengetahui informasi selengkapnya tentang Men-deploy workload.