Inicio rápido: Implementación de un host de contenedor de Linux en Azure para un clúster de AKS mediante la CLI de Azure
Comience a trabajar con el host de contenedor de Linux en Azure mediante la CLI de Azure para implementar un host de contenedor de Linux en Azure para un clúster de AKS. Después de instalar los requisitos previos, creará un grupo de recursos, creará un clúster de AKS, se conectará al clúster y ejecutará una aplicación de ejemplo con varios contenedores en el clúster.
Requisitos previos
-
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Use el entorno de Bash en Azure Cloud Shell. Para más información, vea Inicio rápido de Azure Cloud Shell: Bash.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Crear un grupo de recursos
Un grupo de recursos de Azure es un grupo lógico en el que se implementan y administran recursos de Azure. Al crear un grupo de recursos, es necesario especificar una ubicación. Esta ubicación es:
- La ubicación de almacenamiento de los metadatos del grupo de recursos.
- El lugar en el que se ejecutan los recursos en Azure si no se especifica otra región al crearlos.
Para crear un grupo de recursos denominado testAzureLinuxResourceGroup en la región eastus, realice este paso:
Cree un grupo de recursos con el comando az group create
.
az group create --name testAzureLinuxReourceGroup --location eastus
La siguiente salida muestra que el grupo de recursos se creó correctamente:
{
"id": "/subscriptions/<guid>/resourceGroups/testAzureLinuxResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "testAzureLinuxResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Nota:
En el ejemplo anterior se usa eastus, pero los clústeres de host de contenedor de Linux en Azure están disponibles en todas las regiones.
Creación de un clúster de host de contenedor de Linux en Azure
Cree un clúster de AKS mediante el comando az aks create
con el parámetro --os-sku
para aprovisionar el clúster de AKS con una imagen de Linux en Azure. En el ejemplo siguiente se crea un clúster de Linux en Azure denominado testAzureLinuxCluster con un nodo:
az aks create --name testAzureLinuxCluster --resource-group testAzureLinuxResourceGroup --os-sku AzureLinux
Transcurridos unos minutos, el comando se completa y devuelve información en formato JSON sobre el clúster.
Conectarse al clúster
Para administrar un clúster de Kubernetes, use kubectl, el cliente de línea de comandos de Kubernetes.
- Para configurar
kubectl
para conectarse a su clúster de Kubernetes, use el comandoaz aks get-credentials
.
az aks get-credentials --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster
- Para comprobar la conexión al clúster, ejecute el comando kubectl get. El comando devuelve una lista de los pods.
kubectl get pods --all-namespaces
Implementación de la aplicación
Un archivo de manifiesto de Kubernetes define el estado deseado del clúster, por ejemplo, qué imágenes de contenedor se van a ejecutar.
En este inicio rápido se usa un manifiesto para crear todos los objetos necesarios para ejecutar la aplicación Azure Vote. Este manifiesto incluye dos implementaciones de Kubernetes:
- Las aplicaciones de Python de ejemplo de Azure Vote.
- Una instancia de Redis.
También se crean dos servicios de Kubernetes:
- Un servicio interno para la instancia de Redis.
- Un servicio externo para acceder a la aplicación Azure Vote desde Internet.
Cree un archivo denominado
azure-vote.yaml
y cópielo en el siguiente código manifiesto.- Si usa Azure Cloud Shell, este archivo se puede crear mediante
code
,vi
onano
como si trabajara en un sistema físico o virtual.
apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-back spec: replicas: 1 selector: matchLabels: app: azure-vote-back template: metadata: labels: app: azure-vote-back spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-back image: mcr.microsoft.com/oss/bitnami/redis:6.0.8 env: - name: ALLOW_EMPTY_PASSWORD value: "yes" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 6379 name: redis --- apiVersion: v1 kind: Service metadata: name: azure-vote-back spec: ports: - port: 6379 selector: app: azure-vote-back --- apiVersion: apps/v1 kind: Deployment metadata: name: azure-vote-front spec: replicas: 1 selector: matchLabels: app: azure-vote-front template: metadata: labels: app: azure-vote-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: azure-vote-front image: mcr.microsoft.com/azuredocs/azure-vote-front:v1 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi ports: - containerPort: 80 env: - name: REDIS value: "azure-vote-back" --- apiVersion: v1 kind: Service metadata: name: azure-vote-front spec: type: LoadBalancer ports: - port: 80 selector: app: azure-vote-front
Para ver un desglose de los archivos de manifiesto de YAML, consulte Implementaciones y manifiestos de YAML.
- Si usa Azure Cloud Shell, este archivo se puede crear mediante
Implemente la aplicación mediante el comando kubectl apply y especifique el nombre del manifiesto de YAML:
kubectl apply -f azure-vote.yaml
El ejemplo siguiente se parece a la salida que muestra las implementaciones y servicios creados correctamente:
deployment "azure-vote-back" created service "azure-vote-back" created deployment "azure-vote-front" created service "azure-vote-front" created
Prueba de la aplicación
Cuando se ejecuta la aplicación, un servicio de Kubernetes expone el front-end de la aplicación a Internet. Este proceso puede tardar unos minutos en completarse.
Para supervisar el progreso, utilice el comando kubectl get service con el argumento --watch
.
kubectl get service azure-vote-front --watch
La salida de EXTERNAL-IP del servicio azure-vote-front
aparecerá inicialmente como pendiente.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Una vez que la dirección EXTERNAL-IP cambia de pendiente a una dirección IP pública real, use CTRL-C
para detener el kubectl
proceso de inspección. En la salida del ejemplo siguiente se muestra una dirección IP pública válida asignada al servicio:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Para ver la aplicación Azure Vote en acción, abra un explorador web en la dirección IP externa del servicio.
Eliminación del clúster
Si no va a continuar con los siguientes tutoriales, para evitar los cargos de Azure, elimine los recursos innecesarios. Use el comando az group delete
para eliminar el grupo de recursos y todos los recursos relacionados.
az group delete --name testAzureLinuxCluster --yes --no-wait
Pasos siguientes
En este inicio rápido, ha implementado un clúster de host de contenedor de Linux en Azure. Para obtener más información sobre el host de contenedor de Linux en Azure y recorrer un ejemplo completo de implementación y administración de clústeres, continúe con el tutorial sobre el host de contenedor de Linux en Azure.
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de