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 dalam lingkungan pengembangan, staging, dan produksi Anda.

Tujuan

Pelajari beberapa tugas dasar untuk mengonfigurasi cluster staging dan pengujian:

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

  2. Menentukan bahwa aplikasi Anda memerlukan resource komputasi yang meningkatkan dan menurunkan skala secara efisien untuk memenuhi permintaan.

  3. Menguji penskalaan otomatis, yang otomatis mereplikasi Pod saat permintaan meningkat melebihi batas 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 mulai dari pengembangan hingga 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 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 beban kerja. Buat cluster dan deploy beban kerja akan menunjukkan caranya.

Membatasi akses ke bidang kontrol

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

Mengonfigurasi jaringan yang diizinkan

  1. Di Konsol Google Cloud, buka halaman Cluster GKE.

    Buka Cluster

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

  3. Di baris Control plan allowed networks pada tabel Networking, klik Edit.

  4. Pada dialog Edit kontrol bidang jaringan yang diizinkan, pilih Enable control pesawat allowed networks.

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

    Hal ini memungkinkan Anda untuk mengelola cluster dari Google Cloud Console dan Cloud Shell

  6. Klik Add authorized network.

  7. Masukkan nama, seperti Contoh jaringan lokal saya.

  8. Di Jaringan, 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 Done.

  10. Klik Simpan perubahan.

    Operasi ini membutuhkan waktu beberapa menit hingga selesai.

  11. Klik tombol Notifications dan tunggu hingga Anda melihat tanda centang hijau di samping Update control pesawat allowed networks setting 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 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 Next.

Melihat alamat IP

  1. Buka halaman Cluster GKE.

    Buka Cluster

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

  3. Di tabel Dasar-dasar cluster, baris Endpoint eksternal menampilkan alamat IP bidang kontrol cluster.

  4. Dalam tabel Networking, baris Jaringan yang diizinkan bidang kontrol menampilkan alamat IP jaringan yang Anda beri otorisasi.

Bidang kontrol cluster Anda sekarang hanya dapat diakses dari jaringan yang diizinkan, yaitu Google Cloud Console, dan Cloud Shell.

Menentukan class komputasi

Secara default, Pod Autopilot GKE menggunakan resource komputasi yang dioptimalkan untuk workload tujuan umum. Untuk beban kerja 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 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 di 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 workload lain, klik Download.

  7. Klik Simpan.

Setiap replika Pod yang dibuat untuk menjalankan beban kerja Anda akan menggunakan class komputasi yang ditentukan.

Menguji penskalaan otomatis

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

Mengupdate 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 Penskalaan otomatis pod horizontal.

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

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

  7. Klik Simpan.

Untuk memicu penskalaan otomatis, klik Next.

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

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

  4. Tunggu hingga perintah wget selesai berjalan dan permintaan command line muncul kembali.

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

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

Perhatikan skala workload Anda

  1. Di halaman Detail deployment untuk beban kerja Anda, lihat diagram CPU untuk mengetahui 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 Pod Terkelola untuk mengetahui bahwa tiga replika beban kerja Anda kini berjalan.

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

  4. Anda dapat menunggu selama sekitar 10 menit, klik Refresh, dan lihat apakah penggunaan CPU telah menurun sehingga jumlah Pod dalam Pod Terkelola akan kembali ke satu.

Anda telah menguji penskalaan otomatis dan mengamati skala workload Anda.

Menyesuaikan retensi log

Secara default, Cloud Logging menyerap semua log dari cluster GKE Anda. Menyerap 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. Pada panel navigasi Google Cloud Console, pilih Logging, lalu pilih Logs Explorer:

    Buka Logs Explorer

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

  2. Di atas hasil kueri:

    1. Klik Resource.

    2. Cari cluster Kubernetes, lalu klik cluster tersebut.

    3. Klik us-central-1.

    4. Klik hello-world-cluster.

    5. Klik Apply.

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

  4. Klik Jalankan kueri.

  5. Perlu diperhatikan bahwa Query results kini hanya berisi pesan INFO dari cluster staging.

  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 sink log dan bucket penyimpanan

  1. Buka halaman Router log Logging.

    Buka Router log

  2. Klik Buat sink.

  3. Pada bagian Name, masukkan nama berikut:

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

  5. Di Select sink service, pilih Logging bucket.

  6. Di bagian 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 filter penyertaan, tempel kueri yang Anda buat di Logs Explorer.

  11. Klik Buat sink.

Untuk melihat log di bucket cluster Anda, klik Next.

Melihat log cluster Anda

  1. Pada panel navigasi Google Cloud Console, pilih Logging, lalu pilih Logs Explorer:

    Buka Logs Explorer

  2. Klik Pertajam cakupan.

  3. Pilih Cakupan menurut penyimpanan.

  4. Pilih /bucket-name.

  5. Klik Apply.

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

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

Aktifkan dasbor postur keamanan

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

Jelajahi 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 Dashboards merangkum masalah untuk cluster dan workload project Anda.

  4. Klik tab Concerns.

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

Anda telah menyelesaikan beberapa tugas dasar guna mengonfigurasi cluster untuk staging dan menguji aplikasi.

Langkah selanjutnya