Déployez et gérez les applications ACK en empaquetant les ressources Kubernetes dans des Helm Charts réutilisables.
Créer une application Helm
Cet exemple déploie une application Dify depuis la console ACK. Votre cluster doit disposer d'au moins 2 vCPU et de 4 Go de mémoire disponibles.
-
Créez les StorageClasses Container Network File System (CNFS) et Network Attached Storage (NAS) pour Dify.
Connectez-vous à la console ACK et accédez à la page Clusters. Cliquez sur le cluster cible, puis choisissez dans le volet de navigation de gauche.
-
Sur la page StorageClasses, cliquez sur Create from YAML. Collez le code YAML suivant dans le modèle, puis cliquez sur Create.
Si une ressource portant le même nom existe déjà, les StorageClasses CNFS et NAS sont déjà créées. Poursuivez le déploiement de l'application. La création d'un système de fichiers NAS engendre des frais. Consultez la rubrique Facturation NAS .
apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain # Only Retain is supported. Deleting the CNFS will not delete the backend NAS instance. --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alibabacloud-cnfs-nas mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath # Each persistent volume claim (PVC) will create a separate subdirectory in the NAS file system. containerNetworkFileSystem: cnfs-nas-filesystem # Associates with the CNFS instance defined above. path: "/" provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Retain allowVolumeExpansion: true # Optional: Set to true to allow volume expansion for directory quotas.
-
Déployez l'application Dify.
Sur la page des détails du cluster, choisissez dans le volet de navigation de gauche. Sur la page Helm, cliquez sur Deploy.
Basic Information : dans la section Chart, recherchez et sélectionnez
ack-dify.Parameters : pour le paramètre Chart Version, sélectionnez la dernière version disponible.
-
Accédez à l'application Dify.
-
Exposez le service
ack-difysur Internet public.L'accès public est présenté à des fins de démonstration uniquement. En production, utilisez le contrôle d'accès pour sécuriser les données de votre application.
Accédez à et sélectionnez le namespace
dify-system. Recherchez le service nomméack-dify, cliquez sur Update, configurez les paramètres suivants, puis cliquez sur OK.Service Type : cliquez sur SLB .
Access Method : sélectionnez Public Access.
VSwitch : sélectionnez les vSwitch appropriés pour les zones de disponibilité de votre Virtual Private Cloud (VPC).
-
Accédez à l'application Dify.
Copiez l'adresse External IP et ouvrez-la dans votre navigateur pour accéder à Dify.
-
Gérer les applications Helm
Gérez les applications déployées sur la page Helm de la console.
|
Action |
Description |
|
Consulter |
Cliquez sur le nom de l'application ou sur Details pour afficher les ressources, le manifeste YAML et l'historique des versions. |
|
Mettre à jour |
Cliquez sur Update. Dans le panneau Update Release, modifiez les paramètres selon vos besoins, puis cliquez sur OK. Important
Les mises à jour peuvent entraîner des redémarrages de service ou des problèmes fonctionnels. Évaluez l'impact avant de modifier la configuration et effectuez les mises à jour pendant les heures creuses. |
|
Supprimer |
Cliquez sur Delete. Dans la boîte de dialogue Delete, cochez l'option Clear Release Records, puis cliquez sur OK pour supprimer l'application et ses ressources, telles que les Services et les Deployments. La suppression de l'application Dify n'entraîne pas la suppression des ressources NAS backend. Supprimez manuellement le système de fichiers NAS. Important
Si vous ne cochez pas l'option Clear Release Records, le nom de l'application est conservé. Le déploiement d'une autre application portant le même nom échouera. |
FAQ
Comment déployer une application tierce à l'aide de la CLI Helm ?
Si les charts ACK ne répondent pas à vos besoins, utilisez la CLI Helm pour déployer des applications.
-
Connectez-vous à votre cluster.
Basé sur le cloud
Connectez-vous aux clusters avec kubectl via Workbench ou CloudShell.
La CLI basée sur un navigateur d'Alibaba Cloud inclut Helm préinstallé. Aucune configuration supplémentaire n'est requise.
Machine locale
-
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
-
Ajoutez un dépôt de charts.
Remplacez
REPO_NAMEpar l'alias du dépôt etREPO_URLpar son URL .helm repo add REPO_NAME REPO_URL -
Mettez à jour les informations de votre dépôt local.
helm repo update -
Déployez l'application tierce.
Remplacez
APP_NAMEpar le nom de votre application etCHART_NAMEpar le nom du chart.helm install APP_NAME REPO_NAME/CHART_NAME
Consultez la documentation officielle Helm pour découvrir d'autres commandes.
Pourquoi ne puis-je pas supprimer une application Helm ?
Symptômes
Dans la console, l'application Helm reste longtemps dans l'état « Uninstalling ».
-
La commande
helm uninstalléchoue avec une erreur semblable à :no matches for kind "***" in version "***" ensure CRDs are installed first
Cause
Ce problème survient généralement après une mise à niveau du cluster qui supprime une version d'API utilisée par une ressource du chart Helm. La désinstallation échoue car la version d'API spécifiée n'existe plus.
Consultez le Guide de migration des API obsolètes pour connaître les API obsolètes dans chaque version de Kubernetes.
Solution
-
Utilisez le plugin helm-mapkubeapis pour mapper les API obsolètes vers des versions prises en charge, puis supprimez l'application.
Remplacez
RELEASE_NAMEetNAMESPACEpar le nom et le namespace de votre application Helm.helm plugin install https://github.com/helm/helm-mapkubeapis helm mapkubeapis RELEASE_NAME -n NAMESPACEUn message
...completed successfullyconfirme que les versions d'API sont mappées. -
Désinstallez à nouveau l'application.
helm uninstall RELEASE_NAME -n NAMESPACELe résultat
release "***" uninstalledconfirme que l'application Helm est supprimée.
Références
Migrez de Helm V2 vers Helm V3 pour bénéficier d'une sécurité améliorée et des dernières fonctionnalités.
Container Registry Enterprise Edition prend en charge le push et pull des Helm Charts.