GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara men-deploy Aplikasi di Kubernetes menggunakan Helm

Artikel ini merupakan lanjutan dari artikel saya "Apa itu Helm dan Bagaimana Cara Menginstalnya di Server Ubuntu 20.04?". Jika Anda baru mengenal Helm, saya sarankan Anda membaca artikel yang saya sebutkan terlebih dahulu. Pada artikel ini, kami akan merilis Apache dari grafik yang ada. Kami akan membuat contoh bagan dan merilis, mengupgrade, mengembalikan, menghapus, dan memulihkannya. Mari kita lihat perintahnya secara singkat sebelum kita menggunakannya di artikel nanti.

  1. pencarian helm :Telusuri bagan Helm
  2. repositori helm :Melakukan operasi seperti menambah, mencantumkan, menghapus, memperbarui, dan mengindeks di Repositori
  3. menghapus helm :Menghapus bagan yang selanjutnya menghapus semua objek Kubernetes-nya.
  4. status helm :Menampilkan status rilis.
  5. buat helm :Membuat diagram kemudi.
  6. pemasangan helm :Instal bagan yang kemudian membuat objek Kubernetesnya
  7. upgrade helm :Tingkatkan versi rilis dengan perubahan yang kami buat.
  8. sejarah helm :Dapatkan riwayat rilis.
  9. mengembalikan helm :Mengembalikan perubahan ke versi sebelumnya.

Sebelum melanjutkan, diasumsikan bahwa Anda sudah familiar dengan dasar-dasar Helm. Juga diasumsikan bahwa Anda memiliki cluster Kubernetes dan klien helm yang sudah diinstal di dalamnya.

Prasyarat

  1. Cluster Kubernetes dengan setidaknya 1 node pekerja.
    Jika Anda ingin belajar membuat Cluster Kubernetes, klik di sini. Panduan ini akan membantu Anda membuat cluster Kubernetes dengan 1 Master dan 2 Node di Instans AWS Ubuntu 18.04 EC2.
  2. Helm terinstal di master node Anda (Cari artikel saya yang berjudul "Apa itu Helm dan cara menginstalnya di server Ubuntu 20.04" untuk memahami dasar-dasar Helm dan menginstalnya).

Apa yang akan kita lakukan?

  1. Rilis contoh diagram dari repo.
  2. Buat diagram dan rilis aplikasi sampel.
  3. Tingkatkan versi rilis.
  4. Pulihkan rilis setelah dihapus

Lepaskan bagan contoh dari repo

Pertama, mari kita periksa apakah "helm" tersedia di server atau tidak.

versi helm

Sebagai contoh, mari kita coba menginstal diagram Apache dari hub. Jalankan perintah berikut untuk menelusuri Apache di hub.

helm search hub apache

Anda akan mendapatkan satu set hasil, salin URL salah satu pencarian untuk Apache. Dalam hal ini, saya menyalin URL pertama.

Tekan URL di browser web dan Anda akan melihat halaman sebagai berikut.

Di halaman ini, Anda akan mendapatkan perintah untuk menambahkan repo ke sistem lokal Anda dan menginstal bagan darinya.

Jalankan perintah di sistem lokal Anda yang akan menambahkan repositori untuk bagan Apache.

helm repo tambahkan bitnami https://charts.bitnami.com/bitnami

daftar repo helm

Setelah Anda memiliki repositori di sistem Anda, Anda siap untuk menginstal bagan dan membuat rilis untuk Apache menggunakan Helm.

helm install my-release bitnami/apache

Setelah eksekusi perintah berhasil, Anda akan melihat output seperti di atas.

Setelah diagram dirilis, Anda dapat melihat objek yang telah dibuat di cluster Kubernetes.

kubectl mendapatkan node

kubectl dapatkan pod

Sekarang Anda bisa mendapatkan IP pod dan mencoba membuka halaman Apache menggunakan perintah curl.

kubectl get pod -o wide

kubectl dapatkan svc

curl 10.244.1.2:8080

Jika Anda ingin menghapus rilis Anda dapat melakukannya cukup dengan menggunakan perintah berikut

helm hapus rilis saya

Anda dapat membuat daftar rilis di cluster dan melihat apakah rilis berhasil dihapus atau tidak.

helm ls

status helm rilis saya

Buat diagram dan terapkan contoh aplikasi

Dalam skenario di atas, kami memasang bagan yang sudah tersedia dan dikonfigurasi. Kami dapat membuat bagan kami sendiri dan merilis aplikasi kami. Membuat bagan sangat sederhana menggunakan helm. Jika Anda menjalankan perintah berikut, Anda akan mendapatkan bagan dengan contoh aplikasi Nginx di dalamnya.

helm buat bagan pertama saya

Jelajahi struktur folder dari bagan yang kita buat menggunakan perintah di atas.

cd my-first-chart/

ls -l

ls -l grafik/

ls -l template/

ls -l templates/tests/

Periksa konten file Chart.yaml.

ls -lt

cat Chart.yaml

Periksa konten values.yaml

ls -lt

nilai kucing.yaml

Sekarang mari kita terapkan contoh aplikasi menggunakan bagan lokal.

pwd

cd..

ls -l | grep my-first-chart

kubectl dapatkan pod

helm install my-first-release my-first-chart/

Setelah diagram berhasil dirilis, Anda dapat melihat pod dibuat di cluster.

kubectl dapatkan pod

kubectl dapatkan svc

Sekarang Anda dapat mengakses pod Nginx melalui layanan.

curl 10.104.229.187

Anda dapat menemukan informasi mengenai rilis yang kami buat menggunakan perintah berikut.

helm ls

status helm rilis pertama saya

Tingkatkan versi rilis

Dalam skenario di atas, kami membuat bagan dengan contoh aplikasi Nginx. Jumlah replika dalam skenario di atas adalah 1. Jika ingin menambah jumlah replika, Anda dapat melakukannya dengan mudah dengan membuat perubahan pada file values.yaml.

cat my-first-chart/values.yaml | replika grep

vim my-first-chart/values.yaml

cat my-first-chart/values.yaml | replika grep

helm ls

Sekarang Anda dapat dengan mudah meluncurkan perubahan dan meningkatkan versi rilis.

helm upgrade my-first-release my-first-chart/

Anda bahkan dapat melihat revisi rilis yang diperbarui ke 2.

helm ls

Kali ini Anda dapat melihat dua pod berjalan di cluster karena kami telah menetapkan jumlah replika menjadi 2.

kubectl dapatkan pod

helm ls

Jika kita memeriksa riwayat rilis, kita akan melihat bahwa rilis tersebut memiliki dua revisi. Revisi satu memiliki 1 pod dan kemudian kami memperbarui jumlah replika menjadi 2 yang menghasilkan revisi 2 rilis.

sejarah helm rilis pertama saya

Jika kita tidak ingin perubahan dirilis di revisi 2 dan ingin kembali ke revisi 1, kita cukup melakukannya menggunakan perintah rollback berikut.

helm rollback rilis pertama saya 1

helm ls

Dan ini akan membuat revisi 3 untuk rilis.

sejarah helm rilis pertama saya

Sekarang Anda dapat melihat hanya ada satu pod yang berjalan di cluster.

kubectl dapatkan pod

Jika Anda ingin menghapus contoh aplikasi Nginx yang dirilis dari bagan, Anda dapat menghapusnya dengan menghapus rilis tersebut.

helm ls

helm hapus rilis pertama saya

helm ls

Kembalikan rilis setelah dihapus

Dalam skenario di atas, kami menghapus rilis. Tetapi secara default, rilis tidak menyimpan riwayat rilisnya saat dihapus. Jika Anda ingin mengembalikan dalam skenario seperti itu, Anda tidak akan dapat melakukannya kecuali jika Anda menentukan opsi --keep-history ke perintah hapus rilis.

helm ls

helm install my-second-release my-first-chart/

helm ls

Jika Anda menentukan opsi --keep-history saat menghapus rilis, helm akan membuat versi rilis baru. Dengan cara ini, Anda dapat kembali ke versi kerja sebelumnya bahkan setelah menghapus rilis atau aplikasi.

helm delete my-second-release --keep-history

helm ls

helm ls -a

helm history my-second-release

helm rollback my-second-release 1

helm ls

helm history my-second-release

Kesimpulan

Dalam artikel ini, kami menerapkan contoh aplikasi dari bagan Helm yang tersedia di Internet. Kami bahkan melihat langkah-langkah untuk membuat bagan Helm di sistem kami dan merilisnya. Bersamaan dengan ini, kami melihat cara menghapus bagan Helm, mengembalikan ke versi sebelumnya, dan mempertahankan histori rilis bahkan setelah menghapus chat.


Ubuntu
  1. Cara Membuat Bagan Helm

  2. Instal Elasticsearch di Kubernetes Menggunakan Helm Chart

  3. Cara Menyebarkan Load Balancing Nginx di Cluster Kubernetes di Ubuntu 18.04 LTS

  1. Cara Menyebarkan Elasticsearch di Kubernetes

  2. Cara Menyebarkan Instance WordPress di Kubernetes

  3. Cara Menyebarkan Cluster Redis di Kubernetes

  1. Cara Menarik dan Mendorong Bagan Helm

  2. Cara Menyebarkan RabbitMQ di Kubernetes

  3. Cara Menggunakan Perintah instal helm