B4-T2_Virtualización Flashcards

1
Q

¿Qué tipo de hipervisor es Hiper-V?

A

Tipo 1.
De Microsoft, para los sistemas de 64 bits con los procesadores:
*Intel VT (VTD: e/s y VTC: red)
*AMD-V

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué tipo de virtualización nos ofrece VMWare Horizon y XEN Desktop?

A

Virtualización de escritorio (VDI): Infraestructura de Escritorios (Desktop) Virtuales.

NOTA: potenciado en la pandemia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Cómo se denomina el hipervisor que trabaja directamente con la capa hardware?

A

Hipervisor tipo 1 (BARE METAL)

NOTA:+ usado en entornos empresariales (servidores)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué tipo de hipervisor son Paralells?

A

Hipervisor tipo 2 (de MacOS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cómo se denomina la técnica mediante la cual hacemos el backup sobre discos, aunque al software de backup le parece que estamos trabajando con una librería de cintas?

A

VTL: Virtualización TIPO C (virtualización del backup).

NOTA: VTL traduce las órdenes del sistema de cintas para poder trabajar con discos y mejorar el rendimiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿En qué consiste la virtualización basada en contenedores o virtualización LIGERA?

A

En lugar de virtualizar el HW, como en los otros tipos (A, B, C y D), se virtualizar/multiplexa el kernel del SO. Ahora cada SO sólo se instala 1 vez agrupando las aplicaciones que lo necesiten => CONTENEDOR.

NOTA: ya no existen las VM con sus apps, evitando tener que instalar 1 SO por cada VM. Ahora tenemos grupos o CONTENEDORES con 1 SO y las aplicaciones que lo usen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nombre 5 tecnologías de contenedores:

A
  • Docker
  • RKT
  • OpenVZ
  • Messos
  • PodMan (LINUX)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cómo se denomina a la plantilla de Docker que tenemos construida o generada en disco, lista para ser ejecutada?

A

imagen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Cómo se denomina en Docker a un imagen que la hemos puesto en funcionamiento?

A

contenedor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cuál es el concepto que hay detrás de asociarle a un contenedor Docker la posibilidad de un almacenamiento persistente?

A

volumen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Con que herramientas se pueden gestionar los contendores en distintos nodos de un cluster, asi como monitorizarlos, distribuirlos, etc?

A
  • Kubernetes
  • Docker-swarm

PRINCIPAL FUNCIÓN: para poder distribuir (orquestación) los contenedores en varias máquinas: dando mayor seguridad o estabilidad a la organización.

NOTA: usan los POD (agrupación de contenedores bajo una misma IP), para facilitar la gestión.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cuando manejamos en desarrollo unos cuantos contenedores de Docker y se hace un poco tediosa la tarea de manejarlos, ¿existe alguna herramienta con la que podamos actuar sobre todos ellos a la vez?

A

DOCKER COMPOSE, declarando en el fichero “docker-compose.yml” los contenedores y sus configuraciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué dos grandes diferencias de filosofía existe entre una VM y un Contenedor?

A
  • Los contenedores se crean y se destruyen continuamente
  • Ocupan poco espacio (virtualizacion ligera)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A nivel de IaaS, nombre plataformas y algunos servicios de virtualización que ofrecen:

A
  • Amazon AWS: S3 (almacenamiento modo objeto), EBS (almacenamiento modo bloque) y EC2 (máquinas virtuales).
  • OpenStack de Redhat: SWIFT (modo objeto), CINDER (modo bloque) y NOVA (máquinas virtuales).
  • Google CLOUD
  • Azure de Microsoft
  • Nube SARA

NOTA: se llama Infraestructura, porque puedo contratar los servicios que quiera.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A nivel de PaaS, nombre 2 plataformas que nos ofrecen distintos servicios para el desarrollo:

A
  • Openshift (basado en Kubernetes y Docker)
  • Heroku (sólo uso en modo nube)

NOTA: PaaS, es un entorno de ejecución que podemos crear a nuestra elección.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Distingue brevemente las 2 plataformas de servicios que podemos contratar en la nube:

A

*IaaS: se llama INFRAESTRUCTURA, porque puedo contratar lo que quiera. De AMAZON AWS (S3, EBS o EC2), de Red Hat OpenStack (Swift, Cinder y Nova), …
*PaaS: se llama PLATAFORMA, porque ofrece una plataforma donde montar, a través de una consola web, los entornos de ejecución que necesites (EJ: Java+SQL o PHP+postgre, …). Esta plataforma se apoya en DOCKER y KUBERNETES para dar soporte a estos entornos de ejecución.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Cómo se denomina el servicio de almacenamiento en modo objeto de Amazon AWS?

A

S3.

NOTA: SWIFT sería en Red Hat OpenStack.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Cómo se denomina el servicio de almacenamiento en modo bloque de Red Hat OpenStack?

A

Cinder

NOTA: EBS sería en Amazon AWS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Cómo se denomina el servicio de máquina virtual de Amazon AWS?

A

EC2

NOTA: NOVA sería en Red Hat OpenStack.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Para qué sirve el siguiente comando y la etiqueta: docker build -t etiqueta?

A

Construye en disco la imagen definida en el fichero “Docker file” y le asocia esa etiqueta para luego poder referirnos a ella cuando lancemos algún contenedor con “docker run”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Docker, Kubernetes, OCI, CRI-O, contenedores y RunC: ¿Cómo trabajan juntas?

A

Con las 2 capas de estandarización:
*CRI (Container Runtime Interface): es un API de kubernetes para poder ser multi-containers y gestionar/distribuir distintos tipos de contenedores, además de DOCKER.
Se pueden elegir entre 2 runtime que implementan la especificación CRI: “containerd” y “CRI-O”.

*OCI (Open Container Initiative): proporciona especificaciones para:
a) El Motor de Ejecución.
b) El formato de imagen.
c) También especifica la manera de distribuir las imágenes, basado en el protocolo: DOCKER REGISTRY.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué es runc?

A

Es un componente que implementa la especificación/estandarización OCI y que es el corazón o núcleo de cualquier contenedor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Qué es la VIRTUALIZACIÓN?

A

Es una capa de software, llamado Hipervisor o VMM (Virtual Machine Monitor), de abstracción del HW (CPU, memoria, red, …). Es decir, virtualiza el HW y, con esto, consigue, poder crear otras máquinas software sobre ese mismo HW (máquina física).
En resumen, virtualizar es repartir o virtualizar los recursos HW para usar varias máquinas en una sóla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Cuáles son las ventajas de la VIRTUALIZACIÓN?

A

a) OPTIMIZACIÓN DE USO DE HW: ahora si la app X de la VM no esta usando cierto servicio HW, lo podrá usar la app Y de otra VM del mismo equipo.
b) AISLAMIENTO ENTRE MÁQUINAS VIRTUALES: se aislan las VM unas de otras por seguridad, x si cayera una que no arrastrase a otra.
c) MEJORA EL APROVISIONAMIENTO Y ADMINISTRACIÓN DEL ENTORNO: se pueden repartir los recursos HW (memoria, CPU, …) según la necesidad de cada sistema => desde el “Hipervisor” el Administrador del Sistema monitoriza las VM para saber como repartir dichos recursos.

25
Q

¿Por qué se inventa la VIRTUALIZACIÓN?

A

Para depender en menor medida de lo físico, ya que implica problemas de espacio, paradas de sistema para ampliar/reemplazar, costes económicos, … Aunque, ya con CLOUD se da un salto mayor en este sentido, ya que con CLOUD se obtiene la “gestión” de las demandas o necesidades => PAGO SEGÚN CONSUMO.

*PROCESO: Físico -> Virtual -> CLOUD.

26
Q

¿Qué es un “Hipervisor”?

A

Hipervisor o VMM (Monitor de Máquina Vritual), es una capa SW para realizar una virtualización sobre el HW (en los Tipos A, B, C y D) o sobre el SO (Kernel) (en Tipo Ligero con contenedores), que permite utilizar al mismo tiempo diferentes SO en un mismo PC.

27
Q

Define los 3 tipos de HIPERVISOR de la virtualización TIPO A (Virtualización de Máquinas):

A

*HIPERVISOR Tipo 1: (para servidores en CPDs de empresas) conocido como nativo, unhosted o BARE METAL (sobre el metal):
-VMware ESXi
-Oracle VM Server
-KVM (Kernel Virtual Machine)
-XEN
-Hyper-V (Microsoft-> AMD-V o Intel VT)
*HIPERVISOR Tipo 2: (para ámbito doméstico) conocido como hosted. Sobre el HW se instala un SO anfitrión sobre el cual ejecuta el Hipervisor:
-VMware PLayer
-VMware Workstation
-VirtualBox
-Parallels (MAC)
*HIPERVISOR Tipo HÍBRIDO: sobre el HW se ejecuta un SO anfitrión y el Hipervisor. Y el Hipervisor se relaciona tanto con el HW como con el SO anfitrión:
-Microsoft Virtual PC
-Microsoft Virtual Server 2005 R2

28
Q

¿Qué se puede virtualizar?

A

*Máquinas => Tipo A
*Almacenamiento (LVM, Raid, SAN, …) => Tipo B
*BackUp (VTL: cintas->discos) => Tipo C
*El puesto del usuario :escritorios y aplicaciones (VDI: Infraestructura de Escritorio Virtual) => Tipo D

NOTA: estos son los 4 tipos que virtualizan el HW, aunque también existe la que virtualiza el SO (Kernel) o LIGERA (contenedores).

29
Q

¿Qué es un sistema RAID?

A

Agrupación de discos para ganar seguridad y rendimiento => REDUNDANCIA.
*COMANDO: mdadm

30
Q

Explica los niveles de la Virtualización del Almacenamiento o TIPO B (Bloque):

A

->A NIVEL DE BLOQUE:
*A nivel de SERVIDOR: LVM
*A nivel de DISPOSITIVO: RAID
*A nivel de RED: SAN Y vSAN.

->A NIVEL DE FICHERO: NAS (NFS, CIFS y AFP)
*NFS: (Sistema de archivos en red) mecanismo para almacenar los archivos/directorios en red, a los que accederán los usuarios remotamente.
*CIFS: Sistema Común de Archivos de Internet (acceso a archivos/directorios, variante de SMB multi-plataformas).
*AFP: (Apple Filling Protocol) método de Apple para conectar los ordenadores Macintoch.

31
Q

Define la virtualizacion TIPO D (virtualizacion Desktop):

A

Virtualización del puesto de trabajo (escritorios y aplicaciones) o VDI (Infraestructura de Escritorios (DESKTOP) Virtuales) aloja entornos de escritorio en un servidor centralizado y los distribuye a los usuarios finales.
Aunque también se pueden virtualizar aplicaciones: es la manera de diversificar una aplicación para que se puede acceder remotamente por varias personas. Ej: CITRIX

NOTA: este sistema ya existía en los 90, aunque se impulso con la pandemia Covid.

32
Q

Tenemos DockerHub como repositorio online de “imagenes”, ¿cuáles son los 3 sistemas offline?

A

*ARTIFACTORY
*NEXUS
*ARCHIVA

NOTA: son 3 productos que te puedes instalar para tener un repositorio personal de cualquier sistema de paqueteria: DOCKER, maven, gems, nuget, npm, composer, …

33
Q

Explica las 2 maneras de crear la imagen de Docker:

A

a) Descargarte una imagen COMPLETA y no necesitar retoques.
Ej. imagen de LARAVEL (FW de PHP)
b) O descargarte una imagen más ligera a editar/personalizar con el archivo “DockerFile”.
Ej.imagen de ALPINE (distribución de LINUX + ligera: 5MB)

*Ambas se descargan con el comando FROM del DockerFile sea o no editada, pues UNA IMAGEN SIEMPRE SE CREA A PARTIR DE OTRA.

NOTA: las imagenes se descargan de DockerHub (online), o de Artifactory, Nexus o Archiva (offline). o con el comando “docker pull”

34
Q

¿Qué utilidad tiene el fichero “Dockerfile”?

A

Rellenaríamos o definiríamos este fichero siempre que quisiéramos editar/personalizar una imagen, ya sea una imagen ligera u otra + completa.
Aunque, si la imagen la entendiéramos lo suficiente hecha o completa, apenas tendríamos porque definir dicho fichero.

35
Q

Define algunos campos del fichero “DockerFile”:

A

*FROM: comando para descargar imágenes, ya sean ligeras o completas, para personalizar o no tocar.
NOTA: las imagenes se descargan de DockerHub (online), o de Artifactory, Nexus o Archiva (offline). O con el comando “docker pull”

*RUN: comando para las personalizaciones.
RUN chmod: para dar permisos
RUN mkdir: crear/indicar directorio de la imagen.
RUN apt-get: para instalar un paquete.

*VOLUME /var/alpine_imagen: para tener almacenamiento persistente, aunque se elimine el contenedor (son de usar y tirar)

*EXPOSE 1433: indicar un puerto, para la red.

LUEGO: una vez definida la imagen en el “dockerfile”:
1º GENERARLA:
docker build -t etiqueta_imagen
2º LEVANTARLA:
docker run -name nombre-contenedor -d etiqueta_imagen -p 1433:1433

*Pues el contenedor es la representación de la imagen levantada en memoria.

36
Q

¿Cuáles son los 3 pasos para crear un contenedor?

A

1º DESCARGARLA/DEFINIRLA la imagen: la descargamos con el comando FROM del fichero “dockerfile”. Y, según lo completa que sea la imagen y nuestra idea, rellenaremos o no dicho fichero.
NOTA: las imagenes se descargan desde DockerHub (online), o de Artifactory, Nexus o Archiva (offline). O con el comando docker pull.

2º Una vez definida en el “dockerfile”, GENERARLA:
docker build -t etiqueta_imagen

3º LEVANTARLA:
docker run -name nombre-contenedor -d etiqueta_imagen -p 1433:1442
*ponemos el parámetro -p para indicar los puertos (1433: puerto del host / 1442: puerto del contenedor)
NOTA: la etiqueta es la misma que diste a la imagen al CREARLA.

*Pues el contenedor es la representación de la imagen levantada en memoria.

37
Q

¿Qué es “Docker Desktop”?

A

Es una aplicación nativa diseñada para Windows y MAC OS para ejecutar, construir y enviar aplicaciones o servicios acoplados / en contenedores.
Es decir, es lo primero que hay que tener instalado a la hora de trabajar con contenedores.

38
Q

¿Cuáles son las 2 maneras de descargar la imagen de docker?

A

1.- GRAFICAMENTE: (desde la página) descargándola desde DockerHub (online), o de Artifactory, Nexus o Archiva (offline) => definiendolo en el fichero “dockerfile” (FROM …)

2.- COMANDO: docker pull Alpine

NOTA: para que no se pierda la información del contenedor cuando cerremos, habría que asignarle un VOLUME.

39
Q

Define el comando “docker pull”:

A

Docker pull imagen_a_descargar: para descargar una imagen vía comando, en lugar de usando los repositorios (online:dockerhub u offlline: artifactory, nexus o archiva) definiendo el fichero “dockerfile” (FROM …).

40
Q

Define el comando “docker exec”:

A

Docker exec: ejecuta un comando contra un contenedor y si le ejecuta el “bash” es como meterlo dentro:

Docker exec –it contenedor_prueba bash

Docker exec contenedor_prueba df: envía el comando “df” al contenedor “contenedor_prueba”
41
Q

¿Cómo asignar un VOLUME a un contenedor para que no se pierda la información del mismo?

A

_Hay 3 maneras:
1.- docker VOLUME create –-name nombre_volume
2.- Con – v:
docker run –it –v /user/miegi/ruinosa/:/var/html/ruinosa –name nombre_contenedor –p 9004:80 httpd
*El primero path indica el directorio de fuera del contenedor (host):que se mapea con el segundo, que es el del contenedor.
3.- Crear el VOLUME definiéndolo en el fichero “dockerfile”, pero NO crea el nombre del VOLUME ni se puede especificar el directorio del host (el de fuera del contenedor):
VOLUME volumen_patch

*Ahora si se guardan los ficheros que creamos y configuramos en la ruta que hayamos indicado.

NOTA: docker volume ls, muestra todos los volúmenes.

42
Q

Define el comando “docker commit”:

A

El ciclo normal de este sistema de virtualización en contenedores es: primero, crear la imagen, luego, con el “dockerfile” la relleno o configuro y, x último, levanto el contenedor.
Pues con “docker commit” creamos una imagen o copia de la configuración, que podremos pegar en otro contenedor.

43
Q

¿Para qué sirve el comando “docker build”?

A

Para la construcción de imágenes desatendidas. En otras palabras, aquella que se encarga de crear imágenes de Docker partiendo de un «contexto» y de un archivo de Dockerfile.

44
Q

¿Cuáles son los 2 momentos o situaciones de una imagen?

A

1.- CONSTRUIR LA IMAGEN: docker build imagen
2.- LEVANTAR LA IMAGEN EN MEMORIA: docker run imagen

45
Q

¿Qué indica el “.” en la sintaxis: docker build . -t prueba?

A

El directorio actual.

46
Q

Expón algunas palabras reservadas del fichero “dockerfile”:

A

FROM: para descargar la imagen base (es de las 1ª palabras reservadas del dockerfile)
RUN: para todo lo que es personalizar la imagen: instalar paquetería, permisos, ubicación, …
COPY o ADD: ambas sirven para añadir ficheros a la imagen en el momento de creación de la misma (docker build), pero ADD soporta URLs.
USER: para determinar con que usuario ejecutaremos el resto de instrucciones:
change member-ship (cambiar afiliación)
ENV o ARG: sirven para lo mismo, declara un argumento o parámetro. Pero ARG sólo existe durante el proceso de construcción de la imagen. En cambio, la variable declarada con ENV existirá tanto en el proceso de construcción o docker build como en el de ejecución o docker run (dentro del contenedor).
CMD o ENTRYPOINT: ambos sirven para lo mismo, establecer el comando que se ejecutará cuando se inicie el contenedor. Con la diferencia de que si ya existiera un comando establecido CMD lo sobrescribe, pero ENTRYPOINT no.
EXPOSE: define el puerto del contenedor (el puerto de dentro). NO define el puerto del host (el de fuera).
VOLUME: nos permite definir un directorio cuya información será PERSISTENTE.

47
Q

¿Qué es un fichero “tar”?

A

Es un tipo de fichero comprimido, que sirve para combinar varios ficheros en un único fichero, lo cual sería más fácil de administrar, enviar por internet o, simplemente, archivarlo.
*Al comprimir un fichero “tar” se crea la extensión “tar.gz”.

48
Q

En relación a kubernetes, ¿en qué se diferencian un “clúster” de un “pod”?

A

El CLUSTER es un conjunto de máquinas físicas o virtuales usadas por kubernetes. En cambio, un POD es la unidad + pequeña desplegable que puede ser creada y manejada por kubernetes (es un grupo de contenedores con almacenamiento compartido).

49
Q

¿Qué es “docker desktop”?

A

Es una aplicación nativa diseñada para Windows y MAC OS para ejecutar, construir y enviar aplicaciones o servicios acoplados / en contenedores.

50
Q

¿Qué comando/s usaríamos para listar imágenes?

A

*docker images: con la palabra “images” en plural
*docker image ls: en singular.

51
Q

¿En qué se diferencia “docker rm” de “docker rmi”?

A

En que docker rm: borra el contenedor y docker rmi: borra la imagen.

52
Q

Expón algunos comandos de DOCKER:

A

*Docker info: muestra TODA la información sobre contenedores e imágenes.
*Docker: muestra los comandos de docker.
*Docker volume ls: muestra todos los volúmenes
*Docker ls: para listar los contenedores en un host.
*Docker ps: muestra los contenedores en ejecución.
*Docker attach id_contenedor: unirse a un contenedor en ejecución.
*Docker export: exportar un contenedor a un fichero “tar” (fichero que agrupa varios ficheros)
*Docker run imagen: arranca o levanta en memoria un contenedor en base a una imagen construida.
*GROUP: en lugar de enjaular o aislar procesos (LINUX), aísla contenedores.

53
Q

¿Qué utilidades tiene el parámetro “-dit”?

A

d=>lanzar en background / it=> (interactive) poderlo parar para administrarlo.

54
Q

Referente a los comandos de kubernetes, ¿cuál es la diferencia entre “kubectl apply” y “kubectl create”?

A

Ambos son para crear varios pods y distribuirlos por la memoria. Pero:
*Kubectl apply –f fichero-pods.yaml: es modo DECLARATIVO.
*Kubectl create –f fichero-pods.yaml: es modo IMPERATIVO (tú configuras TODO sin ayuda de la herramienta).

55
Q

Expón algunos comandos de “kubernetes”:

A

*Kubectl get pods: pods que están ejecutándose
*Kubectl describe pod nombre_pod: información detallada del pod.
*Kubectl get nodes: nodos en el cluster

56
Q

¿Cuáles son los 2 modos de funcionamiento de VDI?

A
  1. PERSISTENTE: provee a cada usuario su propia imagen de escritorio, en la que se mantendrán las personalizaciones que le apliquen.
  2. NO PERSISTENTE: proporciona a los usuarios un conjunto de escritorios uniformes, pero, en este caso, cuando se cierre sesión volverán a su estado original.
57
Q

En qué se diferencian: Docker info y Docker system info?

A

Que “Docker info” también mostrará información sobre los contenedores en ejecución, incluidos sus nombres, ID e imágenes.
Por el contrario, “docker system info” solo mostrará información sobre el sistema en sí, como la versión del kernel, la cantidad de contenedores y el espacio de almacenamiento total utilizado.

58
Q

¿En qué se diferencian los comandos docker ps de docker ps -a?

A

docker ps muestra solo los contenedores en ejecución, mientras que docker ps -a muestra TODOS los contenedores, incluidos los que están detenidos.