Compartir a través de


Implementación de redes de contenedor para un host de Docker de Linux independiente

El complemento Azure CNI habilita las redes por contenedor/pod para clústeres de Kubernetes y hosts de Docker independientes. En este artículo, aprenderá a instalar y configurar el complemento CNI para un host de Docker de Linux independiente.

Requisitos previos

Crear una red virtual y un host de Azure Bastion

El procedimiento siguiente crea una red virtual con una subred de recursos, una subred de Azure Bastion y un host de Bastion:

  1. En el portal, busque y seleccione Redes virtuales.

  2. En la página Redes virtuales, seleccione y Crear.

  3. En la pestaña Datos básicos de Crear red virtual, escriba o seleccione la siguiente información:

    Configuración Valor
    Detalles del proyecto
    Suscripción Selecciona tu suscripción.
    Resource group Seleccione Crear nuevo.
    Escriba test-rg para el nombre.
    Seleccione Aceptar.
    Detalles de instancia
    Nombre Escriba vnet-1.
    Region Seleccione Este de EE. UU. 2.

    Captura de pantalla de la pestaña Aspectos básicos para crear una red virtual en Azure Portal.

  4. Seleccione Siguiente para ir a la pestaña Seguridad.

  5. En la sección Azure Bastion, seleccione Habilitar Azure Bastion.

    Bastion usa el explorador para conectarse a las máquinas virtuales de la red virtual a través del shell seguro (SSH) o el protocolo de escritorio remoto (RDP) mediante sus direcciones IP privadas. Las máquinas virtuales no necesitan direcciones IP públicas, software cliente ni configuración especial. Para más información, consulte ¿Qué es Azure Bastion?.

    Nota:

    Los precios por hora comienzan desde el momento en que se implementa Bastion, independientemente del uso de datos salientes. Para más información, consulte Precios y SKU. Si va a implementar Bastion como parte de un tutorial o prueba, se recomienda eliminar este recurso una vez que haya terminado de usarlo.

  6. En Azure Bastion, escriba o seleccione la información siguiente:

    Configuración Valor
    Nombre de host de Azure Bastion Escriba bastión.
    Dirección IP pública de Azure Bastion Seleccione Crear una dirección IP pública.
    Escriba public-ip-bastion en Nombre.
    Seleccione Aceptar.

    Captura de pantalla de las opciones para habilitar un host de Azure Bastion como parte de la creación de una red virtual en Azure Portal.

  7. Seleccione Siguiente para continuar a la pestaña Direcciones IP.

  8. En el cuadro espacio de direcciones de Subredes, seleccione la subred predeterminada.

  9. En Agregar subred, escriba o seleccione la información siguiente:

    Configuración Valor
    Propósito de la subred Deje el valor predeterminado Predeterminado.
    Nombre Escriba subnet-1.
    IPv4
    Intervalo de direcciones IPv4 Deje el valor predeterminado de 10.0.0.0/16.
    Dirección inicial Deje el valor predeterminado de 10.0.0.0.
    Size Deje el valor predeterminado de /24 (256 direcciones).

    Captura de pantalla de los detalles de configuración de una subred.

  10. Seleccione Guardar.

  11. En la parte inferior de la ventana, seleccione Revisar y crear. Cuando se supera la validación, seleccione Crear.

El host de Bastion puede tardar unos minutos en implementarse. Puede continuar con los pasos mientras se implementa el host de Bastion.

Creación de una máquina virtual de prueba

El procedimiento siguiente crea una máquina virtual (VM) de prueba denominada vm-1 en la red virtual.

  1. En el portal, busque y seleccione Máquinas virtuales.

  2. En Máquinas virtuales, seleccione + Crear y, después, Máquina virtual de Azure.

  3. En la pestaña Datos básicos de Crear una máquina virtual, escriba o seleccione la siguiente información:

    Configuración Valor
    Detalles del proyecto
    Suscripción Selecciona tu suscripción.
    Resource group Seleccione test-rg.
    Detalles de instancia
    Nombre de la máquina virtual Escriba vm-1.
    Region Seleccione Este de EE. UU. 2.
    Opciones de disponibilidad Seleccione No se requiere redundancia de la infraestructura.
    Tipo de seguridad Deje el valor predeterminado Estándar.
    Imagen Seleccione Ubuntu Server 22.04 LTS: x64 Gen2.
    Arquitectura VM Deje el valor predeterminado, x64.
    Size Seleccione un tamaño.
    Cuenta de administrador
    Tipo de autenticación Seleccione Contraseña.
    Nombre de usuario escriba usuarioazure.
    Contraseña Escriba una contraseña.
    Confirmar contraseña Reescriba la contraseña.
    Reglas de puerto de entrada
    Puertos de entrada públicos Seleccione Ninguno.
  4. Seleccione la pestaña Redes en la parte superior de la página.

  5. En la pestaña Redes, escriba o seleccione la siguiente información:

    Parámetro Valor
    Interfaz de red
    Virtual network Seleccione vnet-1.
    Subnet Seleccione subnet-1 (10.0.0.0/24).
    Dirección IP pública Selecciona Ninguno.
    Grupo de seguridad de red de NIC Seleccione Advanced (Avanzadas).
    Configuración del grupo de seguridad de red Seleccione Crear nuevo.
    Escriba nsg-1 como nombre.
    Deje el resto de los valores predeterminados y seleccione Aceptar.
  6. Deje el resto de las opciones en sus valores predeterminados y luego seleccione Revisar + crear.

  7. Revise la configuración y seleccione Crear.

Nota

Las máquinas virtuales de una red virtual con un host bastión no necesitarán direcciones IP públicas. Bastion proporcionará la dirección IP pública y las máquinas virtuales usarán direcciones IP privadas para comunicarse dentro de la red. Es posible quitar las direcciones IP públicas de cualquier máquina virtual en redes virtuales hospedadas por Bastion. Para obtener más información, consulte Desasociación de una dirección IP pública de una máquina virtual de Azure.

Nota:

Azure proporciona una dirección IP de acceso de salida predeterminada para las máquinas virtuales que no tienen asignada una dirección IP pública o están en el grupo back-end de un equilibrador de carga de Azure básico interno. El mecanismo de dirección IP de acceso de salida predeterminado proporciona una dirección IP de salida que no se puede configurar.

La dirección IP de acceso de salida predeterminada está deshabilitada cuando se produce uno de los siguientes eventos:

  • Se asigna una dirección IP pública a la máquina virtual.
  • La máquina virtual se coloca en el grupo back-end de un equilibrador de carga estándar, con o sin reglas de salida.
  • Se asigna un recurso de Azure NAT Gateway a la subred de la máquina virtual.

Las máquinas virtuales creadas mediante conjuntos de escalado de máquinas virtuales en modo de orquestación flexible no tienen acceso de salida predeterminado.

Para más información sobre las conexiones de salida en Azure, vea Acceso de salida predeterminado en Azure y Uso de traducción de direcciones de red (SNAT) de origen para conexiones de salida.

Incorporación de configuración de IP

El complemento Azure CNI asigna direcciones IP a contenedores en función de un grupo de direcciones IP que crea en la interfaz de red virtual de la máquina virtual. Para cada contenedor del host, debe existir una configuración de IP en la interfaz de red virtual. Si el número de contenedores del servidor supera las configuraciones IP de la interfaz de red virtual, el contenedor se iniciará pero no tendrá una dirección IP.

En esta sección, agregará una configuración de IP a la interfaz de red virtual de la máquina virtual que creó anteriormente.

  1. En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, selecciona Máquinas virtuales.

  2. Seleccione vm-1.

  3. En Configuración, seleccione Redes.

  4. Seleccione el nombre de la interfaz de red junto a Interfaz de red:. La interfaz de red se denomina vm-1 con un número aleatorio.

  5. En la hoja Configuración de la interfaz de red, seleccione Configuraciones IP.

  6. En Configuraciones IP, seleccione ipconfig1 en Nombre.

  7. En la configuración ipconfig1, cambie la asignación de la dirección IP privada de Dinámica a Estática.

  8. Seleccione Guardar.

  9. Vaya a Configuraciones de IP.

  10. Seleccione +Agregar.

  11. Para Agregar configuración de IP, escriba o seleccione esta información:

    Configuración Value
    Nombre Escriba ipconfig-2.
    Configuración de dirección IP privada
    Asignación Seleccione Estática.
    Dirección IP Escriba 10.0.0.5.
  12. Seleccione Aceptar.

  13. Compruebe que se agregó ipconfig-2 como una configuración de IP secundaria.

Repita los pasos anteriores para agregar tantas configuraciones como contenedores desee implementar en el host del contenedor.

Instalación de Docker

El motor de contenedor de Docker se debe instalar y configurar en la máquina virtual que creó anteriormente.

Inicie sesión en la máquina virtual que creó anteriormente con el host de Azure Bastion que implementó con la red virtual.

  1. En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, selecciona Máquinas virtuales.

  2. Seleccione vm-1.

  3. En la Información general de vm-1, seleccione Connect y, luego, Bastion.

  4. Escriba el nombre de usuario y la contraseña que creó al implementar la máquina virtual en los pasos anteriores.

  5. Seleccione Conectar.

Para instrucciones de instalación de Docker en un host de contenedor de Ubuntu, consulte Instalación del motor de Docker en Ubuntu.

Una vez que instale Docker en la máquina virtual, siga las instrucciones de la configuración de Linux posterior a la instalación. Para esto, consulte el artículo sobre los pasos posteriores a la instalación del motor de Docker.

Una vez que instale Docker en la máquina virtual, siga con los pasos de este artículo.

Instalación del complemento CNI y creación de un contenedor de prueba

El complemento Azure CNI se mantiene como un proyecto de GitHub y está disponible para su descarga desde la página de GitHub del proyecto. En este artículo, usará git dentro de la máquina virtual para clonar el repositorio del complemento y, luego, instalará y configurará el complemento.

Para más información sobre el complemento Azure CNI, consulte Microsoft Azure Container Networking.

  1. En el cuadro de búsqueda que aparece en la parte superior del portal, escriba Máquina virtual. En los resultados de la búsqueda, selecciona Máquinas virtuales.

  2. Seleccione vm-1.

  3. En la Información general de vm-1, seleccione Connect y, luego, Bastion.

  4. Escriba el nombre de usuario y la contraseña que creó al implementar la máquina virtual en los pasos anteriores.

  5. Seleccione Conectar.

  6. La aplicación jq es necesaria para el script de instalación del complemento CNI; use el ejemplo siguiente para instalar la aplicación:

    sudo apt-get update
    sudo apt-get install jq
    
  7. A continuación, clonará el repositorio del complemento CNI. Use el ejemplo siguiente para clonar el repositorio:

    git clone https://github.com/Azure/azure-container-networking.git
    
  8. Configure los permisos e instale el complemento CNI. El comando de script de instalación requiere un número de versión para el complemento CNI. En el momento de redactar este artículo, la versión más reciente es v1.4.39. Si desea obtener el número de versión más reciente del complemento o versiones anteriores, consulte Versiones.

    cd ./azure-container-networking/scripts
    chmod u+x install-cni-plugin.sh
    sudo ./install-cni-plugin.sh v1.4.39
    chmod u+x docker-run.sh
    
  9. Para iniciar un contenedor con el complemento CNI, debe usar un script especial que viene con el complemento para crear e iniciar el contenedor. En el ejemplo siguiente, se crea un contenedor Alpine con el script del complemento CNI:

    sudo ./docker-run.sh vnetdocker1 default alpine
    
  10. Para comprobar que el contenedor recibió la dirección IP que configuró anteriormente, conéctese al contenedor y vea la dirección IP:

    sudo docker exec -it vnetdocker1 /bin/sh
    
  11. Use el comando ifconfig en el ejemplo siguiente para comprobar que la dirección IP se asignó al contenedor:

    ifconfig
    

    Captura de pantalla de la salida ifconfig en el símbolo del sistema de Bash del contenedor de prueba.

Cuando termine de usar los recursos que creó, puede eliminar el grupo de recursos y todos sus recursos.

  1. En Azure Portal, busque y seleccione Grupos de recursos.

  2. En la página Grupos de recursos, seleccione el grupo de recursos test-rg.

  3. En la página test-rg, elija Eliminar grupo de recursos.

  4. Escriba test-rg en Introducir nombre del grupo de recursos para confirmar la eliminación y, luego, seleccione Eliminar.

Pasos siguientes

En este artículo, aprendió a instalar el complemento Azure CNI y a crear un contenedor de prueba.

Para más información sobre las redes de contenedores de Azure y el servicio Azure Kubernetes, consulte: