Terapkan Aplikasi di Azure AKS menggunakan HELM

Dengan semakin populernya container dalam mengembangkan aplikasi, terdapat beberapa tantangan tambahan karena harus mengelola ribuan container yang menjalankan aplikasi perusahaan yang kompleks. Mengelola kontainer semacam itu di beberapa lingkungan penerapan merupakan tugas yang sulit. Untuk mengurangi situasi ini, alat orkestrasi wadah diperkenalkan.
Kubernetes
Kubernetes adalah sistem orkestrasi container open-source untuk mengotomatiskan penerapan perangkat lunak, penskalaan, dan pengelolaan aplikasi dalam container. Kesuksesan Kubernetes yang luar biasa telah menciptakan ekosistem alat untuk menyederhanakan kerumitan pengembangan dan penerapan aplikasi. Kubernetes berasal dari Google dan sekarang dikelola oleh Cloud Native Computing Foundation (CNCF).
Masing-masing dari tiga penyedia cloud teratas telah mengelola penawaran Kubernetes untuk pelanggan cloud mereka. Dalam posting ini, kita akan membahas layanan Kubernetes yang disediakan Azure yang disebut Azure Kubernetes Service (AKS).
Pendahuluan Azure Kubernetes Service (AKS).
Pada tahun 2018 Azure merilis layanan orkestrasi kontainer sumber terbuka yang dikelola sepenuhnya yang disebut AKS. Ini menyederhanakan penggelaran klaster Kubernetes terkelola di Azure dengan memindahkan biaya operasional ke Azure. Sebagai layanan Kubernetes yang dihosting, Azure menangani tugas penting, seperti pemantauan kesehatan dan pemeliharaan. Karena master Kubernetes dikelola oleh Azure, kami hanya mengelola dan memelihara node agen.
Beberapa keuntungan menjalankan instance Kubernetes di AKS adalah:
- Azure Active Directory untuk kontrol akses berbasis peran (RBAC)
- Azure Monitor untuk Kubernetes dan pemantauan wadah
- Jaringan Azure untuk menyederhanakan orkestrasi dan jaringan wadah
- Kebijakan Azure untuk tata kelola klaster AKS, pod, namespace, dan masuknya
- Azure Storage untuk kebutuhan penyimpanan dalam cluster dan kontainer AKS
Karena platform dan ekosistem Kubernetes terus berkembang, menerapkan beberapa file konfigurasi Kubernetes (YAML) pada banyak kluster dan banyak sumber daya untuk diatur di dalam Kubernetes membuatnya menjadi sangat kompleks. Ada beberapa alat Pengelola Paket yang dapat membantu menyederhanakan proses, salah satunya disebut HELM.
“HELM adalah Manajer Paket Kubernetes. Ini membantu Anda mengelola aplikasi Kubernetes”
Penerapan
Pada postingan kali ini, kita akan membahas dua pendekatan untuk men-deploy aplikasi di AKS Cluster menggunakan HELM. Salah satunya menjalankan helm secara manual menggunakan CLI dan yang lainnya melalui pipa.
Helm menggunakan CLI
Dengan asumsi prasyarat di bawah ini sudah diinstal dan dikonfigurasi. Cluster AKS dibuat (dapat dibuat menggunakan IaC atau az CLI), kubectl diinstal, dan Helm 3.4 atau yang lebih baru diinstal.
Tambahkan repositori bitnami dengan menjalankan perintah berikut

Instal aplikasi my-release di AKS menggunakan HELM

Keluaran akan menjadi:

Setelah Anda melihat success
pesan, Anda dapat memverifikasi bahwa pod rilis-saya berjalan dengan menggunakan perintah berikut:

Untuk mengakses URL Admin my-release, jalankan perintah berikut untuk menemukan entri IP Eksternal

Sekali eksternal. IP terletak Arahkan kehttp://<EXTERNAL_IP>/admin
Helm menggunakan Pipeline
Kami dapat menggunakan pipa standar apa pun. Kami menggunakan pipa Azure DevOps (ADO) untuk menyebarkan aplikasi menggunakan HELM secara otomatis dan menggunakan ACR untuk menyimpan gambar obrolan untuk aplikasi perusahaan.
Prasyarat: Sebagai prasyarat mengingat komponen di bawah ini tersedia:
- Langganan Azure
- Kluster AKS
- Pengaturan ADO Pipeline
- Kepala Layanan Klaster AKS
- ACR untuk menyimpan versi grafik



Untuk mengakses URL Admin my-release, jalankan perintah berikut untuk menemukan entri IP Eksternal

Setelah IP eksternal ditemukan Arahkan kehttp://<EXTERNAL_IP>/admin
Kesimpulan
Di dunia sekarang ini, kesuksesan Kubernetes yang luar biasa telah menciptakan ekosistem alat untuk menyederhanakan kerumitan pengembangan dan penerapan aplikasi. AKS dan Helm adalah dua contoh alat yang membantu penerapan dan pengelolaan aplikasi Kubernetes yang kompleks.