EVOLUSI KE LINGKUNGAN KONTAINER
APM JENNIFER Kubernetes Teknologi virtualisasi container membawa virtualisasi ke tingkat yang lebih tinggi dibandingkan VM (Virtual Machine) yang memvirtualisasi mesin fisik. Teknologi ini kini berhasil diterapkan dalam lingkungan operasi, terutama bersama dengan aktivasi layanan mikro (microservice). Namun, lapisan kontainer hanya memberikan izin antara lingkungan eksekusi dan lingkungan operasi. Dari perspektif operasional langsung, teknologi ini lebih cocok untuk layanan berskala kecil. Namun, dalam layanan pengelolaan berskala besar di dunia nyata, sering kali muncul berbagai tantangan.
Sebagai contoh, seperti ditunjukkan pada "Gambar 1," ketika operator harus menangani banyak container sekaligus, kemungkinan terjadinya kesalahan dalam pengelolaan menjadi sangat tinggi.
Untuk kelemahan mengatasi hal ini, kini tersedia alat orkestrasi yang dapat mengganggu pengelolaan wadah. Dengan demikian, seperti yang ditunjukkan pada "Gambar 2," operator sistem dapat menggunakan alat orkestrasi untuk mengelola banyak container sekaligus. Hal ini memungkinkan penerapan teknologi wadah untuk layanan berukuran besar menjadi lebih mudah dan efisien.
Perusahaan yang menyediakan layanan cloud kini bergerak cepat untuk mengadopsi perubahan ini ke dalam lini produk mereka. Mengapa? Meskipun alat orkestrasi tersedia, pada akhirnya infrastruktur yang dapat mendukung teknologi wadah tetap diperlukan. Penyedia layanan cloud dapat menghadirkan layanan container yang sepenuhnya terabstraksi dengan menempatkan layanan Kubernetes (k8s) di atas infrastruktur virtual yang sudah ada. Pendekatan ini sejalan dengan upaya "pengurangan biaya pengelolaan infrastruktur" yang menjadi fokus utama semua layanan cloud.
Saat ini, mencerminkan tren tersebut, banyak layanan berbasis container yang telah beroperasi, seperti Azure Kubernetes Service (AKS) , Google Kubernetes Engine (GKE) , dan Amazon Elastic Kubernetes Service (EKS) .
APM JENNIFER Kubernetes untuk k8s
Baca Juga : APM JENNIFER Kubernetes Segera Hadir Versi Terbaru (K8s)
Catatan:
Artikel ini menggunakan contoh lingkungan AKS (Azure Kubernetes Service). Namun, dari perspektif produk JENNIFER, intinya mendukung k8s , sehingga metode yang sama dapat diterapkan di semua lingkungan lainnya.Selain itu, meskipun terdapat berbagai teknologi container, artikel ini akan fokus menjelaskan tentang Docker .
Secara prinsip, agen JENNIFER mendukung k8s dengan cara yang sama seperti mendukung lingkungan container lainnya. Pada dasarnya, kita perlu memberi tahu wadah tentang eksekusi file dan pengaturan variabel lingkungan. Sebelumnya, agen JENNIFER diaktifkan di lingkungan Docker melalui dua cara berikut:
1. Tentukan volume dan variabel lingkungan untuk file biner agen.
2. Bangun dengan menyertakan file biner agen dan variabel lingkungan di dalam container Dockerfile yang sudah ada.
Alat orkestrasi Kubernetes (k8s) melibatkan distribusi unit pod dengan membungkus container pada satu tingkat. Oleh karena itu, dukungan agen untuk k8s terbatas pada dua prinsip di atas. Dalam praktiknya, metode kedua dapat digunakan sebagaimana adanya di lingkungan k8s.
Namun berbeda dengan struktur yang ada yang langsung terhubung ke container, karakteristik k8s memungkinkan volume terhubung ke pod, yang dapat menjadi grup container. Oleh karena itu, koneksi antara file biner agen dan container dilakukan melalui PV (Persistent Volume) yang diatur oleh k8s.
Setelah volume yang berisi file biner agen disiapkan, pengguna hanya perlu menambahkan volume yang terhubung ke PV dan pengaturan
env
dalam file YAML untuk distribusi layanan selanjutnya.
Setelah itu, pengguna dapat menggunakan perintah
kubectl apply -f <nama_file>.yaml
untuk menerapkan file YAML dan kemudian memeriksa apakah proses pemantauan berfungsi dengan baik.Sebagai kelebihan dari platform cloud, pengguna dapat dengan bebas menambahkan atau menghapus node walker infrastruktur abstrak ke k8s. Pada saat yang sama, pengguna dapat secara manual atau otomatis menskalakan jumlah instansi pod di aplikasi. K8s mendukung Horizontal Pod Autoscaling (selanjutnya, hpa) untuk penskalaan otomatis, dan pengguna juga dapat menggunakan perintah yang sama di AKS. Misalnya, jika satu instansi diatur dan dijalankan dalam distribusi "demo.yaml" di atas, dan maksimal 3 unit dijalankan tergantung pada beban, maka dapat dijalankan sebagai berikut.
Seperti yang terlihat di sini, meskipun tanpa beban, 1 pod dijalankan, tetapi tidak ada pod yang muncul di konsol Jennifer. Mengapa demikian? Karena saja bisa saja ada perbedaan antara pod yang diunggah dan permintaan yang dikirimkan ke aplikasi internal.
Tentu saja, jika dilakukan uji beban dalam kondisi ini,
3 pod akan diunggah secara otomatis, dan pengguna dapat memeriksa hasilnya di konsol Jennifer.
APM JENNIFER Kubernetes Versi Terbaru: Dukungan Lengkap (K8s)
Typography
- Smaller Small Medium Big Bigger
- Default Helvetica Segoe Georgia Times
- Reading Mode