Helm simplifica la definición, instalación y actualización de aplicaciones, lo que hace más eficiente su gestión en clústeres de Kubernetes.Container Compute Service (ACS) integra Helm en su Marketplace para ofrecer aplicaciones populares de terceros, como Spark y Dify.
Conceptos de Helm
Helm es un administrador de paquetes de código abierto para Kubernetes. Proporciona una forma estandarizada de empaquetar aplicaciones y admite el control de versiones, lo que reduce la complejidad al distribuir y desplegar aplicaciones. A continuación se describen los conceptos básicos de Helm. Para obtener más información, consulte la documentación oficial de Helm.
|
Concepto |
Descripción |
|
Chart |
Paquete de Helm que contiene todos los recursos necesarios para ejecutar una aplicación, como las imágenes obligatorias, las dependencias y las definiciones de recursos. También puede incluir definiciones de servicios para un clúster de Kubernetes. Un Chart es similar a una fórmula de Homebrew, un archivo dpkg de APT o un archivo rpm de Yum. |
|
Release |
Instancia de un Chart que se ejecuta en un clúster de Kubernetes. Es posible instalar el mismo Chart varias veces en un mismo clúster. Cada instalación crea una nueva Release con su propio nombre. Por ejemplo, si desea ejecutar dos bases de datos en un clúster mediante un Chart de MySQL, instale el Chart dos veces. Cada instalación genera una Release independiente con un nombre único. |
|
Repository |
Repositorio de Charts. El cliente de Helm accede al archivo de índice y a los Charts empaquetados de un repositorio mediante HTTP. |
|
Helm CLI |
Herramienta de línea de comandos de Helm. Para consultar las instrucciones de instalación, consulte Installing Helm. |
Despliegue desde el Repository de ACK
ACS proporciona un Repository que incluye aplicaciones comunes, como Apache Spark. Puede utilizar el Repository de ACK desde la consola o mediante el Helm CLI.
Consola
Inicie sesión en la consola de ACS. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre del clúster de destino. En el panel de navegación izquierdo, seleccione .
En la página Helm, haga clic en Deploy en la esquina superior izquierda.
-
Configure la información básica tal como se describe en la siguiente tabla y, a continuación, haga clic en Next.
Parámetro
Descripción
Valor de ejemplo
Application Name
Nombre de la Release en el clúster.
demo-app
Namespace
Namespace donde se despliega la Release.
default
Source
Origen del Chart.
-
Marketplace: Marketplace de aplicaciones.
-
ACR EE: Container Registry Enterprise Edition (ACR EE).
Marketplace
Chart
Chart que se va a instalar.
ack-dify
-
-
Seleccione una versión del Chart, configure sus parámetros según sea necesario y haga clic en OK.
NotaUna vez instalada la Release, puede gestionar la aplicación desde la consola. Para obtener más información, consulte Manage applications in ACK by using Helm.
Helm CLI
-
Instale y configure kubectl junto con el Helm CLI, y luego conéctese al clúster. Para obtener más información, consulte Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster y Install Helm.
NotaCloud Shell ya incluye el Helm CLI preinstalado, por lo que no necesita instalarlo. Para obtener más información, consulte Use kubectl on Cloud Shell to manage Kubernetes clusters.
-
Agregue el Repository de ACK a sus repositorios de Helm y asígnele el nombre aliyunhub.
helm repo add aliyunhub https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/Resultado esperado:
"aliyunhub" has been added to your repositories -
Actualice el índice del repositorio aliyunhub.
helm repo update aliyunhubResultado esperado:
Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "aliyunhub" chart repository Update Complete. ⎈Happy Helming!⎈ -
Enumere los Charts disponibles en el repositorio.
helm search repo aliyunhubResultado esperado:
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 ... ... -
Como ejemplo, despliegue Apache Spark 3.0.
NotaEl siguiente comando es solo un ejemplo. En los despliegues de producción, es posible que deba modificar valores como la URL del repositorio de imágenes para que coincidan con su región.
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-operatorResultado esperado:
NAME: spark LAST DEPLOYED: * * ****** 2024 NAMESPACE: spark-operator STATUS: deployed REVISION: 1 TEST SUITE: None
Despliegue desde repositorios de terceros
Si los Charts del Repository de ACK no cubren sus necesidades, utilice un repositorio de terceros para desplegar sus aplicaciones.
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.
Para obtener más información sobre los comandos de Helm, consulte Using Helm.