Mengonfigurasi cluster dan workload untuk staging


Meskipun cluster GKE dalam mode Autopilot menyediakan default yang wajar untuk sebagian besar setelan, kemungkinan Anda akan memerlukan setelan yang berbeda di lingkungan pengembangan, staging, dan produksi.

Tujuan

Pelajari beberapa tugas dasar untuk mengonfigurasi cluster penyiapan dan pengujian:

  1. Membatasi akses ke layanan administratif cluster, yang disebut bidang kontrol. Tindakan ini mencegah pengguna yang tidak sah melihat atau mengubah setelan cluster dan beban kerja.

  2. Tentukan bahwa aplikasi Anda memerlukan resource komputasi yang dapat di-scale up dan di-scale down secara efisien untuk memenuhi permintaan.

  3. Uji penskalaan otomatis, yang secara otomatis mereplikasi Pod saat permintaan meningkat melampaui nilai minimum yang Anda tentukan.

  4. Sesuaikan retensi log sehingga Anda hanya menyimpan log yang Anda butuhkan.

  5. Aktifkan dasbor postur keamanan GKE.

Ini hanyalah beberapa tugas untuk mempromosikan cluster dari pengembangan ke penyiapan. Baca dokumentasi GKE untuk mengetahui daftar lengkap tugas yang perlu dipertimbangkan.


Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Google Cloud konsol, klik Pandu saya:

Pandu saya


Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

Buat cluster Kubernetes dan deploy workload. Membuat cluster dan men-deploy workload menunjukkan caranya.

Membatasi akses ke bidang kontrol

Untuk meningkatkan postur keamanan Anda, izinkan hanya jaringan yang diizinkan dan Google Cloud konsol serta Cloud Shell untuk mengakses bidang kontrol cluster Anda.

Mengonfigurasi jaringan yang diizinkan

  1. Di konsol Google Cloud , buka halaman GKE Clusters.

    Buka Cluster

  2. Di kolom Name, klik nama cluster Anda, hello-world-cluster.

  3. Di baris Control plane authorized networks pada tabel Networking, klik Edit.

  4. Pada dialog Edit jaringan yang diizinkan bidang kontrol, pilih Aktifkan jaringan yang diizinkan bidang kontrol.

  5. Pilih Izinkan akses melalui alamat IP publik Google Cloud.

    Dengan begitu, Anda dapat mengelola cluster dari konsol Google Cloud dan Cloud Shell

  6. Klik Add authorized network.

  7. Masukkan nama, seperti My example on-prem network.

  8. Di Network, masukkan rentang alamat IP yang ingin Anda beri akses ke bidang kontrol cluster. Gunakan notasi CIDR.

    Misalnya, masukkan rentang berikut:

    198.51.100.0/24
    
  9. Klik Selesai.

  10. Klik Simpan perubahan.

    Operasi ini membutuhkan waktu beberapa menit hingga selesai.

  11. Klik tombol Notifikasi dan tunggu hingga Anda melihat tanda centang hijau di samping Perbarui setelan jaringan resmi bidang kontrol di cluster Kubernetes Engine "hello-world-cluster".

Anda telah mengonfigurasi bidang kontrol cluster yang hanya dapat diakses dari jaringan yang diizinkan dan dari alamat IP publik (yang memungkinkan Anda mengelola cluster dari konsolGoogle Cloud dan Cloud Shell). Google Cloud

Untuk melihat alamat IP bidang kontrol cluster Anda dan mengonfirmasi alamat jaringan yang diizinkan, klik Berikutnya.

Melihat alamat IP

  1. Buka halaman Clusters GKE.

    Buka Cluster

  2. Di kolom Name, klik nama cluster Anda, hello-world-cluster.

  3. Pada tabel Cluster basics, baris External endpoint menampilkan alamat IP bidang kontrol cluster.

  4. Di tabel Networking, baris Control plane authorized networks menampilkan alamat IP jaringan yang diizinkan.

Panel kontrol cluster Anda kini hanya dapat diakses dari jaringan yang diizinkan, konsolGoogle Cloud , dan Cloud Shell.

Menentukan class compute

Secara default, Pod GKE Autopilot menggunakan resource komputasi yang dioptimalkan untuk workload tujuan umum. Untuk workload yang perlu diskalakan secara optimal atau yang memiliki persyaratan unik lainnya, Anda dapat menentukan class komputasi yang berbeda.

Perbarui spesifikasi Deployment

  1. Di konsol Google Cloud , buka halaman Workloads GKE.

    Buka Workloads

  2. Di kolom Name, klik nama aplikasi yang Anda deploy, hello-world-app.

  3. Klik Edit untuk mengedit spesifikasi deployment.

  4. Di tab YAML, temukan baris yang dimulai dengan containers:

  5. Tepat di atas baris ini, tambahkan baris berikut:

    nodeSelector:
      cloud.google.com/compute-class: "Scale-Out"
    

    Pastikan file Anda cocok dengan indentasi dalam contoh berikut:

    apiVersion: apps/v1
     kind: Deployment
     ...
     spec:
     ...
       template:
       ...
         spec:
           nodeSelector:
             cloud.google.com/compute-class: "Scale-Out"
           containers:
           - name: hello-app
             image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    
  6. Untuk mendownload file ini dan menggunakannya sebagai dasar konfigurasi beban kerja lainnya, klik Download.

  7. Klik Simpan.

Setiap replika Pod yang dibuat untuk menjalankan workload Anda akan menggunakan class komputasi yang Anda tentukan.

Menguji penskalaan otomatis

Setelah memiliki workload yang dapat diskalakan secara efisien, perbarui setelan penskalaan otomatis agar workload Anda lebih mudah diskalakan. Kemudian, buat beban untuk memicu penskalaan otomatis.

Memperbarui setelan penskalaan otomatis Pod

  1. Buka halaman Workloads GKE.

    Buka Workloads

  2. Di kolom Name, klik nama deployment Anda, hello-world-app.

  3. Klik Tindakan.

  4. Pilih Autoscale, lalu klik Horizontal pod autoscaling.

  5. Dalam dialog Configure Horizontal Pod Autoscaler, di bagian Autoscaling metrics, klik CPU.

  6. Ubah nilai Target menjadi 2, yang akan otomatis meningkatkan skala Pod Anda saat Pod menggunakan setidaknya 2% resource CPU yang dikonfigurasi. Nilai target rendah ini memastikan Anda dapat dengan mudah memicu penskalaan otomatis pada langkah berikutnya.

  7. Klik Simpan.

Untuk memicu penskalaan otomatis, klik Berikutnya.

Membuat beban untuk memicu penskalaan otomatis

  1. Buka Cloud Shell dengan mengklik Cloud Shell.

  2. Tempel perintah berikut ke Cloud Shell:

      for i in $(seq -s' ' 1 10000); do wget -q -O- <var>external-IP-address</var>; done
    

    Ganti external-IP-address dengan alamat IP yang muncul di kolom Endpoints.

  3. Tekan Enter untuk menjalankan perintah dan mengirim 10.000 permintaan ke hello-world-app.

  4. Tunggu hingga perintah wget selesai dijalankan dan prompt command line muncul kembali.

  5. Anda dapat menutup Cloud Shell setelah perintah wget selesai.

Untuk melihat penskalaan workload Anda dalam mengakomodasi peningkatan traffic, klik Berikutnya.

Menyaksikan penskalaan beban kerja Anda

  1. Di halaman Detail deployment untuk workload Anda, lihat grafik CPU untuk melihat lonjakan penggunaan CPU.

    Anda mungkin perlu menunggu hingga 5 menit untuk melihat lonjakan.

  2. Klik Muat ulang untuk memastikan halaman Detail deployment menampilkan data terbaru.

  3. Lihat tabel Managed Pods untuk melihat bahwa tiga replika workload Anda kini berjalan.

    Anda mungkin awalnya melihat error tentang Pod yang tidak dapat dijadwalkan, tetapi pesan ini bersifat sementara saat replika dimulai.

  4. Anda dapat menunggu sekitar 10 menit, mengklik Refresh, dan melihat bahwa penggunaan CPU telah menurun sehingga jumlah Pod di Managed Pods kembali menjadi satu.

Anda telah menguji penskalaan otomatis dan mengamati penskalaan workload.

Menyesuaikan retensi log

Secara default, Cloud Logging menyerap semua log dari cluster GKE Anda. Memasukkan data log dalam jumlah besar dapat dikenai biaya. Untuk memastikan Anda hanya menyerap data log yang diperlukan untuk lingkungan penyiapan, sesuaikan retensi log.

Membuat filter log

  1. Di konsol Google Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

    Perhatikan bahwa panel Query results menampilkan log dari semua resource dalam project Anda.

  2. Di atas hasil kueri:

    1. Klik Resource.

    2. Telusuri Kubernetes cluster, lalu klik.

    3. Klik us-central-1.

    4. Klik hello-world-cluster.

    5. Klik Terapkan.

  3. Klik Tingkat Keseriusan, lalu pilih Info (yang berubah menjadi Info dan lebih tinggi saat kursor diarahkan).

  4. Klik Run query.

  5. Perhatikan bahwa Hasil kueri kini hanya berisi pesan INFO dari cluster staging Anda.

  6. Salin kueri dari editor kueri. Anda akan menempelkan kueri ini saat membuat filter untuk sink log.

Untuk membuat bucket penyimpanan dan sink log, klik Berikutnya.

Membuat log sink dan bucket penyimpanan

  1. Buka halaman Router log Logging.

    Buka Router log

  2. Klik Create sink.

  3. Di bagian Name, masukkan nama berikut:

    hello-world-cluster-sink
    
  4. Klik Berikutnya.

  5. Di Select sink service, pilih Logging bucket.

  6. Di Pilih bucket log, pilih Buat bucket log baru.

  7. Di Detail bucket, masukkan nama unik, seperti:

    hello-world-bucket-<var>user-id</var>
    
  8. Klik Create bucket.

  9. Di bagian Sink destination, klik Next.

  10. Di Buat filter penyertaan, tempel kueri yang Anda buat di Logs Explorer.

  11. Klik Create sink.

Untuk melihat log cluster Anda, yang disimpan di bucket log yang Anda buat, klik Berikutnya.

Melihat log cluster Anda

  1. Di konsol Google Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Klik Sempurnakan cakupan.

  3. Pilih Log View.

  4. Pilih tampilan _AllLogs untuk bucket log Anda.

  5. Klik Terapkan.

    Hasil kueri hanya menampilkan log yang disimpan di bucket log Anda.

Anda telah menyesuaikan retensi log sehingga cluster penyiapan tidak menyimpan pesan DEBUG. Anda dapat menetapkan izin agar hanya pengguna tertentu yang dapat melihat log di bucket cluster Anda.

Mengaktifkan dasbor postur keamanan

Dasbor postur keamanan memindai cluster dan workload GKE Anda untuk memberikan rekomendasi opini yang dapat Anda tindak lanjuti untuk meningkatkan postur keamanan Anda.

Membahas semua kekhawatiran

  1. Buka halaman Postur keamanan GKE.

    Buka Postur keamanan

  2. Jika Anda diminta untuk mengaktifkan Container Security API, klik Enable.

  3. Tab Dasbor merangkum masalah untuk cluster dan workload project Anda.

  4. Klik tab Concerns.

  5. Jika ada masalah yang muncul di tab, klik masalah tersebut untuk mengetahui informasi selengkapnya.

Anda telah menyelesaikan beberapa tugas dasar untuk mengonfigurasi cluster guna melakukan penyiapan dan pengujian aplikasi.

Langkah berikutnya