Helm simplifie la définition, l'installation et la mise à jour des applications, rendant leur gestion sur les clusters Kubernetes plus efficace.Container Compute Service (ACS) intègre Helm à sa Marketplace pour proposer des applications tierces populaires telles que Spark et Dify.
Concepts Helm
Gestionnaire de packages open source pour Kubernetes, Helm standardise l'empaquetage des applications et prend en charge le contrôle de version. Cela réduit la complexité de distribution et de déploiement. Le tableau suivant présente les concepts fondamentaux de Helm. Pour plus d'informations, consultez la documentation officielle Helm.
|
Concept |
Description |
|
Chart |
Package Helm contenant toutes les ressources nécessaires à l'exécution d'une application : images requises, dépendances et définitions de ressources. Il peut également inclure des définitions de services pour un cluster Kubernetes. Un Chart s'apparente à une formule Homebrew, un fichier dpkg APT ou un fichier rpm Yum. |
|
Release |
Instance d'un Chart en cours d'exécution sur un cluster Kubernetes. Vous pouvez installer le même Chart plusieurs fois sur un même cluster. Chaque installation crée une nouvelle Release dotée de son propre nom. Par exemple, pour exécuter deux bases de données sur un cluster à l'aide d'un Chart MySQL, installez ce Chart à deux reprises. Chaque installation génère alors une Release distincte avec un nom unique. |
|
Repository |
Dépôt de Charts. Le client Helm accède au fichier d'index et aux Charts empaquetés d'un dépôt via HTTP. |
|
Helm CLI |
Outil en ligne de commande Helm. Pour les instructions d'installation, reportez-vous à Installing Helm. |
Déployer depuis le Repository ACK
ACS fournit un Repository comprenant des applications courantes telles qu'Apache Spark. Exploitez le Repository ACK via la console ou le Helm CLI.
Console
Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez .
Sur la page Helm, cliquez sur Deploy dans le coin supérieur gauche.
-
Configurez les informations de base comme indiqué dans le tableau suivant, puis cliquez sur Next.
Paramètre
Description
Valeur d'exemple
Application Name
Nom de la Release dans le cluster.
demo-app
Namespace
Namespace de déploiement de la Release.
default
Source
Origine du Chart.
-
Marketplace : Marketplace d'applications.
-
ACR EE : Container Registry Enterprise Edition (ACR EE).
Marketplace
Chart
Chart à installer.
ack-dify
-
-
Sélectionnez une version du Chart, configurez ses paramètres selon vos besoins, puis cliquez sur OK.
RemarqueUne fois la Release installée, gérez l'application depuis la console. Pour plus d'informations, consultez Gérer les applications dans ACK à l'aide de Helm.
Helm CLI
-
Installez et configurez kubectl ainsi que le Helm CLI, puis connectez-vous au cluster. Pour plus d'informations, consultez Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour s'y connecter et Install Helm.
RemarqueLe Helm CLI est préinstallé dans Cloud Shell ; aucune installation n'est donc requise. Pour plus d'informations, consultez Utiliser kubectl sur Cloud Shell pour gérer des clusters Kubernetes.
-
Ajoutez le Repository ACK à vos dépôts Helm et nommez-le aliyunhub.
helm repo add aliyunhub https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/Résultat attendu :
"aliyunhub" has been added to your repositories -
Mettez à jour l'index du dépôt aliyunhub.
helm repo update aliyunhubRésultat attendu :
Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "aliyunhub" chart repository Update Complete. ⎈Happy Helming!⎈ -
Listez les Charts disponibles dans le dépôt.
helm search repo aliyunhubRésultat attendu :
NAME CHART VERSION APP VERSION DESCRIPTION aliyunhub/ack-acr-acceleration-p2p 0.3.6 0.3.6 Speed Up Container Startup on ACK aliyunhub/ack-acr-acceleration-suite 0.2.8 0.2.8 Speed Up Container Startup on ACK aliyunhub/ack-advanced-audit 0.5.0 0.5.0 Kubernetes advanced audit aliyunhub/ack-advanced-horizontal-pod-autoscaler 0.1.0 1.0 A Helm chart for Kubernetes aliyunhub/ack-aegis-installer 0.1.1 Install Aegis in Alibaba Cloud Kubernetes cluster. aliyunhub/ack-agones 1.23.0 1.23.0 a library for hosting, running and scaling dedi... aliyunhub/ack-ags-wdl 1.1.0 1.16.0 A Helm chart for AGS to support WDL language. aliyunhub/ack-ahas-pilot 1.17.2 1.17.2 A cloud service that aims to improve the high a... aliyunhub/ack-ahas-sentinel-pilot 0.3.0 0.3.0 AHAS Sentinel Pilot - Webhook Admission Controller aliyunhub/ack-ahas-springcloud-gateway 0.1.1 0.1.1 Spring Cloud Gateway with AHAS Sentinel integra... aliyunhub/ack-ai-dashboard 1.0.15 1.0.0 ai-dashboard for Kube-AI aliyunhub/ack-ai-dev-console 1.2.1 1.2.1 ack-ai-dev-console of KubeAI aliyunhub/ack-ai-installer 1.9.15 1.9.15 a toolkit for scheduling computing resources in... aliyunhub/ack-ai-pipeline 1.0.4 1.0.4 ack-ai-pipeline of KubeAI aliyunhub/ack-alibaba-cloud-metrics-adapter 1.3.4 0.1.5 An implementation of the Kubernetes Custom Metr... aliyunhub/ack-amd-device-plugin 1.0.0 1.0.0 A Helm chart for deploying ack-amd-device-plugin aliyunhub/ack-amd-smi-exporter 1.0.0 1.0.0 A Helm chart for deploying ack-amd-smi-exporter aliyunhub/ack-application-acceleration 1.1.0 1.1.0 Reduce application startup time on ACK aliyunhub/ack-arena 0.9.16 0.9.16 Running Deep Learning Containers on ACK aliyunhub/ack-arena-exporter 0.5.0 0.5.0 A Helm chart for deploying arena-exporter aliyunhub/ack-arms-cmonitor 4.1.2 4.1.2 ARMS Container Monitor aliyunhub/ack-arms-pilot 1.52.4 1.52.4 ARMS Pilot - deprecated aliyunhub/ack-arms-prometheus 1.1.25 4.2.0 ARMS Prometheus Operator aliyunhub/ack-arms-vector 1.0.2 1.0.0 ARMS Prometheus Vector aliyunhub/ack-autoscaling-placeholder 1.1.0 1.1 Installs the a deployment that overprovisions t... aliyunhub/ack-blazing-dns 2.0.0 2.0.0 BlazingDNS speeds up DNS. aliyunhub/ack-celeborn 0.1.0 Apache Celeborn is an intermediate data service... aliyunhub/ack-cgpu 1.5.2 1.5.2 A GPU sharing and isolation solution on Kuberne... aliyunhub/ack-coredns-dnstap-analyser 0.1.0 v0.4.0.0 A dnstap receiver and analyser for CoreDNS dnst... aliyunhub/ack-cost-exporter 1.0.17 0.1 export cost metrics of cloud resources aliyunhub/ack-descheduler 0.27.1 0.27.1 ACK descheduler for Kubernetes is used to rebal... aliyunhub/ack-dify 0.1.7 0.8.3 Helm chart for deploying dify resources. aliyunhub/ack-edge-acr-acceleration-p2p 0.2.2 0.2.2 Speed Up Container Startup on ACK aliyunhub/ack-edge-arms-prometheus 0.1.5 1.0.5 ARMS Prometheus Operator aliyunhub/ack-edge-nas-csiplugin 1.1.0 v1 this chart provides nas csi driver for ack@edge. aliyunhub/ack-edge-node-problem-detector 1.2.0 0.8.0 this chart aims to make various node problems ... ... -
Déployez Apache Spark 3.0 à titre d'exemple.
RemarqueCette commande est fournie à titre indicatif. Pour les déploiements en production, modifiez certaines valeurs, comme l'URL du dépôt d'images, afin de correspondre à votre région.
helm install spark aliyunhub/ack-spark-operator3.0 \ --namespace spark-operator \ --create-namespace \ --set image.repository=registry-cn-shanghai-vpc.ack.aliyuncs.com/acs/spark-operatorRésultat attendu :
NAME: spark LAST DEPLOYED: * * ****** 2024 NAMESPACE: spark-operator STATUS: deployed REVISION: 1 TEST SUITE: None
Déployer depuis des dépôts tiers
Si les Charts du Repository ACK ne répondent pas à vos besoins, utilisez un dépôt tiers pour déployer vos applications.
helm repo add <REPO_NAME> <REPO_URL> # Add a chart repository.
helm repo update # Update repository information.
helm install <APP_NAME> <REPO_NAME>/<CHART_NAME> # Install a chart.
Pour plus d'informations sur les commandes Helm, consultez Using Helm.