Mengonfigurasi cluster dan workload untuk staging


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

Tujuan

Pelajari beberapa tugas dasar untuk mengonfigurasi cluster staging dan pengujian:

  1. Batasi 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 diskalakan secara efisien dan turun untuk memenuhi permintaan.

  3. Menguji penskalaan otomatis, yang secara otomatis mereplikasi Pod saat permintaan meningkat di luar nilai minimum yang Anda tentukan.

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

  5. Aktifkan dasbor postur keamanan GKE.

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


Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:

Pandu saya


Biaya

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

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud 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

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

Membatasi akses ke bidang kontrol

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

Mengonfigurasi jaringan yang diizinkan

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

    Buka Cluster

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

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

  4. Pada dialog Edit control plane authorized networks, pilih Enable control plane authorized networks.

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

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

  6. Klik Add authorized network.

  7. Masukkan nama, seperti Contoh jaringan on-prem saya.

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

    Misalnya, masukkan rentang berikut:

    198.51.100.0/24
    
  9. Klik Done.

  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 Memperbarui setelan jaringan resmi bidang kontrol di cluster Kubernetes Engine "hello-world-cluster".

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

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

Melihat alamat IP

  1. Buka halaman Cluster GKE.

    Buka Cluster

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

  3. Dalam tabel Dasar-dasar cluster, baris Endpoint eksternal menampilkan alamat IP panel 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, konsol Google Cloud, dan Cloud Shell.

Menentukan class komputasi

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.

Memperbarui 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 diawali 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 untuk konfigurasi beban kerja lainnya, klik Download.

  7. Klik Simpan.

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

Menguji penskalaan otomatis

Setelah Anda 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. Pada dialog Configure Horizontal Pod Autoscaler, di bagian Autoscaling metrics, klik CPU.

  6. Ubah nilai Target menjadi 2, yang akan otomatis menskalakan Pod Anda saat menggunakan setidaknya 2% resource CPU yang dikonfigurasi. Nilai target rendah ini memastikan bahwa Anda dapat dengan mudah memicu penskalaan otomatis di 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 berjalan dan perintah command line muncul kembali.

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

Untuk melihat penskalaan beban kerja Anda guna mengakomodasi peningkatan traffic, klik Berikutnya.

Mengamati skala beban kerja Anda

  1. Di halaman Detail deployment untuk workload Anda, lihat diagram CPU untuk menemukan lonjakan penggunaan CPU.

    Anda mungkin perlu menunggu hingga 5 menit untuk melihat lonjakan.

  2. Klik Refresh untuk memastikan halaman Detail deployment menampilkan data terbaru.

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

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

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

Anda telah menguji penskalaan otomatis dan melihat penskalaan beban kerja Anda.

Menyesuaikan retensi log

Secara default, Cloud Logging menyerap semua log dari cluster GKE Anda. Proses transfer data log dalam jumlah besar dapat menimbulkan biaya. Untuk memastikan bahwa Anda hanya menyerap data log yang diperlukan untuk lingkungan staging, 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 cluster Kubernetes, lalu klik.

    3. Klik us-central-1.

    4. Klik hello-world-cluster.

    5. Klik Terapkan.

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

  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 sink log dan bucket penyimpanan, klik Next.

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 Select a log bucket, pilih Create new log bucket.

  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 Build inclusion filter, tempel kueri yang Anda buat di Logs Explorer.

  11. Klik Create sink.

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

Melihat log cluster

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

  3. Pilih Tampilan Log.

  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 staging tidak menyimpan pesan DEBUG. Anda dapat menetapkan izin sehingga 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 ditindaklanjuti untuk meningkatkan postur keamanan Anda.

Menjelajahi masalah apa pun

  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 staging dan pengujian aplikasi.

Langkah selanjutnya