Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Se requiere Ansible 2.8 (o posterior) para ejecutar los cuadernos de estrategias de ejemplo de este artículo.
Azure Kubernetes Service (AKS) facilita la implementación de un clúster de Kubernetes administrado en Azure. AKS reduce la complejidad y la carga operativa de gestionar Kubernetes al transferir gran parte de esa responsabilidad a Azure. Como servicio de Kubernetes hospedado, Azure controla tareas críticas, como la supervisión de estado y el mantenimiento. Azure administra los maestros de Kubernetes. Solo usted administra y mantiene los nodos del agente. Como servicio de Kubernetes administrado, AKS es gratuito; solo se paga por los nodos de los agentes dentro de sus clústeres, no por los nodos maestros.
AKS se puede configurar para usar microsoft Entra ID para la autenticación de usuario. Una vez configurado, se usa el token de autenticación de Microsoft Entra para iniciar sesión en el clúster de AKS. El RBAC se puede basar en la identidad o la pertenencia a grupos de directorios de un usuario.
En este artículo aprenderá a:
- Creación de un clúster de AKS
- Configuración de un clúster de AKS
Prerrequisitos
- Suscripción de Azure: si no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.
- Entidad de servicio de Azure: cree una entidad de servicio y tome nota de los siguientes valores: appId, displayName, password y tenant.
Instale Ansible: realice una de las siguientes opciones:
- Instalación y configuración de Ansible en una máquina virtual Linux
- Configure Azure Cloud Shell y, si no tiene acceso a una máquina virtual Linux, cree una máquina virtual con Ansible.
Creación de un clúster de AKS administrado
La guía de ejemplo crea un grupo de recursos y un clúster de AKS dentro del grupo de recursos.
Guarde el siguiente cuaderno de estrategias como azure_create_aks.yml:
- name: Create Azure Kubernetes Service
hosts: localhost
connection: local
vars:
resource_group: myResourceGroup
location: eastus
aks_name: myAKSCluster
username: azureuser
ssh_key: "your_ssh_key"
client_id: "your_client_id"
client_secret: "your_client_secret"
aks_version: aks_version
tasks:
- name: Create resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create a managed Azure Container Services (AKS) cluster
azure_rm_aks:
name: "{{ aks_name }}"
location: "{{ location }}"
resource_group: "{{ resource_group }}"
dns_prefix: "{{ aks_name }}"
kubernetes_version: "{{aks_version}}"
linux_profile:
admin_username: "{{ username }}"
ssh_key: "{{ ssh_key }}"
service_principal:
client_id: "{{ client_id }}"
client_secret: "{{ client_secret }}"
agent_pool_profiles:
- name: default
count: 2
vm_size: Standard_D2_v2
tags:
Environment: Production
Antes de ejecutar el cuaderno de estrategias, consulte las notas siguientes:
- La primera sección de
tasksdefine un grupo de recursos denominadomyResourceGroupdentro de laeastusubicación. - La segunda sección de
tasksdefine un clúster de AKS denominadomyAKSClusterdentro delmyResourceGroupgrupo de recursos. - Para el marcador de posición, escriba la
your_ssh_keyclave pública RSA en el formato de una sola línea, empezando por "ssh-rsa" (sin las comillas). - Para el
aks_versionmarcador de posición, utilice el comando az aks get-versions.
Ejecutar el playbook utilizando ansible-playbook
ansible-playbook azure_create_aks.yml
Al ejecutar el cuaderno de estrategias se muestran resultados similares a los siguientes:
PLAY [Create AKS]
TASK [Gathering Facts]
ok: [localhost]
TASK [Create resource group]
changed: [localhost]
TASK [Create an Azure Container Services (AKS) cluster]
changed: [localhost]
PLAY RECAP
localhost : ok=3 changed=2 unreachable=0 failed=0
Escalado de nodos de AKS
El cuaderno de estrategias de ejemplo de la sección anterior define dos nodos. Para ajustar el número de nodos, modifique el count valor del agent_pool_profiles bloque.
Guarde el siguiente cuaderno de estrategias como azure_configure_aks.yml:
- name: Scale AKS cluster
hosts: localhost
connection: local
vars:
resource_group: myResourceGroup
location: eastus
aks_name: myAKSCluster
username: azureuser
ssh_key: "your_ssh_key"
client_id: "your_client_id"
client_secret: "your_client_secret"
tasks:
- name: Scaling an existed AKS cluster
azure_rm_aks:
name: "{{ aks_name }}"
location: "{{ location }}"
resource_group: "{{ resource_group }}"
dns_prefix: "{{ aks_name }}"
linux_profile:
admin_username: "{{ username }}"
ssh_key: "{{ ssh_key }}"
service_principal:
client_id: "{{ client_id }}"
client_secret: "{{ client_secret }}"
agent_pool_profiles:
- name: default
count: 3
vm_size: Standard_D2_v2
Antes de ejecutar el cuaderno de estrategias, consulte las notas siguientes:
- Para el marcador de posición, escriba la
your_ssh_keyclave pública RSA en el formato de una sola línea, empezando por "ssh-rsa" (sin las comillas).
Ejecutar el playbook utilizando ansible-playbook
ansible-playbook azure_configure_aks.yml
Al ejecutar el cuaderno de estrategias se muestran resultados similares a los siguientes:
PLAY [Scale AKS cluster]
TASK [Gathering Facts]
ok: [localhost]
TASK [Scaling an existed AKS cluster]
changed: [localhost]
PLAY RECAP
localhost : ok=2 changed=1 unreachable=0 failed=0
Eliminación de un clúster de AKS administrado
La guía de procedimientos de ejemplo elimina un clúster de AKS.
Guarde el siguiente cuaderno de estrategias como azure_delete_aks.yml:
- name: Delete a managed Azure Container Services (AKS) cluster
hosts: localhost
connection: local
vars:
resource_group: myResourceGroup
aks_name: myAKSCluster
tasks:
- name:
azure_rm_aks:
name: "{{ aks_name }}"
resource_group: "{{ resource_group }}"
state: absent
Ejecutar el playbook utilizando ansible-playbook
ansible-playbook azure_delete_aks.yml
Al ejecutar el cuaderno de estrategias se muestran resultados similares a los siguientes:
PLAY [Delete a managed Azure Container Services (AKS) cluster]
TASK [Gathering Facts]
ok: [localhost]
TASK [azure_rm_aks]
PLAY RECAP
localhost : ok=2 changed=1 unreachable=0 failed=0