Helm mengemas dan mengelola sumber daya Kubernetes, seperti beban kerja, layanan, dan Ingress, untuk menyederhanakan penerapan dan peningkatan aplikasi di kluster ACK.
Buat aplikasi Helm
Topik ini memberikan contoh cara menerapkan aplikasi Dify dari konsol menggunakan Helm. Pastikan kluster ACK Anda memiliki setidaknya 2 core CPU dan memori tersedia sebesar 4 GB.
Buat Container Network File System (CNFS) dan StorageClass NAS yang diperlukan oleh Dify.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters. Pada halaman Clusters, klik nama kluster target. Di panel navigasi sebelah kiri, pilih .
Pada halaman StorageClasses, klik Create From YAML. Salin konten YAML berikut ke dalam templat, lalu klik Create.
Jika sistem menunjukkan bahwa sumber daya dengan nama yang sama sudah ada, berarti kluster telah secara otomatis membuat StorageClass CNFS dan NAS. Anda dapat melanjutkan penerapan aplikasi. Pembuatan sistem file NAS akan dikenai biaya. Untuk informasi selengkapnya, lihat penagihan NAS.
apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain # Hanya Retain yang didukung. Instans NAS backend tidak dihapus saat instans CNFS dihapus. --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alibabacloud-cnfs-nas mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath # Setiap persistent volume claim (PVC) membuat subdirektori terpisah di sistem file NAS. containerNetworkFileSystem: cnfs-nas-filesystem # Mengaitkan dengan instans CNFS yang didefinisikan di atas. path: "/" provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Retain allowVolumeExpansion: true # Opsional: Atur ke true untuk mengizinkan perluasan kuota direktori volume persisten (PV).
Terapkan aplikasi Dify.
Pada halaman detail kluster, pilih . Pada halaman Helm, klik Create.
Basic Information: Di bagian Chart, cari ack-dify dan pilih dari hasil pencarian.
Parameters: Untuk Chart Version, pilih versi terbaru.
Akses aplikasi Dify.
Aktifkan akses jaringan publik untuk layanan ack-dify.
Akses jaringan publik nyaman untuk tujuan demonstrasi. Jika Anda menerapkan aplikasi di lingkungan produksi, aktifkan Resource Access Management (RAM) untuk memastikan keamanan data.
Pilih dan atur namespace menjadi
dify-system. Pilih layanan bernamaack-dify, klik Update, konfigurasikan akses jaringan publik, lalu klik OK.Atur Type menjadi Server Load Balancer (LoadBalancer).
Atur Access Method menjadi Public Network Access.
Untuk VSwitch, pilih vSwitch di zona yang sesuai pada virtual private cloud (VPC) Anda.
Akses aplikasi Dify.
Setelah konfigurasi selesai, masukkan External IP Address ke bilah alamat browser Anda untuk mengakses layanan Dify.
Kelola aplikasi Helm
Di halaman Helm di konsol, Anda dapat mengelola aplikasi, misalnya dengan memperbarui atau menghapusnya.
Operasi | Deskripsi |
Lihat aplikasi | Klik nama aplikasi target atau View Details untuk melihat sumber dayanya, file YAML, riwayat versi, dan informasi lainnya. |
Perbarui aplikasi | Klik Update. Di panel Update Release, ubah parameter sesuai kebutuhan, lalu klik OK. Penting Pembaruan secara langsung memengaruhi status berjalan aplikasi terkait dan dapat menyebabkan restart layanan atau anomali fitur. Sebelum melakukan perubahan, evaluasi sepenuhnya dampak potensialnya dan lakukan operasi tersebut di luar jam sibuk. |
Hapus aplikasi | Klik Delete. Di kotak dialog Delete, pilih Clear Release Records, lalu klik OK untuk menghapus aplikasi dan sumber dayanya, seperti layanan dan deployment. Dalam contoh ini, menghapus aplikasi Dify tidak secara otomatis menghapus sumber daya NAS. Anda harus secara manual menghapus sistem file NAS. Penting Jika Anda tidak memilih Clear Release Records saat menghapus aplikasi, aplikasi tetap berada dalam daftar rilis. Upaya selanjutnya untuk menerapkan aplikasi dengan nama yang sama akan gagal karena konflik penamaan. |
FAQ
Bagaimana cara menggunakan CLI Helm untuk menerapkan aplikasi pihak ketiga?
Jika chart yang disediakan oleh ACK tidak memenuhi kebutuhan Anda, Anda dapat menggunakan Antarmuka baris perintah (CLI) Helm untuk menerapkan aplikasi.
Sambungkan ke kluster.
Di cloud
Gunakan kubectl di Workbench atau CloudShell untuk menyambung ke kluster.
Alat baris perintah berbasis browser yang disediakan oleh Alibaba Cloud mencakup Helm yang telah dipra-instal. Tidak diperlukan konfigurasi tambahan.
Di lokal
Dapatkan file KubeConfig kluster dan gunakan kubectl untuk menyambung ke kluster.
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Tambahkan repositori chart.
Ganti
<REPO_NAME>dengan alias repositori dan<REPO_URL>dengan URL repositori.helm repo add <REPO_NAME> <REPO_URL>Perbarui informasi repositori.
helm repo updateTerapkan aplikasi pihak ketiga.
Ganti
<APP_NAME>dengan nama instans aplikasi dan<CHART_NAME>dengan nama chart yang akan diinstal.helm install <APP_NAME> <REPO_NAME>/<CHART_NAME>
Untuk perintah Helm lainnya, lihat dokumentasi resmi Helm.
Mengapa saya tidak dapat menghapus aplikasi Helm?
Gejala
Saat Anda menghapus aplikasi Helm di konsol, aplikasi tetap berada dalam status "Uninstalling" dalam waktu lama.
Saat Anda menghapus aplikasi menggunakan CLI Helm, baris perintah mengembalikan kesalahan berikut:
no matches for kind "***" in version "***" ensure CRDs are installed first
Penyebab
Masalah ini biasanya terjadi setelah peningkatan kluster ketika API lama ditinggalkan. Jika aplikasi Helm berisi sumber daya yang menggunakan API yang sudah ditinggalkan, penghapusan gagal karena versi API yang ditentukan tidak lagi ada.
Untuk daftar API yang ditinggalkan di berbagai versi Kubernetes, lihat Deprecated API Migration Guide.
Solusi
Gunakan plugin resmi Helm helm-mapkubeapis untuk memetakan versi API yang ditinggalkan dalam rilis ke versi API baru yang didukung, lalu hapus aplikasi tersebut.
Ganti
<RELEASE_NAME>dengan nama rilis Helm Anda dan<NAMESPACE>dengan namespace-nya.helm plugin install https://github.com/helm/helm-mapkubeapis helm mapkubeapis <RELEASE_NAME> -n <NAMESPACE>Keluaran yang diharapkan
...completed successfullymenunjukkan bahwa versi API berhasil dipetakan.Setelah versi API dipetakan, Anda dapat menghapus aplikasi tersebut.
helm uninstall <RELEASE_NAME> -n <NAMESPACE>Keluaran yang diharapkan
release "***" uninstalledmenunjukkan bahwa aplikasi Helm berhasil dihapus.
Referensi
Untuk memastikan keamanan kluster dan memanfaatkan lebih banyak fitur, tingkatkan dan migrasikan dari Helm V2 ke Helm V3.
Fitur Helm Chart dari Container Registry Edisi Perusahaan mendukung mendorong dan menarik Helm chart.