Tujuan
Pelajari beberapa tugas dasar untuk mengonfigurasi cluster staging dan pengujian: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.
Tentukan bahwa aplikasi Anda memerlukan resource komputasi yang diskalakan secara efisien dan turun untuk memenuhi permintaan.
Menguji penskalaan otomatis, yang secara otomatis mereplikasi Pod saat permintaan meningkat di luar nilai minimum yang Anda tentukan.
Sesuaikan retensi log sehingga Anda hanya menyimpan log yang diperlukan.
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:
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.
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
Di konsol Google Cloud, buka halaman Clusters GKE.
Di kolom Nama, klik nama cluster Anda, hello-world-cluster.
Di baris
Control plane authorized networks tabel Networking, klik Edit.Pada dialog Edit control plane authorized networks, pilih Enable control plane authorized networks.
Pilih Izinkan akses melalui alamat IP publik Google Cloud.
Dengan demikian, Anda dapat mengelola cluster dari konsol Google Cloud dan Cloud Shell
Klik Add authorized network.
Masukkan nama, seperti Contoh jaringan on-prem saya.
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
Klik Done.
Klik Simpan perubahan.
Operasi ini membutuhkan waktu beberapa menit hingga selesai.
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
Buka halaman Cluster GKE.
Di kolom Nama, klik nama cluster Anda, hello-world-cluster.
Dalam tabel Dasar-dasar cluster, baris Endpoint eksternal menampilkan alamat IP panel kontrol cluster.
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
Di konsol Google Cloud, buka halaman Workloads GKE.
Di kolom Name, klik nama aplikasi yang Anda deploy, hello-world-app.
Klik
Edit untuk mengedit spesifikasi deployment.Di tab YAML, temukan baris yang diawali dengan
containers:
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
Untuk mendownload file ini dan menggunakannya sebagai dasar untuk konfigurasi beban kerja lainnya, klik
Download .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
Buka halaman Workloads GKE.
Di kolom Name, klik nama deployment Anda, hello-world-app.
Klik
Tindakan .Pilih Autoscale, lalu klik Horizontal pod autoscaling.
Pada dialog Configure Horizontal Pod Autoscaler, di bagian Autoscaling metrics, klik CPU.
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.
Klik Simpan.
Untuk memicu penskalaan otomatis, klik Berikutnya.
Membuat beban untuk memicu penskalaan otomatis
Buka Cloud Shell dengan mengklik
Cloud Shell .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 .Tekan Enter untuk menjalankan perintah dan mengirim 10.000 permintaan ke hello-world-app.
Tunggu hingga perintah
wget
selesai berjalan dan perintah command line muncul kembali.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
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.
Klik
Refresh untuk memastikan halaman Detail deployment menampilkan data terbaru.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.
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
-
Di konsol Google Cloud, buka halaman 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. Di atas hasil kueri:
Klik
Resource .Telusuri cluster Kubernetes, lalu klik.
Klik us-central-1.
Klik hello-world-cluster.
Klik Terapkan.
Klik
Keseriusan , lalu pilih Info (yang berubah menjadi Info dan lebih tinggi saat diarahkan kursor).Klik
Run query .Perhatikan bahwa Hasil kueri kini hanya berisi pesan INFO dari cluster staging Anda.
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
Buka halaman Router log Logging.
Klik
Create sink .Di bagian Name, masukkan nama berikut:
hello-world-cluster-sink
Klik Berikutnya.
Di Select sink service, pilih Logging bucket.
Di Select a log bucket, pilih Create new log bucket.
Di Detail bucket, masukkan nama unik, seperti:
hello-world-bucket-<var>user-id</var>
Klik Create bucket.
Di bagian Sink destination, klik Next.
Di Build inclusion filter, tempel kueri yang Anda buat di Logs Explorer.
Klik Create sink.
Untuk melihat log cluster, yang disimpan di bucket log yang Anda buat, klik Berikutnya.
Melihat log cluster
-
Di konsol Google Cloud, buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Klik
Saring cakupan .Pilih Tampilan Log.
Pilih tampilan _AllLogs untuk bucket log Anda.
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
Buka halaman Postur keamanan GKE.
Jika Anda diminta untuk mengaktifkan Container Security API, klik Enable.
Tab Dasbor merangkum masalah untuk cluster dan workload project Anda.
Klik tab Concerns.
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
Bersiihkan untuk menghindari tagihan penagihan. Jika Anda berencana mengikuti tutorial tambahan, tunggu hingga Anda menyelesaikan tutorial tersebut sebelum melakukan pembersihan. Anda dapat menggunakan contoh cluster Kubernetes di sebagian besar tutorial GKE.