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.
- pencarian helm :Telusuri bagan Helm
- repositori helm :Melakukan operasi seperti menambah, mencantumkan, menghapus, memperbarui, dan mengindeks di Repositori
- menghapus helm :Menghapus bagan yang selanjutnya menghapus semua objek Kubernetes-nya.
- status helm :Menampilkan status rilis.
- buat helm :Membuat diagram kemudi.
- pemasangan helm :Instal bagan yang kemudian membuat objek Kubernetesnya
- upgrade helm :Tingkatkan versi rilis dengan perubahan yang kami buat.
- sejarah helm :Dapatkan riwayat rilis.
- 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
- 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. - 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?
- Rilis contoh diagram dari repo.
- Buat diagram dan rilis aplikasi sampel.
- Tingkatkan versi rilis.
- 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.