Guía Completa sobre Hyper-V y Virtualización
Guía Completa sobre Hyper-V y Virtualización
(ITLA)
Matricula: 2022-1715
Materia: SOII
Fecha: 20-2-23
INDICE
Descripción general de Hyper-V .................................................................................................... 4
¿Qué es la virtualización?.............................................................................................................. 4
Características de Hyper-V ............................................................................................................ 4
Arquitectura de Hyper-V ............................................................................................................... 5
Requisitos de Hyper-V ................................................................................................................... 6
Hardware ................................................................................................................................... 6
Software: ................................................................................................................................... 6
Instalación y configuración de Hyper-V ........................................................................................ 6
Instalar el rol de Hyper-V .............................................................................................................. 7
Instalación de Hyper-V en modo de instalación completa ....................................................... 7
Instalación de Hyper-V en Server Core ..................................................................................... 8
Hyper-V en el Administrador del servidor .................................................................................... 8
Uso de Hyper-V Manager .............................................................................................................. 8
Configurar los ajustes de Hyper-V ................................................................................................. 9
Administrar conmutadores virtuales ............................................................................................ 9
Administrar discos duros virtuales .............................................................................................. 10
Tipos de discos duros: ............................................................................................................. 10
Configuración de máquinas virtuales .......................................................................................... 11
Creación y administración de máquinas virtuales ...................................................................... 11
Máquinas virtuales Máquinas virtuales .................................................................................. 11
Creación de una nueva máquina virtual ................................................................................. 11
Implementaciones de imágenes de Linux y FreeBSD .................................................................. 12
Comandos de PowerShell............................................................................................................ 13
Comprensión de los contenedores de Windows ........................................................................ 15
Terminología de contenedores ................................................................................................... 15
Instalar y configurar contenedores de servidor .......................................................................... 16
Requisitos ................................................................................................................................ 16
Instalación de Docker .............................................................................................................. 17
Instalar y configurar contenedores de Windows ........................................................................ 18
Instalación de un sistema operativo base ............................................................................... 18
Agregar una imagen a un contenedor .................................................................................... 19
Etiquetado de una imagen .......................................................................................................... 19
Desinstalar una imagen del sistema operativo ........................................................................... 19
Desinstalación de una imagen ................................................................................................ 20
Creación de nuevas imágenes utilizando Dockerfile................................................................... 20
Comprensión de los contenedores de Hyper-V .......................................................................... 20
Gestión de redes de contenedores ............................................................................................. 21
Uso del repositorio de Docker Hub ............................................................................................. 22
Uso de Microsoft Azure para imágenes ...................................................................................... 22
Uso de PowerShell para contenedores ....................................................................................... 23
Descripción general de Hyper-V
¿Qué es la virtualización?
Virtualization is a method for abstracting physical resources from the way that they interact with
other resources. For example, if you abstract the physical hardware from the operating system,
you get the benefit of being able to move the operating system between different physical systems.
This is called server virtualization. But there are also other forms of virtualization available, such
as presentation virtualization, desktop virtualization, and application virtualization.
Características de Hyper-V
Arquitectura de Hyper-V
En las secciones siguientes se describirán los requisitos de hardware y software para instalar el
rol de servidor Hyper-V. Es importante comprender estos requisitos para obtener su licencia de
software, así como para planificar el hardware del servidor. Cuando comprenda los requisitos,
puede diseñar y configurar una solución de Hyper-V que satisfaga las necesidades de sus
aplicaciones.
Hardware
CPU: x64 compatible con tecnología Intel VT o AMD-V habilitada. La prevención de ejecución
de datos de hardware (DEP), específicamente el bit Intel XD (bit de desactivación de ejecución)
o el bit AMD NX (sin bit de ejecución), debe estar disponible y habilitado. Mínimo: 1,4 GHz.
Recomendado: 2 GHz o más rápido.
Memoria: Mínimo: 1 GB de RAM. Recomendado: 2 GB de RAM o más. (Se requiere RAM
adicional para cada sistema operativo invitado en ejecución). Máximo: 1 TB.
Disco duro: Mínimo: 8 GB. Recomendado: 20 GB o más. (Se necesita espacio en disco adicional
para cada sistema operativo invitado).
Software:
Para usar la virtualización en Windows Server 2016, debe tener en cuenta los requisitos básicos
de software para Hyper-V. Hyper-V solo se ejecuta en las siguientes ediciones del sistema
operativo Windows Server 2016:
■ Windows Server 2016 Standard edition
■ Windows Server 2016 Datacenter edition
■ Microsoft Hyper-V Server 2012 R2 edition
■ Windows Server 2016 Hyper-V edition
En las secciones siguientes se explica cómo instalar el rol Hyper-V mediante el Administrador
del servidor en el modo de instalación completa de Windows Server 2016 o el modo de línea de
comandos en Windows Server 2016 Server Core. Luego echaremos un vistazo a Hyper-V como
parte del Administrador del servidor antes de discutir cómo usar el Administrador de Hyper-V.
Finalmente, veremos la configuración del servidor Hyper-V y luego cubriremos dos áreas
importantes para Hyper-V: redes virtuales y discos duros virtuales.
Instalar el rol de Hyper-V
Ahora es el momento de ver cómo instalar el rol de servidor Hyper-V en las dos opciones de
instalación de Windows Server 2016, a saber, una instalación completa y una instalación Server
Core.
Puede instalar el rol de servidor Hyper-V en cualquier instalación de Windows Server 2016 para
la que se haya elegido la opción Completa. Además, el servidor debe cumplir con los requisitos
de hardware y software.
Instalación de Hyper-V en modo de instalación completa
1. Abra el Administrador del servidor.
2. En el Administrador del servidor, elija la opción 2, Agregar roles y características.
3. En la página Seleccionar tipo de instalación, elija la instalación basada en roles o en
características. Haga clic en Siguiente.
4. En la pantalla Select Destination Server (Seleccionar servidor de destino), elija Select A Server
From The Server Pool (Seleccionar un servidor del grupo de servidores) y elija el servidor al que
desea agregar este rol. Haga clic en Siguiente.
5. En la pantalla Seleccionar roles de servidor, haga clic en la casilla de verificación junto a Hyper-
V. Cuando aparezca el cuadro de diálogo Agregar características, haga clic en el botón Agregar
características. A continuación, haga clic en Siguiente.
6. En la pantalla Seleccionar características, haga clic en Siguiente.
7. En la pantalla de introducción de Hyper-V, haga clic en Siguiente.
8. En la pantalla Create Virtual Switches (Crear conmutadores virtuales), elija su adaptador y
haga clic en Next (Siguiente).
9. En la pantalla Virtual Machine Migration (Migración de máquina virtual), haga clic en Next
(Siguiente). Desea usar la migración solo si tiene varios servidores Hyper-V. Ya que solo
tendremos uno para este ejercicio, simplemente omita esta pantalla.
10. En la pantalla Tiendas predeterminadas, acepte los valores predeterminados y haga clic en
Siguiente.
11. En la pantalla de confirmación, haga clic en el botón Instalar.
12. Una vez completada la instalación, haga clic en el botón Cerrar.
13. Reinicie el servidor.
Instalación de Hyper-V en Server Core
La opción de instalación Server Core se introdujo en Windows Server 2008. Crea una instalación
del sistema operativo sin un shell GUI. Puede administrar el servidor de forma remota desde otro
sistema o utilizar la interfaz de línea de comandos de Server Core. Esta opción de instalación
proporciona las siguientes ventajas:
■ Reduce la superficie de ataque (porque hay menos aplicaciones ejecutándose en el servidor)
■ Reduce el mantenimiento y la gestión (porque sólo se instalan las opciones necesarias)
■ Requiere menos espacio en disco y produce menos utilización del procesador
■ Proporciona una partición primaria mínima
■ Reduce los recursos del sistema requeridos por el sistema operativo, así como la superficie de
ataque
Al usar Hyper-V en una instalación Server Core, puede mejorar fundamentalmente la
disponibilidad porque se reduce la superficie expuesta a ataques y se optimiza el tiempo de
inactividad necesario para instalar revisiones. Por lo tanto, será más seguro y confiable con menos
gestión.
Para instalar Hyper-V para una instalación de Windows Server 2016, debe ejecutar el siguiente
comando en la interfaz de línea de comandos:
Dism /online /enable-feature /featurename:Microsoft-Hyper-V
Al igual que con todos los demás roles de Windows Server 2016, el rol Hyper-V se integra
perfectamente en el Administrador del servidor. El Administrador del servidor filtra la
información solo para el rol específico y, por lo tanto, muestra solo la información necesaria.
Como puede ver en la figura 4.5, la página Resumen de Hyper-V muestra las entradas del registro
de eventos relacionadas, el estado de los servicios del sistema para Hyper-V y los recursos y
soporte útiles.
En esta sección, obtendrá una descripción general de la configuración de Hyper-V disponible para
el servidor. Configure todas las opciones de configuración predeterminadas del lado del servidor,
como las ubicaciones predeterminadas de los archivos de configuración o la clave de versión.
La página Configuración de Hyper-V incluye la siguiente configuración:
Discos duros virtuales Especifica la ubicación predeterminada de los archivos del disco duro
virtual.
Máquinas virtuales Especifica la ubicación predeterminada de los archivos de configuración de
la máquina virtual.
GPU físicas Esta característica permite el vídeo acelerado por unidad de procesamiento gráfico
(GPU) dentro de una máquina virtual.
Expansión de NUMA Un administrador puede configurar Hyper-V para permitir que las
máquinas virtuales abarquen nodos de arquitectura de memoria no uniforme (NUMA).
Migraciones en vivo La migración en vivo permite a un administrador de Hyper-V reubicar
fácilmente las máquinas virtuales en ejecución de un nodo del clúster de conmutación por error a
otro nodo del mismo clúster.
Migraciones de almacenamiento La migración de almacenamiento permite a un administrador
mover el almacenamiento de su máquina virtual de una ubicación a otra.
Configuración de replicación Esta opción le permite configurar este equipo como un servidor de
réplica en otro servidor Hyper-V.
Teclado Define cómo usar combinaciones de teclas de Windows. Las opciones son Equipo físico,
Máquina virtual y Máquina virtual solo cuando se ejecuta a pantalla completa.
Clave de liberación del ratón Especifica la combinación de teclas para liberar el mouse en la
máquina virtual.
Restablecer casillas de verificación Restablece las casillas de verificación que ocultan páginas y
mensajes cuando están activadas.
Una red virtual proporciona los vínculos virtuales entre nodos en una red virtual o física. Las
redes virtuales en Hyper-V se proporcionan de forma segura y dinámica, ya que puede definir
granulares conmutadores de red virtual para su uso necesario. Por ejemplo, puede definir una red
virtual privada o interna si no desea permitir que las máquinas virtuales envíen paquetes a la red
física.
Para permitir que sus máquinas virtuales se comuniquen entre sí, necesita redes virtuales. Al igual
que las redes normales, las redes virtuales solo existen en el equipo host y permiten configurar
cómo las máquinas virtuales se comunican entre sí, con el host y con la red o Internet.
Administrar discos duros virtuales
Además de las redes virtuales, debe administrar los discos duros virtuales que se adjuntan a las
máquinas virtuales. Un disco duro virtual en Hyper-V, aparte de un disco de paso, es un archivo
VHD o VHDX que básicamente simula un disco duro en su máquina virtual.
Las siguientes secciones le mostrarán primero qué tipos de discos duros virtuales están
disponibles y luego le mostrarán cómo crearlos. También aprenderá qué opciones están
disponibles para administrar discos duros virtuales.
Expansión dinámica: este disco comienza con un pequeño archivo VHD y lo expande a petición
una vez que se realiza una instalación. Puede crecer hasta el tamaño máximo que definió durante
la creación. Puede utilizar este tipo de disco para clonar un disco duro local durante la creación.
Tamaño fijo: el tamaño del archivo VHD se fija al tamaño especificado cuando se crea el disco.
Esta opción es más rápida que un disco que se expande dinámicamente. Sin embargo, un disco de
tamaño fijo utiliza el espacio máximo definido inmediatamente. Este tipo es ideal para clonar un
disco duro local.
Diferenciación: Este tipo de disco está asociado en una relación padre-hijo con otro disco. El
disco de diferenciación es el hijo y el disco virtual asociado es el principal. Los discos de
diferenciación incluyen sólo las diferencias con el disco principal.
Físico (o disco de paso a través): la máquina virtual recibe acceso directo de paso a través del
disco físico para uso exclusivo. Este tipo proporciona el rendimiento más alto de todos los tipos
de disco y, por lo tanto, debe usarse para servidores de producción donde el rendimiento es la
máxima prioridad.
Administración de discos duros virtuales
Hyper-V también proporciona dos herramientas para administrar discos duros virtuales:
Inspeccionar disco y Editar disco. Estas herramientas están disponibles en el panel Acciones del
Administrador de Hyper-V.
Inspeccionar disco Esto le proporciona información sobre el disco duro virtual. Muestra no solo
el tipo de disco, sino también información como el tamaño máximo para expandir dinámicamente
los discos y el VHD primario para diferenciar discos.
Editar disco Esto le proporciona el Asistente para editar disco duro virtual, que puede usar para
compactar, convertir, expandir, combinar o volver a conectar discos duros.
Configuración de máquinas virtuales
En las secciones siguientes se tratan los temas de creación y administración de máquinas virtuales,
así como cómo realizar copias de seguridad y restaurar máquinas virtuales mediante
características como Importar y exportar y Punto de control. También verá brevemente la
característica de migración en vivo de Hyper-V.
Es importante aprender cómo crear una máquina virtual, cómo cambiar su configuración y cómo
eliminarla. Echará un vistazo a la herramienta Conexión a máquina virtual e instalará los
componentes de integración de Hyper-V en una máquina virtual.
Defina las particiones secundarias en las que ejecuta instancias del sistema operativo. Cada
máquina virtual es independiente y solo puede comunicarse con las demás mediante una red
virtual. Puede asignarle discos duros, redes virtuales, unidades de DVD y otros componentes del
sistema. Una máquina virtual es similar a un servidor físico existente, pero ya no se ejecuta en
hardware dedicado: comparte el hardware del sistema host con las otras máquinas virtuales que
se ejecutan en el host.
3. En el Asistente para nueva máquina virtual, haga clic en Siguiente en la página Antes de
comenzar.
4. En la página Especificar nombre y ubicación, asigne un nombre a la máquina virtual y
cambie la ubicación predeterminada de los archivos de configuración de la máquina virtual.
Haga clic en Siguiente para continuar.
5. La pantalla Especificar generación es la siguiente. Elija Generación y haga clic en
Siguiente.
6. En la página Asignar memoria, defina cuánta memoria del equipo host desea asignar a esta
máquina virtual. Recuerde que una vez que su máquina virtual utilice toda su memoria física,
comenzará a intercambiarse al disco, reduciendo así el rendimiento de todas las máquinas
virtuales. Haga clic en Siguiente para continuar.
7. En la página Configurar redes, seleccione la red virtual que configuró previamente
mediante el Administrador de redes virtuales. Haga clic en Siguiente para continuar.
8. En la página siguiente, configure su disco duro virtual. Puede crear un nuevo disco duro
virtual, seleccionar un disco existente o conectar el disco duro más adelante. Tenga en cuenta
que solo puede crear un disco virtual que se expanda dinámicamente en esta página; No puede
crear un disco duro virtual de diferenciación, físico o fijo allí. Sin embargo, si ya creó el disco
duro virtual, puede, por supuesto, seleccionarlo. Haga clic en Siguiente para continuar.
9. En la página Opciones de instalación, puede seleccionar cómo desea instalar su sistema
operativo. Tiene la opción de instalar un sistema operativo más adelante, instalar el sistema
operativo desde un CD/DVD-ROM de arranque donde puede seleccionar un dispositivo físico
o un archivo de imagen (archivo ISO), instalar un sistema operativo desde una imagen de
disquete (archivo VFD o un disquete de arranque virtual) o instalar un sistema operativo desde
un servidor de instalación basado en red. La última opción instalará un adaptador de red
heredado en la máquina virtual para que pueda arrancar desde el adaptador de red. Seleccione
Install An Operating System from a bootable CD/DVD-ROM (Instalar un sistema operativo
desde un CD/DVD-ROM de arranque) y elija Image File (Archivo de imagen) (.iso). A
continuación, haga clic en Siguiente.
10. En la página de resumen Finalización del Asistente para nueva máquina virtual,
compruebe que todas las configuraciones sean correctas. También tiene la opción de iniciar
la máquina virtual inmediatamente después de la creación. Haga clic en Siguiente para crear
la máquina virtual.
11. Repita este proceso y cree algunas máquinas virtuales más.
Una de las características de Windows 2016 es la capacidad de Hyper-V para admitir máquinas
virtuales Linux y FreeBSD. Hyper-V ahora puede admitir estas nuevas máquinas virtuales porque
Hyper-V tiene la capacidad de emular dispositivos Linux y FreeBSD. Debido a que Hyper-V
ahora tiene la capacidad de emular estos dos dispositivos, no es necesario instalar software
adicional en Hyper-V.
Desafortunadamente, debido a que Hyper-V tiene que emular estos dispositivos, pierde parte de
la funcionalidad de Hyper-V, como el alto rendimiento y la administración completa de las
máquinas virtuales. Así que es una compensación. Puede ejecutar máquinas virtuales Hyper-V de
tipo Linux y FreeBSD, pero pierde algunos de los beneficios de Hyper-V.
Pero espera; hay una manera de recuperar su funcionalidad de Hyper-V. Este problema se puede
resolver siempre que instale Hyper-V en equipos compatibles con los sistemas operativos Linux
y FreeBSD. Los controladores que se necesitan en Hyper-V se denominan Linux Integration
Services (LIS) y FreeBSD Integrated Services (FIS). Al colocar estos controladores en un
dispositivo que puede manejar Linux y FreeBSD, puede tener Hyper-V con todas las
características que ofrece Microsoft.
Para obtener estos controladores y hacer que Hyper-V funcione con toda su funcionalidad, debe
asegurarse de instalar una versión más reciente de Linux que incluya LIS. Para sacar el máximo
provecho de FreeBSD debe obtener una versión posterior a 10.0. Para las versiones de FreeBSD
anteriores a 10.0, Microsoft ofrece puertos que funcionan con controladores BIS que deben
instalarse. Hyper-V funcionará con Linux y FreeBSD sin la necesidad de controladores o equipos
adicionales. Al tener controladores y equipos compatibles con Linux y FreeBSD, solo obtiene
todas las características de Hyper-V que su organización pueda necesitar.
Comandos de PowerShell
Una de las cosas que Microsoft ha declarado es que los exámenes van a ser más intensivos en
PowerShell. Por lo tanto, quería agregar una sección de PowerShell que muestre los diferentes
comandos de PowerShell que puede usar para Hyper-V. Esta tabla ha sido tomada directamente
de los sitios web de Microsoft.
Los contenedores de Windows son entornos independientes y aislados que ejecutan un sistema
operativo. Estos entornos aislados permiten a un administrador colocar una aplicación en su
propio contenedor, lo que no afecta a ninguna otra aplicación o contenedor.
Piense en los contenedores como entornos virtuales que se utilizan para ejecutar aplicaciones
independientes. Se cargan mucho más rápido que las máquinas virtuales y puede ejecutar tantos
contenedores como sea necesario para todas las diferentes aplicaciones que ejecute.
Piense en los contenedores como entornos virtuales que se utilizan para ejecutar aplicaciones
independientes. Se cargan mucho más rápido que las máquinas virtuales y puede ejecutar tantos
contenedores como sea necesario para todas las diferentes aplicaciones que ejecute.
Hay dos tipos diferentes de contenedores que el contenedor de Windows puede usar.
Contenedores de Windows Server Este contenedor permite a un administrador aislar aplicaciones
para que las aplicaciones puedan ejecutarse en su propio espacio y no afectar a otras aplicaciones.
La pregunta que puede estar haciendo es ¿por qué no usar una máquina virtual? Bueno, la ventaja
de los contenedores de Windows Server es que ya están precompilados y no necesita todos los
demás servicios que una máquina virtual necesitaría para ejecutarse. Por lo tanto, los contenedores
de Windows son más pequeños, más rápidos y eficientes al aislar aplicaciones. En un contenedor
de Windows Server, el kernel se comparte entre todos los diferentes contenedores de Windows.
Contenedores de Hyper-V Los contenedores de Hyper-V y los contenedores de Windows
funcionan de la misma manera. La diferencia entre los dos es que los contenedores de Hyper-V
se ejecutan dentro de una máquina virtual y los contenedores de Windows no necesitan ejecutarse
en un entorno de Hyper-V. En un contenedor de Hyper-V, el kernel del host del contenedor no se
comparte entre los otros contenedores de Hyper-V.
Terminología de contenedores
Al igual que con cualquier nueva tecnología, es importante entender la terminología que
acompaña a esa nueva tecnología. Lo primero que puede haber notado es que un contenedor
funciona de manera muy similar a una máquina virtual. Al igual que una máquina virtual, el
contenedor tiene un sistema operativo en ejecución dentro del contenedor.
El contenedor tiene un sistema de archivos y también se puede acceder al contenedor a través de
la red de la misma manera que lo hace una máquina virtual. La ventaja es que un contenedor es
un sistema operativo más eficiente. Pero para comprender realmente cómo funcionan los
contenedores, debe comprender todos los diferentes componentes que permiten que los
contenedores funcionen correctamente.
Host de contenedor Este componente puede estar en una máquina física o virtual y es el
componente que está configurado con la característica Contenedor de Windows. Por lo tanto, el
contenedor de Windows se encuentra en la parte superior del host del contenedor
Imagen del sistema operativo del contenedor Este componente proporciona el sistema operativo
al contenedor. Los contenedores se componen de varias imágenes que se apilan una encima de la
otra dentro del contenedor.
Imagen del contenedor Este es el componente que contiene todas las capas del contenedor. Por lo
tanto, la imagen de contenedor contiene el sistema operativo, la aplicación y todos los servicios
necesarios para que esa aplicación funcione correctamente.
Registro de contenedores Este componente es el corazón y el cerebro del contenedor. Las
imágenes del contenedor se guardan dentro del registro del contenedor. La ventaja de hacer
contenedores de esta manera es que puede descargar otros registros para agregar automáticamente
otras aplicaciones o servicios rápidamente.
Registro de contenedores Este componente es el corazón y el cerebro del contenedor. Las
imágenes del contenedor se guardan dentro del registro del contenedor. La ventaja de hacer
contenedores de esta manera es que puede descargar otros registros para agregar automáticamente
otras aplicaciones o servicios rápidamente.
Dockerfile Este componente se utiliza para crear las imágenes del contenedor. La ventaja de usar
Dockerfile es que puede automatizar cómo se crean los contenedores. Los Dockerfiles son lotes
de instrucciones (dentro de un archivo txt) y comandos que se activan cuando se ensambla una
imagen.
Repositorios de Docker Hub Este componente es una ubicación donde se almacenan todas las
imágenes. Al tener una ubicación central para las imágenes almacenadas, las imágenes se pueden
usar entre compañeros de trabajo, clientes o para toda la comunidad de TI. Hay repositorios de
docker hub en Internet y estas ubicaciones le permiten capturar y usar imágenes para su
organización.
Así que ahora que hemos hablado sobre cuáles son los diferentes componentes de un contenedor,
es hora de que veamos la instalación de contenedores en nuestro sistema Windows Server 2016.
Cuando se trata de Microsoft, realmente no importa si estamos instalando contenedores en un
sistema basado en GUI o en un sistema no basado en GUI. Vamos a instalar los componentes
necesarios mediante Windows PowerShell.
Pero antes de que podamos ver la instalación y el uso de contenedores, necesito mostrarle lo que
se requiere en el sistema Windows Server 2016. Entonces, el primer paso para usar contenedores
es observar lo que necesitamos en nuestra red y computadoras para que los contenedores
funcionen correctamente.
Requisitos
Ahora que ha decidido trabajar con contenedores, debe asegurarse de que su red cumple los
requisitos mínimos para instalar y trabajar con contenedores de Windows. Los siguientes son los
requisitos para instalar y trabajar con contenedores:
■ Sistemas informáticos (máquinas físicas o virtuales) que ejecutan Windows Server 2016 (Core
y con experiencia de escritorio), Nano Server o Windows 10 Professional y Enterprise (edición
de aniversario).
■ La partición de arranque debe estar en la unidad C: (esto no se aplica si solo se implementarán
contenedores de Hyper-V).
■ Todas las actualizaciones críticas deben instalarse en el sistema que ejecuta la función
Contenedor de Windows.
■ La aplicación Docker debe estar instalada.
Los siguientes son los requisitos necesarios si va a ejecutar la virtualización con contenedores.
■ Para los sistemas que ejecutan los contenedores de Hyper-V, el rol Hyper-V debe estar instalado
en el sistema.
■ Si va a ejecutar un host de contenedor de Windows desde una máquina virtual Hyper-V
(también alojará contenedores de Hyper-V), deberá habilitar la virtualización anidada. La
virtualización anidada también tiene algunos requisitos:
■ Sistema operativo que permite la virtualización anidada (Windows Server 2016).
■ Mínimo de 4 GB de RAM disponible para el host virtualizado de Hyper-V.
■ El procesador debe utilizar Intel VT-x (esto sólo está disponible para procesadores
Intel).
■ 2 procesadores virtuales para la máquina virtual host del contenedor.
Instalación de Docker
Entonces, el primer paso para configurar nuestros contenedores de Windows es instalar Docker.
Docker es el paquete de software que le permite crear y manipular contenedores e imágenes.
Docker es el paquete de software que instala y el demonio docker es la aplicación que utiliza para
realizar su configuración y administración. Después de instalar Docker, el demonio de Docker se
instala automáticamente y se configura con la configuración predeterminada.
Docker es una aplicación de terceros que Microsoft ha comenzado a usar para contenedores. La
aplicación docker consta de un motor docker y un cliente docker (daemon docker). Así que lo
primero que tenemos que hacer es instalar docker. Para hacer esto, primero debe descargar e
instalar la aplicación Docker. Otro elemento que debe completarse al instalar y usar Docker son
las actualizaciones de Microsoft. Debe asegurarse de que se hayan instalado todas las
actualizaciones actuales.
Instalar y configurar contenedores de Windows
Así que ahora que ha instalado Docker en su sistema Windows Server 2016, echemos un vistazo
a cómo instala y configura contenedores.
2. Desplácese hacia abajo hasta que vea Docker. Asegúrese de que se ha iniciado el servicio
Docker. Si no se inicia, haga clic derecho en Docker y elija Inicio.
3. Cierre los servicios.
4. Abra Windows PowerShell con privilegios administrativos. Para hacer esto, haga clic en Inicio
y luego haga clic derecho en Windows PowerShell ➢ Más ➢ Ejecutar como administrador.
5. Ahora vamos a ver si hay contenedores en ejecución. Para hacer esto, escriba información de
Docker en PowerShell y presione Entrar. Verá un informe (consulte la figura 7.6) que le mostrará
si tiene algún contenedor en ejecución.
6. Así que ahora va a instalar una imagen de contenedor para Microsoft Nano Server o Windows
Server Core desde el repositorio de paquetes en línea. Para ello, escriba uno de los siguientes
comandos en PowerShell (elija el comando para el sistema operativo que desee):
Docker pull microsoft/nanoserver
docker pull microsoft/windowsservercore
7. Después de instalar su contenedor, sigamos adelante y reiniciemos el servicio Docker. Escriba
el siguiente comando en PowerShell:
Restart-Service docker.
8. Ahora echemos un vistazo a la información de su docker nuevamente escribiendo Información
de Docker en el símbolo del sistema de PowerShell. Como puedes ver, ahora tienes una imagen
que no tenías antes.
9. Para ver todas las imágenes que tiene en su sistema, en el símbolo del sistema de PowerShell,
escriba imágenes de Docker.
10. Así que ahora que ha visto cómo tomar una imagen base de Docker, vamos a crear un
contenedor de Windows Server con Nano Server instalado. En el símbolo del sistema de
PowerShell, escriba el siguiente comando:
docker ejecutar microsoft/dotnet-samples:dotnetapp-nanoserver
11. Si la instalación funcionó correctamente, debería ver lo que parece ser un pequeño
extraterrestre en su pantalla. Escriba docker info en el símbolo del sistema de PowerShell y verá
que ahora tiene un contenedor. También notarás que ahora tienes dos imágenes. El que descargó
anteriormente y el que acaba de descargar.
12. Cierre PowerShell.
Agregar una imagen a un contenedor
Los administradores tienen la capacidad de cambiar las etiquetas asociadas con las imágenes.
Muchos administradores utilizan nombres de etiqueta como nombres de versión para que puedan
realizar un seguimiento de las diferentes imágenes en su máquina.
Al tener etiquetas que crea, le permite acceder fácilmente a las imágenes más tarde por su nombre
de etiqueta. Para etiquetar una imagen, utilice el parámetro -t. Así que lo siguiente es etiquetar
una imagen como WillPanekImage.
docker build -t WillPanekImage
Uno de los problemas de mantenimiento con los que muchos administradores de TI deben lidiar
es el espacio en el disco duro. A medida que descarga y utiliza imágenes, puede haber un momento
en el que necesite eliminar imágenes de nuestro servidor que ya no se utilizan.
Si continúa descargando y utilizando varios archivos de imágenes, deberá asegurarse de que de
vez en cuando mira todas sus imágenes y elimina las imágenes que ya no son válidas o que ya no
están en uso.
Desinstalación de una imagen
Una buena ventaja de usar docker es que puede ir al sitio web de Docker y ver las diferentes
imágenes disponibles. Hay imágenes para sistemas operativos, aplicaciones y software.
Pero ¿qué pasa si no puedes encontrar la imagen que necesitas? Bueno, entonces puedes construir
tus propias imágenes usando Dockerfiles. Cuando un administrador instala Docker, el motor de
Docker incluye herramientas que el departamento de TI puede usar para crear estos Dockerfiles.
Los Dockerfiles son solo archivos de texto que se crean manualmente y se compilan y se
convierten en un archivo de imagen.
Si su organización decide que quiere crear sus propios Dockerfiles, obtendrá algunos beneficios
mientras lo hace. Algunas de las ventajas de crear sus propios Dockerfiles son las siguientes:
■ Los administradores pueden almacenar imágenes como código.
■ Su organización puede tener una recreación rápida de imágenes. Estas imágenes se pueden
utilizar para los ciclos de mantenimiento y actualización.
■ Personalización para exactamente lo que su organización quiere.
Entonces, una vez que haya instalado Docker, habrá algunos componentes que se incluyen para
que pueda crear sus propios Dockerfiles. Estos dos componentes de Docker incluyen el motor de
Docker y el compilador (comando docker build).
Entonces, si alguna vez ha creado .ini archivos o incluso un archivo host, entonces comprende
cómo puede funcionar la creación de un archivo. Al igual que muchos códigos de programación
o archivos .ini, puede usar la libra (#) para mostrar comentarios en el archivo. Esto es muy útil.
Hasta ahora en este capítulo hemos discutido los contenedores de Windows, pero ahora vamos a
ver los contenedores de Hyper-V. Como dije anteriormente, los contenedores de Windows
comparten el kernel del sistema entre todos los contenedores y el host. Los contenedores de
Hyper-V son diferentes porque cada contenedor de Hyper-V utiliza su propia instancia del kernel
de Windows.
Dado que los contenedores de Hyper-V utilizan su propia instancia del kernel de Windows, los
administradores pueden usar diferentes versiones de Windows entre el sistema host y la versión
de imagen.
Además, el sistema host Windows debe tener el rol Microsoft Hyper-V instalado en el sistema
host. Windows Server 2016 y Windows 10 Professional y Enterprise (ediciones de aniversario)
le permiten crear contenedores e Hyper-V.
La única característica interesante es que ambos tipos de contenedores, contenedores de Windows
y contenedores de Hyper-V, se crean, administran y funcionan exactamente de la misma manera.
La única diferencia es cómo los contenedores de Hyper-V tienen un mejor aislamiento del kernel.
Cuando se trabaja con contenedores de Hyper-V en Docker, la configuración es idéntica a la
administración de contenedores de Windows Server. La única diferencia que desea incluir en el
contenedor de Hyper-V es usar el parámetro ––isolation=hyperv. El siguiente es un ejemplo del
comando docker con los parámetros de Hyper-V:
docker run -it ––isolation=hyperv microsoft/nanoserver cmd
Una ventaja realmente buena de usar contenedores es que hay cientos de imágenes que puedes
usar. Docker tiene una base de datos pública de imágenes a la que puede acceder.
El repositorio DockerHub tiene imágenes para Microsoft, UNIX, Linux y cientos más. Si desea
ver lo que un proveedor tiene en el repositorio, simplemente escriba docker search vendorname.
Los administradores tienen la capacidad de configurar un repositorio privado para que los
compañeros de trabajo puedan compartir y utilizar las imágenes que cree. Después de crear las
imágenes con Docker Daemon, puede insertar esas imágenes en el repositorio corporativo de
Docker Hub. Los administradores pueden agregar usuarios y cuentas al Centro de Docker para
comprobar que solo los usuarios de la organización acceden a las imágenes.
Si está creando imágenes y colocándolas en GitHub o Bitbucket, puede usar el repositorio de
compilación automática que se incluye con el servicio Docker Hub.
Por lo tanto, cuando esté listo para comenzar a cargar imágenes corporativas en Docker Hub,
primero deberá crear una cuenta de usuario de Docker Hub ( https://cloud.docker.com/ ). Después
de haber creado su cuenta, haga clic en Crear ↓ y elija "Crear repositorio".
A continuación, se le pedirá que introduzca un espacio de nombres de ID de Docker para su
organización. El nombre del repositorio debe ser único y puede tener hasta 255 caracteres. El
espacio de nombres solo permitirá letras, números o el guión (-) y el guión bajo (_). Luego se le
permite poner una descripción corta (100 caracteres o menos) y una descripción completa. Luego
haga clic en el botón Crear y estará listo.
Una vez creado el repositorio, puede insertar imágenes en el repositorio introduciendo el nombre
de la imagen, el nombre de usuario de Docker Hub, el nombre del repositorio que creó
anteriormente y la etiqueta de imagen. El siguiente es un ejemplo del comando docker push:
docker push <hub-user>/<repo-name>:<tag>
Estos son algunos de los comandos disponibles para usar en contenedores y Docker:
Add-ContainerNetworkAdapter Este comando permite a un administrador agregar un adaptador
de red virtual a un contenedor.
ConnectContainerNetworkAdapter Los administradores pueden usar este comando para conectar
un adaptador de red virtual a un conmutador virtual.
Disconnect-ContainerNetworkAdapter Este comando permite a un administrador desconectar un
adaptador de red virtual de un conmutador virtual.
Los administradores de Export-ContainerImage pueden usar este comando para exportar una
imagen de contenedor a un archivo.
Get-Container Este comando permite a un administrador ver información sobre los contenedores.
Get-ContainerHost Este comando permite a un administrador ver información sobre el host.
Los administradores de Get-ContainerImage pueden usar este comando para ver imágenes de
contenedor locales.
Get-ContainerNetworkAdapter Los administradores pueden usar este comando para ver el
adaptador de red virtual de un contenedor.
Los administradores de Import-ContainerImage pueden usar este comando para importar una
imagen de contenedor desde un archivo.
Install-ContainerOSImage Este comando permite a un administrador instalar la imagen del
sistema operativo en un contenedor base.
Los administradores de Install-Module pueden usar este comando para descargar un módulo de
una galería en línea. Este módulo se puede instalar en el equipo local.
Los administradores de Install-Package pueden utilizar este comando para instalar un paquete de
software en un equipo.
Install-PackageProvider Este comando permite a un administrador instalar proveedores de
paquetes de administración de paquetes.
Move-ContainerImageRepository Los administradores pueden usar este comando para mover el
repositorio de imágenes de contenedor local.
New-Container Este comando permite a un administrador crear una imagen de contenedor a partir
de un contenedor existente.
Remove-Container Los administradores pueden usar este comando para eliminar un contenedor.
Remove-ContainerImage Este comando permite a un administrador quitar una imagen de
contenedor.
Remove-ContainerNetworkAdapter Este comando permite a un administrador quitar un
adaptador de red virtual de un contenedor.
Reiniciar: los administradores del equipo pueden utilizar este comando para reiniciar un equipo
local y remoto.
Set-ContainerNetworkAdapter Los administradores pueden usar este comando para configurar
las características del adaptador de red virtual dentro de un contenedor.
Los administradores de Start-Container pueden usar este comando para iniciar un contenedor.
Los administradores de Stop-Container pueden usar este comando para detener un contenedor.
Test-ContainerImage Este comando permite a un administrador probar si hay problemas con una
imagen de contenedor.
Uninstall-ContainerOSImage Los administradores pueden usar este comando para desinstalar la
imagen del sistema operativo del contenedor.