Apa itu Azure Kubernetes Service?

Selesai

Mari kita mulai dengan beberapa definisi dan tur cepat melalui Azure Kubernetes Service (AKS). Gambaran umum ini memberikan informasi untuk membantu Anda memutuskan apakah AKS adalah platform yang baik untuk strategi manajemen kontainerisasi Anda.

Apa itu kontainer?

Kontainer adalah unit perangkat lunak atom yang mengemas kode, dependensi, dan konfigurasi untuk aplikasi tertentu. Kontainer memungkinkan Anda membagi aplikasi monolitik menjadi layanan individual yang membentuk solusi. Pembuatan ulang aplikasi kami ini memungkinkan kami menyebarkan layanan terpisah ini melalui kontainer.

Diagram that shows server or application replicated as containers for cloud deployment.

Mengapa menggunakan kontainer?

Misalkan solusi pelacakan aset Anda menyertakan tiga aplikasi utama:

  • Situs web pelacakan yang mencakup peta dan informasi tentang aset yang dilacak.

  • Layanan pemrosesan data yang mengumpulkan dan memproses informasi yang dikirim dari aset terlacak.

  • Database MSSQL untuk menyimpan informasi pelanggan yang diambil dari situs web.

Anda menyadari bahwa untuk memenuhi permintaan pelanggan, Anda harus menskalakan solusi Anda.

Virtual Machines (VM)

Salah satu opsinya adalah menyebarkan komputer virtual baru untuk setiap aplikasi, yang dihosting di beberapa wilayah. Kemudian, salin aplikasi ke VM baru Anda. Namun, melakukannya membuat Anda bertanggung jawab atas manajemen setiap VM yang Anda gunakan.

Overhead pemeliharaan meningkat saat Anda menskalakan. Versi dan dependensi sistem operasi (OS) VM untuk setiap aplikasi perlu disediakan dan dikonfigurasi agar cocok. Saat Anda menerapkan peningkatan untuk aplikasi Anda yang memengaruhi OS dan perubahan besar, ada tindakan pencegahan. Jika ada kesalahan yang muncul selama peningkatan, pembatalan penginstalan diperlukan dan menyebabkan gangguan, seperti waktu henti atau penundaan.

Diagram that shows replicated servers as VMs in the cloud and how the problem raises migration questions and problems.

Penyebaran dalam diagram sebelumnya rumit, terkadang rawan kesalahan, dan tidak mudah menskalakan layanan tunggal. Misalnya, Anda tidak dapat dengan mudah menskalakan hanya layanan penembolokan yang digunakan dalam aplikasi web. Kontainer membantu memecahkan jenis masalah ini.

Konsep kontainer memberi kita tiga manfaat utama:

  1. Imutabilitas - Sifat kontainer yang tidak berubah memungkinkannya disebarkan dan dijalankan dengan andal dengan perilaku yang sama dari satu lingkungan komputasi ke lingkungan komputasi lainnya. Citra kontainer yang diuji di lingkungan QA adalah citra kontainer yang sama yang digunakan untuk produksi.

  2. Ukuran Lebih Kecil - Kontainer mirip dengan VM, tetapi tanpa kernel untuk setiap komputer. Sebaliknya, mereka berbagi kernel host. VM menggunakan file gambar besar untuk menyimpan OS dan aplikasi yang ingin Anda jalankan. Sebaliknya, kontainer tidak memerlukan OS, hanya aplikasi.

  3. Ringan - Kontainer selalu bergantung pada OS yang diinstal host untuk layanan khusus kernel. Properti ringan membuat kontainer kurang intensif sumber daya, sehingga menginstal beberapa kontainer dimungkinkan dalam lingkungan komputasi yang sama.

  4. Startup cepat - Kontainer dimulai dalam beberapa detik, tidak seperti VM, yang dapat memakan waktu beberapa menit untuk memulai.

Manfaat di atas menjadikan kontainer pilihan populer bagi pengembang dan operasi TI sama, dan mengapa banyak yang beralih dari VM.

Apa itu manajemen kontainer?

Diagram that shows replicated servers as multiple containers in the cloud.

Meskipun secara fungsional, kontainer mirip dengan VM, tujuannya bervariasi. Kontainer memiliki siklus hidup berbeda yang ada sebagai mesin sementara. Statusnya melewati tahapan tertunda, berjalan, dan dihentikan. Siklus hidup ini membuat kontainer lebih sekali pakai dan berdampak pada bagaimana pengembang dan operasi TI memikirkan manajemen aplikasi yang saling terhubung yang besar. Manajemen kontainer melibatkan penyebaran, peningkatan, pemantauan, dan penghapusan kontainer.

Misalnya, Anda menemukan bahwa pada siang hari ada lebih banyak lalu lintas situs, sehingga Anda memerlukan lebih banyak instans layanan penembolokan situs untuk mengelola performa. Anda berencana untuk menyelesaikan masalah ini dengan menambahkan lebih banyak kontainer layanan penembolokan.

Sekarang saatnya untuk meluncurkan versi baru layanan penembolokan Anda. Bagaimana Anda memperbarui semua kontainer? Bagaimana Anda menghapus semua versi lama?

Jenis pertanyaan penyeimbangan beban ini memerlukan sistem untuk mengelola penyebaran kontainer Anda.

Apa itu Kubernetes?

Kubernetes adalah platform sumber terbuka portabel yang dapat diperluas untuk mengotomatiskan penyebaran, penskalaan, dan pengelolaan beban kerja yang dikontainerisasi. Kubernetes mengabstraksi manajemen kontainer yang kompleks dan memberi kami konfigurasi deklaratif untuk mengatur kontainer di lingkungan komputasi yang berbeda. Platform orkestrasi ini memberikan kemudahan penggunaan dan fleksibilitas yang sama seperti dengan penawaran Platform as a Service (PaaS) dan Infrastructure as a Service (IaaS).

Diagram that shows replicated servers as multiple containers in a Kubernetes cluster.

Kubernetes memungkinkan Anda untuk melihat pusat data sebagai satu komputer besar. Kami tidak khawatir tentang bagaimana dan di mana kami menyebarkan kontainer kami, hanya tentang menyebarkan dan meningkatkan aplikasi kami sesuai kebutuhan.

Berikut adalah beberapa aspek tambahan yang perlu diingat tentang Kubernetes:

  • Kubernetes bukanlah penawaran PaaS penuh. Kubernetes beroperasi di tingkat kontainer dan hanya menawarkan serangkaian fitur PaaS umum.

  • Kubernetes tidak monolitik. Ini bukan satu aplikasi yang diinstal. Aspek-aspek seperti penyebaran, penskalaan, penyeimbangan beban, pencatatan log, dan pemantauan semuanya opsional.

  • Kubernetes tidak membatasi jenis aplikasi yang akan dijalankan. Jika aplikasi Anda dapat berjalan dalam kontainer, aplikasi berjalan di Kubernetes.

  • Pengembang Anda perlu memahami konsep seperti arsitektur layanan mikro untuk memanfaatkan solusi kontainer secara optimal.

  • Kubernetes tidak menyediakan middleware, kerangka kerja pemrosesan data, database, tembolok, atau sistem penyimpanan kluster. Semua item ini dijalankan sebagai kontainer, atau sebagai bagian dari penawaran layanan lain.

  • Penyebaran Kubernetes dikonfigurasi sebagai kluster. Kluster terdiri dari setidaknya satu komputer utama atau sarana kontrol, dan satu atau beberapa mesin pekerja. Untuk penyebaran produksi, konfigurasi yang disukai adalah penyebaran ketersediaan tinggi dengan tiga hingga lima mesin sarana kontrol yang direplikasi. Mesin pekerja ini juga disebut simpul atau simpul agen.

Dengan semua manfaat yang Anda terima dengan Kubernetes, Anda bertanggung jawab untuk menemukan solusi terbaik yang sesuai dengan kebutuhan Anda untuk mengatasi aspek-aspek ini. Perlu diingat bahwa Anda bertanggung jawab untuk memelihara kluster Kubernetes. Misalnya, Anda perlu mengelola peningkatan OS dan instalasi dan peningkatan Kubernetes. Anda juga mengelola konfigurasi perangkat keras mesin host, seperti jaringan, memori, dan penyimpanan.

Catatan

Kubernetes terkadang disingkat dengan K8s. 8 mewakili delapan karakter antara K dan kata K[ubernete]s.

Apa itu Azure Kubernetes Service (AKS)?

Diagram that shows replicated servers as multiple containers in an AKS Kubernetes cluster.

AKS mengelola lingkungan Kubernetes yang dihosting dan memudahkan untuk menyebarkan dan mengelola aplikasi kontainer di Azure. Lingkungan AKS Anda diaktifkan dengan fitur seperti pembaruan otomatis, pemulihan diri, dan penskalaan yang mudah. Azure mengelola sarana kontrol kluster Kubernetes Anda secara gratis. Anda mengelola simpul agen di kluster dan hanya membayar VM tempat simpul Anda berjalan.

Anda dapat membuat dan mengelola kluster di portal Azure atau dengan Azure CLI. Saat Anda membuat kluster, ada templat Resource Manager untuk mengotomatiskan pembuatan kluster. Dengan templat ini, Anda memiliki akses ke fitur seperti opsi jaringan tingkat lanjut, Microsoft Entra Identity, dan pemantauan sumber daya. Kemudian, Anda dapat menyiapkan pemicu dan peristiwa untuk mengotomatiskan penyebaran kluster untuk beberapa skenario.

Dengan AKS, Anda mendapatkan manfaat Kubernetes sumber terbuka tanpa kompleksitas tambahan atau overhead operasional yang hanya menggunakan Kubernetes.