Panduan memulai

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:

  • Instal layanan pengelolaan.
  • Buat cluster pengguna.
  • Dari direktori anthos-aws, gunakan anthos-gke untuk beralih 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 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:

  1. Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.

    cd anthos-aws

  2. Untuk membuka tunnel, jalankan skrip bastion-tunnel.sh. Tunnel meneruskan ke localhost: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.

  3. Buka terminal baru dan ubah ke direktori anthos-aws Anda.

    cd anthos-aws
  4. 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

  1. Gunakan kubectl create untuk membuat Deployment.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Gunakan kubectl untuk mendapatkan status Deployment. Perhatikan NAME Pod.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get deployment
    

Konsol

Untuk meluncurkan Deployment NGINX dengan konsol Google Cloud , lakukan langkah-langkah berikut:

  1. Buka menu GKE Workloads di Google Cloud konsol.

    Buka menu Workloads

  2. Klik Deploy.

  3. 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.

  4. Klik Selesai, lalu klik Lanjutkan. Layar Konfigurasi akan muncul.

  5. Anda dapat mengubah Nama aplikasi dan Namespace Kubernetes Deployment. Untuk panduan memulai ini, Anda dapat menggunakan nama aplikasi nginx-1 dan namespace default

  6. Dari menu drop-down Cluster, pilih cluster pengguna Anda. Secara default, cluster pengguna pertama Anda diberi nama cluster-0.

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

  1. 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.

  2. Teruskan port 80 di Deployment ke port 8080 di mesin lokal Anda dengan kubectl port-forward.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Hubungkan ke http://localhost:8080 dengan curl atau browser web Anda. Halaman web NGINX default akan muncul.

    curl http://localhost:8080
    

Konsol

  1. Buka menu GKE Workloads di konsol Google Cloud .

    Buka menu Workloads

  2. Dari layar Deployment details, klik Expose. Layar Mengekspos deployment akan muncul.

  3. Di bagian Port mapping, biarkan port default (80), lalu klik Done.

  4. Untuk Service type, pilih Load balancer. Untuk mengetahui informasi selengkapnya tentang opsi lain, lihat Memublikasikan layanan (ServiceTypes) dalam dokumentasi Kubernetes.

  5. Klik Expose. Layar Service details akan muncul. GKE di AWS membuat Classic Elastic Load Balancer untuk Layanan.

  6. 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:

  1. Di browser Anda, buka halaman Beban kerja Google Kubernetes Engine.

    Buka halaman Workloads Google Kubernetes Engine

    Daftar Workloads akan muncul.

  2. Klik nama workload Anda, nginx-1. Layar Detail deployment akan muncul.

  3. 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

  1. Buka menu halaman Services and Ingress di konsol Google Cloud .

    Buka halaman Layanan dan Ingress

  2. Temukan Layanan NGINX Anda, lalu klik Name-nya. Secara default, namanya adalah nginx-1-service. Layar Service details akan muncul.

  3. Klik Hapus dan konfirmasi bahwa Anda ingin menghapus Layanan. GKE di AWS menghapus load balancer.

  4. Buka halaman Workloads Google Kubernetes Engine.

    Buka halaman Workloads Google Kubernetes Engine

    Daftar Workloads akan muncul.

  5. Klik nama workload Anda, nginx-1. Layar Detail deployment akan muncul.

  6. 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:

Anda dapat menggunakan jenis Beban Kerja Kubernetes lainnya dengan GKE di AWS. Lihat dokumentasi GKE untuk mengetahui informasi selengkapnya tentang Men-deploy workload.