Eventos
Cree aplicaciones inteligentes
17 mar, 9 p.m. - 21 mar, 10 a.m.
Únete a la serie de encuentros para crear soluciones de IA escalables basadas en casos de uso del mundo real con otros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no es compatible.
Actualice a Microsoft Edge para aprovechar las características, las actualizaciones de seguridad y el soporte técnico más recientes.
Helm es una herramienta de empaquetado de código abierto que ayuda a instalar y administrar el ciclo de vida de las aplicaciones de Kubernetes. Al igual que los administradores de paquetes de Linux, como APT y Yum, Helm administra los gráficos de Kubernetes, que son paquetes de recursos de Kubernetes preconfigurados.
En esta guía de inicio rápido, usará Helm para empaquetar y ejecutar una aplicación en AKS. Para más información sobre cómo instalar una aplicación existente con Helm, consulte Instalación de aplicaciones existentes con Helm en AKS.
Debe almacenar las imágenes de contenedor en una instancia de Azure Container Registry (ACR) para ejecutar la aplicación en el clúster de AKS mediante Helm. El nombre del registro debe ser único dentro de Azure y contener entre 5 y 50 caracteres alfanuméricos. Solo están permitidos los caracteres en minúscula. La SKU básica es un punto de entrada optimizado para costo con fines de desarrollo que proporciona un equilibrio entre almacenamiento y rendimiento.
Cree un grupo de recursos de Azure con el comando az group create. En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la ubicación eastus.
az group create --name myResourceGroup --location eastus
Cree una instancia de Azure Container Registry con un nombre único mediante una llamada al comando az acr create. En el ejemplo siguiente se crea una instancia de ACR denominada myhelmacr con el SKU Básico.
az acr create --resource-group myResourceGroup --name myhelmacr --sku Basic
El resultado debería ser similar al siguiente ejemplo reducido. Tome nota del valor de loginServer para usarlo en la instancia de ACR en un paso posterior.
{
"adminUserEnabled": false,
"creationDate": "2023-12-26T22:36:23.998425+00:00",
"id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myhelmacr",
"location": "eastus",
"loginServer": "myhelmacr.azurecr.io",
"name": "myhelmacr",
"networkRuleSet": null,
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"sku": {
"name": "Basic",
"tier": "Basic"
},
"status": null,
"storageAccount": null,
"tags": {},
"type": "Microsoft.ContainerRegistry/registries"
}
El nuevo clúster de AKS necesita acceder a la instancia de ACR para extraer las imágenes de contenedor y ejecutarlas.
Cree un clúster de AKS con el comando az aks create y el parámetro --attach-acr
para concederle acceso a su instancia de ACR. En el ejemplo siguiente, se crea un clúster de AKS denominado myAKSCluster y se le concede acceso a la instancia de ACR denominada myhelmacr. Asegúrese de reemplazar myhelmacr
por el nombre de su instancia de ACR.
az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
Para conectar un clúster de Kubernetes de manera local, use kubectl, el cliente de línea de comandos de Kubernetes. Si usa Azure Cloud Shell, kubectl
ya está instalado.
Instale kubectl
localmente mediante el comando az aks install-cli.
az aks install-cli
Para configurar kubectl
para conectarse a su clúster de Kubernetes, use el comando az aks get-credentials. En el comando siguiente, se obtienen las credenciales del clúster de AKS llamado myAKSCluster en myResourceGroup.
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
En este inicio rápido usa la aplicación Azure Vote.
Clone la aplicación desde GitHub mediante el comando git clone
.
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Vaya al directorio azure-vote
mediante el comando cd
.
cd azure-voting-app-redis/azure-vote/
Compile e inserte las imágenes en ACR mediante el comando az acr build. En el ejemplo siguiente se compila una imagen denominada azure-vote-front:v1 y se inserta en la instancia de ACR denominada myhelmacr. Asegúrese de reemplazar myhelmacr
por el nombre de su instancia de ACR.
az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
Nota
También puede importar gráficos de Helm en el ACR. Para más información, consulte Inserción y extracción de gráficos de Helm en Azure Container Registry.
Genere el gráfico de Helm con el comando helm create
.
helm create azure-vote-front
Actualice azure-vote-front/Chart.yaml para agregar una dependencia para el gráfico redis desde el repositorio de gráficos https://charts.bitnami.com/bitnami
y actualice appVersion
a v1
como se muestra en el siguiente ejemplo:
Nota
Las versiones de la imagen de contenedor que se muestran en esta guía se han probado para trabajar con este ejemplo, pero es posible que no sean la versión más reciente disponible.
apiVersion: v2
name: azure-vote-front
description: A Helm chart for Kubernetes
dependencies:
- name: redis
version: 17.3.17
repository: https://charts.bitnami.com/bitnami
...
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
Actualice las dependencias de gráficos de Helm mediante el comando helm dependency update
.
helm dependency update azure-vote-front
Actualice azure-vote-front/values.yaml con los siguientes cambios.
<loginServer>/azure-vote-front
.v1
.Por ejemplo:
replicaCount: 1
backendName: azure-vote-backend-master
redis:
image:
registry: mcr.microsoft.com
repository: oss/bitnami/redis
tag: 6.0.8
fullnameOverride: azure-vote-backend
auth:
enabled: false
image:
repository: myhelmacr.azurecr.io/azure-vote-front
pullPolicy: IfNotPresent
tag: "v1"
...
service:
type: LoadBalancer
port: 80
...
Agregue una sección env
a azure-vote-front/templates/deployment.yaml para pasar el nombre de la implementación de redis.
...
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: REDIS
value: {{ .Values.backendName }}
...
Instale la aplicación con el gráfico de Helm mediante el comando helm install
.
helm install azure-vote-front azure-vote-front/
El servicio puede tardar unos minutos en devolver una dirección IP pública. Para supervisar el progreso, utilice el comando kubectl get service
con el argumento --watch
.
kubectl get service azure-vote-front --watch
Cuando el servicio está listo, el valor de EXTERNAL-IP
cambia de <pending>
a una dirección IP. Presione CTRL+C
para detener el proceso de inspección de kubectl
.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.18.228 <pending> 80:32021/TCP 6s
...
azure-vote-front LoadBalancer 10.0.18.228 52.188.140.81 80:32021/TCP 2m6s
Vaya al equilibrador de carga de la aplicación en un explorador mediante la <EXTERNAL-IP>
para ver la aplicación de ejemplo.
Quite el grupo de recursos, el clúster de AKS, la instancia de Azure Container Registry, las imágenes de contenedor almacenadas en ACR y todos los recursos relacionados mediante el comando az group delete con el parámetro --yes
para confirmar la eliminación y con el parámetro --no-wait
para volver al símbolo del sistema sin esperar a que se complete la operación.
az group delete --name myResourceGroup --yes --no-wait
Nota
Si ha creado el clúster de AKS con una identidad administrada asignada por el sistema (la opción de identidad predeterminada en este inicio rápido), la identidad se administra mediante la plataforma y no necesita eliminación.
Si ha creado el clúster de AKS con una entidad de servicio, la entidad de servicio no se quitará al eliminar el clúster. Para quitar la entidad de servicio, consulte Consideraciones principales y eliminación de AKS.
Para más información sobre el uso de Helm, consulte la documentación de Helm.
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Selecciona un vínculo para proporcionar comentarios:
Eventos
Cree aplicaciones inteligentes
17 mar, 9 p.m. - 21 mar, 10 a.m.
Únete a la serie de encuentros para crear soluciones de IA escalables basadas en casos de uso del mundo real con otros desarrolladores y expertos.
Regístrese ahoraFormación
Módulo
Proyecto guiado: implementación de aplicaciones en Azure Kubernetes Service - Training
Le damos la bienvenida a esta experiencia interactiva de validación de aptitudes. Completar este módulo le ayuda a prepararse para la evaluación de Implementación y administración de contenedores con Azure Kubernetes Service.
Certificación
Microsoft Certified: Azure Administrator Associate - Certifications
Demostrar aptitudes clave para configurar, proteger y administrar funciones profesionales clave en Microsoft Azure.