Transcripciones
1. INTRODUCCIÓN AL CURSO: Mi nombre es Dave Cowen. He estado en el mundo de
infraestructura y DevOps y
desarrollo de software por algo que
se acerca 15 años. Y he trabajado para todo tipo de empresas
interesantes
empacar o algoen lo que
realmente creo en lo que
realmente creo tanto que trabajé para la
empresa que lo hace. No trabajo en
empacadora por cierto. Creo que es pequeño
y fácil de aprender. Mi promesa a ustedes lo que
este curso es que
no me va a gustar
exhaustivamente leer diapositivas que
te llevan lentamente a través de
cada parte del léeme
como los documentos oficiales. Puedes leer los documentos oficiales tú mismo para llenar las cosas. Mi promesa para ti es que te
voy a dar un,
un proyecto absolutamente realista que
te muestre el uso del mundo real, tipo de lo
que necesitas estar pensando. Y podrás
sentir intuitivamente las ventajas
que te da. Y prometí
hacerlo en una cantidad bastante pequeña de tiempo. Quiero mantener este curso
corto, dulce, práctico. Así que de nuevo, si estás
buscando como el curso exhaustivo
que te dará todo y probablemente
nunca termines viéndolo. Esto no es. Si quieres, como, solo
dame lo que necesito
para empezar con esto en un
proyecto realista que
pueda clonar, copiar, reutilizar. Este es el curso para ti. Entonces si eso te habla, espero verte por dentro y
sí, empecemos.
2. ¿Por qué Packer? ¿Por qué Infraestructura como código (IaC)?: Entonces para aquellos de ustedes que realmente no saben por qué
querrían Packer, déjenme solo darles una propuesta de valor muy
rápida, tal vez no solo para Packer porque ya la buscaron en Google y
ya están aquí. Pero para la infraestructura
como código en general, que es una especie de comienzo
de lo que Packer te da. Entonces antes de
empacar o tener algo que se convierta como configuración manual
en una imagen de máquina. Pensemos en
cómo resolveríamos, como, digamos, un problema de la vida
real. Digamos que hay alguna vulnerabilidad de
seguridad extraña. Se oye hablar de ello un lunes
y te das cuenta, Oh no, nuestro servidor de alojamiento WordPress necesita un cambio en la configuración del servidor
web para permitir una versión específica de TLS para que no seamos
vulnerables, está bien. Entonces entrarías en tu
documentación, ¿verdad? Porque esto es como la documentación de tu
manual. Todo lo haces manualmente. Todo está mal. Lloras hasta dormirte todos los días después de volver a
casa de este trabajo. En tu trabajo,
tendrías que básicamente averiguar dónde está este archivo,
dónde en las instrucciones,
vale, Está en el archivo de configuración principal de
NGINX. No te preocupes si no
sabes de estas cosas. No es realmente importante
para este curso. Sólo preocúpate por la broca empac Pero tendrías que
entrar aquí manualmente. Es decir, estás iniciando sesión
en un servidor de producción. Ahora te estás metiendo
con la configuración. Digamos que es como un protocolo
SSL que
tienes que comentar. Digamos que 1.2 está fuera, así que pegas el comentario
de aquí para acá. Y entonces ahora qué? Tienes que reiniciar NGINX. Supongo que hay que
esperar que este sea su único servidor de producción. Si tienes diez
servidores de producción, sí, un poco atornillados. Nadie está contento. Esto es malo. Esta es una mala manera
de hacer las cosas. No hay una buena manera de probar esto en dos meses cuando inicias sesión en tu servidor de
producción, no
hay registro de por qué la configuración
NGINX es así. A lo mejor olvidaste de cambiar la
documentación real que usaste. Por lo que los nuevos servidores aún se están
configurando incorrectamente. No hacemos las cosas manualmente. Eso no es lo que hacemos. Somos profesionales. Por lo que empacador es una especie de la forma en que toma esto de ser totalmente
manual a ser automatizado. Y claro, sí, les voy a mostrar todos
los detalles en este curso. Lo verás paso a paso. Pero lo importante en
este momento es que el proceso
general
cambia del triste y
triste mundo en el que estás iniciando sesión en producción y cambiando las cosas a este mundo
mucho más feliz donde en get en tu proyecto Packer para
tus servidores de WordPress, entras en config. Ya ves que hay un
motor X conf aquí, parece que la configuración principal para
Engine X me parece genial. Aquí encuentras tu línea de protocolos
SSL, haces el cambio aquí. Y luego en lugar de
iniciar sesión en producción, simplemente construyes una
nueva compilación de empacador esencialmente lo comprometes. Presumiblemente eres una especie de sistema de CI de
automatización recoge ese cambio y obtienes repeticiones
Packer para crear una nueva imagen. Y luego bam, tienes una nueva imagen para referenciar en el resto de tu
infraestructura. Y entonces puedes hacer cualquier
proceso que hagas para rollover tus servidores en producción a estos nuevos servidores que tienen
solo esta única cosa cambiada. Y podrías pensar
para ti mismo, bueno, eso parece un montón de pasos
extra para realmente un cambio de una
sola línea en un archivo. Pero en cuanto se golpea
la realidad de cómo son las operaciones de
producción y tal vez tener más de
un servidor como cientos. Esta se convierte en la única
manera cuerda de gestionar el cambio. En lugar de tener cambio manual
donde como la gente necesita recordar cosas, siga instrucciones
específicas. Las cosas pueden olvidarse, las cosas pueden desaparecer. No recuerdas
quién cambió algo o que algo se cambió. En este mundo. Todo cambio tiene un git commit
unido a él, ¿verdad? Entonces cambias este archivo,
tienes que comprometerlo. Pones el nombre
del ticket o la razón por
la que lo cambiaste
o lo que sea en ese commit, razón por
la que lo cambiaste
o lo que sea en ese commit,
eso da inicio a una nueva construcción. Y luego esa es una
nueva Build ID, aunque es casi
la misma máquina. Y si alguien es como, Oh, ¿por qué le
pasa algo a esta máquina? ¿ Podrán ver cada
cambio de configuración que entró en él? Volviendo todo el camino
hasta el inicio de nuestra primera ejecución de este, este script de paquete que
creó una imagen para nosotros. Entonces espero que eso explique
algo del por qué Packer y específicamente que te
dé una sensación de cómo el flujo de trabajo que
esto habilita es mucho, mucho, mucho mejor y
mucho más profesional. Entonces el flujo de trabajo con el que empiezan la
mayoría de las personas e incluso
las empresas, que es correcto, es
como instrucciones. Google una cosa que es como iniciar sesión y hacer esto manualmente. Es como no, no,
no, no, no, no. Eso no es lo que hacemos. Es Eso no es lo que hacen
los profesionales. No entraron. Podrían
probar algo manualmente como tú podrías hacer esto localmente
para simplemente comprobar si funciona. Pero luego agarras todo esto, lo
pegas en un
script o pegajoso, automatizado de alguna manera, y luego automatizas
alrededor de eso nuevamente con infraestructura como código, asegurándote de que cada
el cambio está sucediendo en get, asegurándose de que puedes
mirar una imagen y saber exactamente lo que hay ahí
sin iniciar sesión en ella. Eso tiene sentido. De acuerdo. Entonces para aquellos de ustedes
que no estaban seguros por qué acompaña usan
empacador, Eso es todo. Yo diría que esa es
la principal diferencia. También habilita todas estas
otras cosas de las que
hablaremos a lo largo
del curso. Lo cual es realmente una vez que envuelves algo como esto en la
automatización y pasas de un proceso manual a un proceso
automatizado, ahora
puedes integrarlo en automatización
existente para
todo tipo de otros
cosas. Entonces ahora, ya sabes, si tu departamento de seguridad,
tu empresa crece, tu departamento de seguridad
viene a ti y te dice Así como necesitamos
automatizar TI, pruebas de
seguridad para todo que lo
convierte en producción. Bueno, se puede decir, sí, bueno, no
iniciamos sesión en
producción para hacer cosas como durante la construcción. Tan pronto como empacador termine una compilación
en su sistema de CI, después de hacer un compromiso, puede simplemente ejecutar su herramienta de seguridad de pierna
y asegurarse de que
esa imagen está a la altura del
tabaco para la seguridad . Y después puedes etiquetarlo con una seguridad
aprobada o lo que sea. Y entonces sabemos que está
bien usar en producción. Entonces es básicamente
como que no hay trabajo extra para ti como persona de operaciones
o infraestructura. De todos modos. Entonces todo se trata de la automatización y ahí es donde vamos y por
eso hacemos estas cosas.
3. Visión general de Project Packerfile: Hablemos de lo
primero que haces después clonar un proyecto empacador
o comenzar uno. Lo primero que
siempre vas a hacer es ejecutar Packer en él. Y luego este directorio, asumiendo que estás en
el directorio que tiene un archivo packer en él. Ahora porque ya he
corrido esto antes, no hace falta ningún cambio
y no hará nada. Pero la primera vez
que ejecutes esto, sin duda
instalará algunas cosas,
a saber, los plugins que
has requerido para tu base de código. Entonces, sin más preámbulos,
repasemos cómo funciona esto. Te voy a dar un
pequeño recorrido por esto. Esta fuente es la
imagen fuente que vamos a utilizar. Es decir, el
tipo de imagen va a ser una imagen de Amazon EBS. Estado en. Y la forma en que
vamos a encontrar nuestras imágenes fuente
con este filtro, donde buscamos algo
que tenga este patrón de nombre. Por lo que puedes ver que estamos
usando 2204 actualmente la última versión LTS o
soporte a largo plazo de Ubuntu. Y esta estrella es un
comodín si estás familiarizado con
las expresiones regulares en absoluto, estrella lo significa todo. Y específicamente
la más reciente
que coincide con esta estrella de
todo. Esto sustituirá a una fecha. Por lo que esta será como
la imagen de abril, como abril lo que sea, 2022 en junio,
habrá una imagen de junio en non. Esto significa que no
necesitamos cambiar nuestro código cada vez que se actualiza
la imagen, siempre
vamos a estar usando la versión más reciente de 2204. Siempre que ejecutes este código. Los dueños filtran, ese
es el usuario canónico. Se te garantiza
obtener una imagen oficial, no a algunos como los hackers malvados
como la imagen pre arraigada. El nombre de usuario SSH
básicamente solo dice, ok, cuando estamos
configurando esto, tratar con esta
imagen de B12 es el nombre de usuario predeterminado
que vamos
a usar para conectarnos con SSH. Y el par de claves temporales
que quiero que Packer cree. Una de las cosas que hace
Packer es crear un par de claves solo
para mi carrera de empacador. Va a estar usando esta curva. Si estabas usando
SSH dash key gen, esa herramienta para crear
una nueva clave SSH. Eso es literalmente
lo que está haciendo esto. Entonces esto es básicamente
lo que está llenando, la parte T del guión. Entonces esto es básicamente
como correr SSH key gin type dd a 19. Eso tiene sentido. De acuerdo, así que vayamos a las instrucciones de
construcción reales aquí. Por cierto, no voy a hacerlo, esta no es una
explicación completa de Packer. Esto no es absolutamente
como en las trincheras. Práctica
lucha callejera Packer. Hay, hay más de Packer
que esto. Solo
te estoy mostrando el mínimo que
necesitas saber para obtener una imagen de Amazon que
funcione aquí. Entonces, ¿qué vamos a hacer
cuando construyamos esta imagen? Bueno, le vamos a decir a Packer que vamos a
darle un nombre a esta cosa. Vamos a
dotarlo de una serie
de abastecedores. Puedes pensar en esto casi
como los pasos a nuestro Build. Vamos a darle de comer
este primer script, por lo que este se subirá a la máquina y
luego se ejecutará en él. Entonces vamos a agregar
algunos archivos de configuración aquí. Por lo que estas son esencialmente operaciones de copia de
archivos. Todo esto está sucediendo sobre SSH, donde se va a
buscar algo comenzando en este
directorio config, puedes ver que está aquí,
WordPress NGINX config. Bueno ese es este archivo que se
va a copiar a la máquina en el BUN a los usuarios. Porque recuerda, estamos
usando SSH nombre de usuario ubuntu. Eso es lo que vamos
a iniciar sesión como aquí. El primer paso es
depositar un poco todas estas cosas en el
directorio home de los dos usuarios urbanos porque en
realidad es donde podemos
tener acceso correcto. Sin hacer esto
feo y complicado. Esto lo hacemos en dos pasos. Transborda todos los archivos
allá arriba al montón de usuarios. Y al final, trasladamos todos esos a donde
van a estar con sudo. Entonces ahora que tenemos el archivo escrito en su directorio de inicio, realidad lo
vamos a escribir a su destino final, que es el Engine
X y Gen X.com y así sucesivamente. Lo último que
vamos a hacer, igual que en el curso. Es como si editamos todos
estos archivos de configuración, instalamos todos estos servicios, hacemos todas estas otras cosas con
el script base config. Por último, separé esto en unos guiones separados solo porque es una forma
más agradable de hacerlo. Podemos confiar en que tenemos toda
esta configuración de plataforma. Y al igual que la
última sección siete, sección siete del curso, este script refleja
que en realidad
solo estaban configurando la aplicación de
WordPress, los archivos de
configuración específicos de WordPress, etcétera. Entonces ese es el final
de esta sección. En la siguiente sección,
voy a guiarte rápidamente a través de lo que realmente hay
en todo esto. Veamos en realidad el código.
4. Primitivos y terminología de Packer: Hablemos de las primitivas
y terminología
esenciales de Packer que
realmente necesitas saber para usarla. Entonces estos primitivos son
bloques de construcción que conforman
Packer son los
que hay que entender
para saber cómo
funciona Packer y realmente cómo
quiere que pienses en la construcción de
imágenes. Estoy cubriendo esto en
el orden contrario que hace
la documentación porque
creo que en realidad es más fácil de
entender de esta manera. Vamos a
ir de lo más general a lo más específico. La página de terminología en los documentos es de la que
estamos hablando aquí. Entonces cuando miras un archivo de plantilla
Packer y ese es el primer
bit de terminología aquí. Esto describe un poco todo
el proceso. Entonces este es el único lugar donde todo
se junta con todas estas diferentes palabras clave,
provisión o fuente. Es posible que vea la fuente de datos
o la compilación posterior al procesador. Como que quieres
saber qué es esto. Entonces voy a
explicarlo todo en un párrafo loco y luego vamos poco más o menos lo voy a explicar todo en un párrafo loco
que describe esto. Y luego pasaremos por
cada término pieza por pieza. Entonces cuando ejecutamos este
comando R le dice
a Packer que lea y ejecute las
instrucciones que encuentra en una plantilla Packer que tiene ese archivo que
acabamos de mirar. Esa plantilla contiene
uno o más constructores que saben cómo construir una imagen en alguna
plataforma como AWS. Packer encuentra la construcción
que definimos allí, que es una tarea que
crea una imagen. Esa compilación es realmente
solo un buen nombre envuelto alrededor de un montón de aprovisionadores que hacen
el trabajo duro real de configurar su imagen. Si todo eso tiene éxito, terminas con
un artefacto que suele ser como una
imagen de máquina de algún tipo, como una AMI en Amazon. Ese es el proceso medular. Hay una parte opcional en cada extremo de
ese proceso central, que es si quieres cambiar
cosas al principio, como si quieres
traer datos
externos preexistentes para cualquier
parte de este proceso. Como una imagen de máquina existente
que ya has construido o secretos que
tienes almacenados en tu
Cloud Secret Store. Puedes hacer eso y usas fuentes de
datos para
lograr esa tarea. Si quieres modificar
cosas al final, cuando ya has
construido un artefacto, usas lo que se llama
postprocesadores para hacer eso. Entonces definamos a fondo cada uno de
esos primitivos. Las plantillas son esencialmente archivo de configuración
Packer en HCl o Jason, que define una o
más compilaciones al unir todas las otras primitivas
Packer. Es el lugar central para que ocurra la configuración de
Packer. Y se puede ver que en
nuestra plantilla, las compilaciones, esas llaves que comienzan en la línea 27 donde
definimos la compilación. Envuelven todo, hacen que abarquen totalmente todo lo
demás que estamos haciendo. Todos estos otros
primitivos de aquí, están todos dentro de un comando build es un
sub-comando para packer, que le dice que haga
cosas como Packer en él. Al igual que por favor descargue todas mis
dependencias externas y plug-ins. Empacador, funct FMT
correcto formatear mi código, Empacador, inspeccionar Empacador,
validar consola Packer. Y el favorito de todos, el
que vamos a estar usando, que es la construcción de empacador, que es solo, por favor construye una imagen
basada en esta plantilla. Un constructor es un componente de empaquetador, ya sea incorporado o plugin. En su mayoría va a ser un
plugin que sabe cómo crear imágenes en una plataforma
específica. Así como una imagen de Google Cloud y imagen de
Azure en
Digital Ocean image, Amazon, que estamos usando. Un constructor es lo que
envuelve todo ese tipo decomplejidad y código de
llamadasAPI complejidad y código de
llamadas que es específico
para cada plataforma. Al igual que haces llamadas API muy
diferentes a Google Cloud que
a Amazon, pesar
de que estás haciendo lo mismo. Entonces los constructores
son los módulos o plugins que envuelven toda
esa complejidad. que todo lo que
tienes que preocuparte es ¿cómo
se llama el constructor que necesito? ¿ Y
qué parámetros se necesitan? Un origen de datos es
algo opcional que obtiene datos
que puede necesitar. Esta es una de las cosas
que correrías en el definido al principio. Esta podría ser una AMI base
alternativa, que desea utilizar la
imagen de máquina que desea utilizar. Un secreto que se almacena en tus nubes Secret Manager
si ese tipo de cosas. Y luego llegamos a la construcción. Y esa es esa tarea única
que produce un artefacto. Y como viste antes, lo envuelve todo. Una especie de consecuencia
aquí abajo que es como hacer cosas
procedimentales y modificar cosas y construir están
en configurar nuestra imagen. Un dato interesante
es que puedes tener más de uno de estos
corriendo en paralelo. Entonces eso es una cosa
que puedes hacer. Si estás produciendo imágenes
para múltiples nubes, tal vez. Entonces podrías tener una tarea de
construcción para cada uno, una provisión o es lo que
viste dentro de esa construcción. Es la primitiva que realmente
usas para hacer cambios
de configuración
a tus imágenes. Las construcciones toman algún tipo de fuente. Aplican abastecedores a
esa fuente para modificarla. Esto es cosas como
copiar archivos, instalar paquetes, mutar el estado
en otra cosa. Y entonces Packer crea
un artefacto a partir de eso. La imagen sigo diciendo imagen o artefacto
indistintamente. El artefacto es justo lo que produce
tu construcción. Y eso es simplemente,
en nuestro caso, un AMI. Podría ser una imagen de
contenedor Docker, puede ser una imagen de VMware. Podrían ser tantas cosas
diferentes. Y pasaremos por
todos los constructores que producen diferentes
tipos de artefactos. Bueno, no vamos a
pasar por todos ellos. Te lo mostraré, te mostraré los que más uso. Desde ahí puedes
cogerlo un poco. El post-procesador o la otra cosa de la que
hablamos, que son cosas con las que puedes hacer cosas después de que se haya creado un
artefacto. No uso un montón de estos
por lo general en la vida real, pero realmente
hacen que sea fácil
encajar en cualquier proceso que usted
o su empresa tengan. Al igual que comprimir, crear una
versión comprimida de tu imagen, o como crear un archivo de manifiesto que rastrea cada compilación básicamente en el momento de
cada compilación o lo que sea, también
puede ser cosas
como subir tu imagen a un lugar
que como tú lo necesitas. Entonces para revisar para este video, voy a volver a leer
esa loca frase que
leí antes. Y ahora sabrás exactamente
lo que significa todo. De nuevo, se ejecuta Packer
con un comando, que le dice a Packer, en el
caso del comando build, que lea y ejecute las instrucciones en
una plantilla Packer. Esa plantilla contiene uno o más constructores
que saben cómo
construir una imagen en alguna
plataforma como AWS. Cambiemos
al código para
un efecto aún mayor
emocionalmente en ti. Aquí, Packer encuentra las compilaciones que definimos en
esa imagen de plantilla, que es una tarea que crea una imagen que construir es realmente solo un buen nombre envuelto alrededor un montón de aprovisionadores
como ves aquí, que hacen el arduo trabajo real
de configurar tu imagen. Si todo eso tiene éxito, terminas con un artefacto. Ese es el proceso medular.
5. Bloques de plantilla de Packer: Hablemos de las cosas en este archivo de configuración que no están cubiertas por las primitivas
que acabo de explicar. El primero es este bloque Packer, Segundo es el bloque fuente, y luego el tercero es
el bloque de construcción, al
que ya he aludido
una especie de porque se relaciona con
la construcción primitiva. Te darás cuenta de que
hablo de bloques. Esa es una de las formas en
que trabaja el empacador. Consume este
archivo de plantilla buscando estos bloques que hemos
definido en HCl o json. El bloque de empacador
contiene configuraciones de Packer incluyendo un número de versión y los plug-ins requeridos. Casi siempre te
va a gustar, estos casi siempre
van a ser los constructores que estás usando. En nuestro caso, es
el plugin de Amazon. Y definimos una
versión específica y tipo de donde eso es en caso de que esté fuera de, debería
decir, el lugar
hospedado por HashiCorp. Entonces como si se trata de una cosa de
código abierto en GitHub, ahí es donde va a estar. El bloque fuente tiene
esta interesante sintaxis que podrías recordar de Terraform si lo
has usado antes. Pero es básicamente la
palabra clave que es una fuente. Entonces tiene el tipo constructor, en nuestro caso amazon EBS, y un nombre para ello, que va a ser local
a esta plantilla Packer. Entonces esto es, sabe
qué mirar
aquí arriba y a qué forma va
a conformarse
esto más o menos. Esto es lo que
vamos a referenciarlo como en esta construcción. Cada constructor se puede pensar
en una función en la programación como diferentes constructores
requieren diferentes parámetros. Esencialmente Packer les llama atributos de
configuración, eso es todo esto dentro. Entonces, al igual que Amazon, EBS
requiere algunas de estas cosas y
otras son opcionales. Va a ser diferente
si se trata de un constructor de GCP o un constructor digital de océanos o
un constructor de contenedores Docker. Por lo tanto, los atributos de configuración o simplemente las cosas que
son opcionales requeridos, la información que puede pasar para obtener la fuente exacta, imagen de
origen o lo que
quiera trabajar con durante tu compilación. Entonces finalmente, todo esto se
pasa al bloque de proyectos de ley. Pero la parte específica de eso en la que quiero que
se concentren es esta. Se puede ver esta unión
religiosa, la convención de nomenclatura
anterior con periodos. Entonces estamos diciendo, vale, bueno ahora queremos hacer una construcción. eso le vamos a dar
un bonito nombre. Y las fuentes,
vamos a aplicar estas facturas a nuestra fuente, amazon EBS, una gran ayuda a y si
cambiamos el nombre de esta aquí y llamamos esta pierna una a una porque tenemos 27
diferentes una gran ayuda para gustar, no
sé, versiones LTS a las
que estamos aplicando esto. Eso está bien. Sólo tendremos que
cambiarlo aquí abajo también. De acuerdo, así que ahora en realidad, a un nivel alto entender
cada bloque desde una perspectiva de configuración
que está en este archivo de configuración. Y también entiendes a
los primitivos. Así que en realidad solo basado en eso, deberías poder en
este punto leer casi cualquier
archivo de plantilla Packer que te encuentres. Ahora, de vez en cuando la gente hace algunas cosas bastante extrañas y son archivos de plantilla Packer, pero es como si estos fueran los primitivos de los que
Packer conoce. Y así todo va
a volver a estos.
6. Tour de código de proyecto de WordPress: En este video,
les voy a dar un recorrido muy rápido los proyectos iniciando estado. Entonces esto es algo
así como lo que
te estoy dando para empezar
para este proyecto. Aquí lo encontrarás.
Esde código abierto, es de un
curso anterior mío. Y lo que ya dije, voy a decir otra vez
es que no necesitas
entender cada parte de esto. Esto no es como un curso de Linux, no
es un curso de WordPress, no
es un curso de alojamiento web
en sistemas Unix. Pero solo quiero que
veas el tipo crudo de cosas
manuales que vas a estar automatizando en
este curso conmigo. Entonces te voy a llevar un poco
a través de ella a un alto nivel. Yo sólo estoy un poco contándote
lo que está haciendo todo. Si tienes curiosidad y
quieres aprender más, entonces por supuesto profundiza. Pero sólo te voy a dar un poco como aquí,
te voy
a decir, bien, estamos actualizando el repositorio de
paquetes que tenemos en B12. Y vamos a
instalar algunos paquetes, todo lo que
necesitamos para WordPress, base de datos, MySQL, en este caso, realidad
es MariaDB,
pero no importa. Un Web Server Engine X, un lenguaje de VM Runtime, PHP que estamos usando, y un paquete
extra que ayuda a
integrarse con la base de datos. Una pequeña
herramienta de monitoreo, no importante. Entonces muestro un poco de cosas
manuales sobre servicios. No es tan importante que los
iniciemos necesariamente, pero vamos a estar habilitando estos porque cuando salga
la máquina, queremos como lista para alojar un sitio web sin
ningún otro paso manual. Por lo que algunos servicios
tienen que habilitarse. Eso es genial. Necesita configuración. Entonces hay una parte de este otro curso donde
creamos un archivo de configuración. Y esta es la configuración principal
del servidor web. Simplemente almacenado como un archivo es muy
tradicional para Linux aquí, solo archivos de texto plano. Hacemos exactamente
lo mismo para PHP, así que para el tiempo de ejecución del lenguaje, y se puede ver que aquí, un poco más de cosas. Todos estos comandos son
realmente igual que mover archivos, editar archivos. Lo último que estamos
haciendo es crear un usuario de sitio web que el
sitio web va a ejecutar ya que permite a mis estudiantes
del otro curso ejecutar en realidad múltiples sitios en
un solo servidor, que era ser la
forma normal en que se hace esto. Es como crear un usuario, crear una contraseña aleatoria, algo así como configurar
las cosas de forma segura. Entonces la carne de este proyecto realmente va a estar
en este archivo de aquí. Y ese es el
proceso real de configurar la aplicación de WordPress
ahora que se
ha configurado este tipo de plataforma de hosting. Entonces esta es un poco la
aplicación que
se está ejecutando encima de todo lo
que acabas de ver. Se puede ver donde he
escrito documentos para esto. Puedes leer esto
en profundidad si lo deseas. Pero vamos a
crear un usuario del sistema, qué tipo de enganchar
todo, crear un directorio para que
este sitio web entre. Estamos creando un archivo de configuración de servidor
web específico solo para este sitio que va
más allá de la configuración básica. Y luego hacemos algunas más
asistidas muchas cosas como. Mover un archivo, borrar una cosa, añadir algo, llegar
a una cadena aleatoria. Para una contraseña. Establecer, ejecutar algunos comandos
en un shell SQL. Descarga una cosa como borrar
otra cosa o, ya sabes, descomprimir y
desarchivar algo, reiniciar y meterte
con algunos servicios, cambiar un archivo, ese
tipo de cosas. Estas son todas las cosas
que packer puede hacer por ti automáticamente o que puedes hacer con un
script de shell o cualquier otra cosa. Aquí no hay nada que
no sea como automatizable. Entonces esa es la
vista de alto nivel en caso de que tengas curiosidad de lo que este
proyecto al que te gusta pasteurizar está
haciendo en realidad debajo de las portadas. Ahora otra vez, por vigésima vez, solo
quería estar absolutamente
seguro de que, ya sabes, esto. No te sientas raro si no
entiendes completamente todo lo que acabo de
mostrarte, no tienes que hacerlo. Una de las cosas
maravillosas
y sorprendentes Packer, realmente, solo sobre la automatización
que estamos haciendo en este curso es que ese
es uno de los beneficios. Es que una vez que algo está envuelto en una
capa de automatización, no todo el que usa esa
automatización o tipo de consume lo que estamos
envolviendo necesita entender completamente
lo que está envolviendo. En este caso, todas estas cosas
manuales y todos estos archivos de configuración y cada
directiva y cada archivo, no
necesitas entenderlo. Todo lo que necesitas
entender es que
es un archivo y
va a alguna parte. Y si va a alguna parte, y luego todo está
configurado correctamente, esto sólo
va a funcionar. Eso es todo lo que necesitas
saber al respecto. Por supuesto, si tienes
curiosidad y
quieres adentrarte,
eso es maravilloso. Pero creo que esa es una
de las grandes ventajas de lo que estás haciendo en
este curso es
que ves que no necesitas captar
completamente los detalles de cada cosa
porque solo estás construyendo un que es una especie de capa de
abstracción alrededor de esto. ¿ De acuerdo? Entonces estás muy, muy bien puedo entender lo
del empacador que le
estamos haciendo a esto, pero no necesitas
entenderlo a la perfección. De acuerdo, así que espero que eso haya, uh, puesto tus miedos y te haya
hecho
sentir mejor por no agarrar completamente
cada comando aquí. Y si lo haces, genial, No
es una configuración particularmente
complicada que
tenemos aquí, pero
es muy común. Ya verás que esto es, este es
el tipo de cosas que está ejecutando la producción en todo
el mundo en la vida real. Entonces es muy, es
muy parecido lo que verás si
estás usando Packer.
7. Visita al código de proyecto Packerized: Entonces saltemos al código. Si bajamos a la sección de
construcción aquí, solo
pasemos un poco por ella. Lo primero que sucede es hay una provisión de shell o que ejecuta el
directorio scripts AMI config script. De acuerdo, Bueno vamos al directorio
de scripts, scripts de configuración
AMI. Veamos eso.
Esposible que recuerdes algunas de estas cosas de
la sección de scripting de Bash. Pero básicamente acabo de tomar
las partes centrales de la
configuración de la plataforma de hosting como lo hago en el curso donde te estoy
guiando a través y como que explico
Linux en este punto. Bueno ahora ya
sabes cómo
funciona Linux y sólo podemos
hacer esto un poco todo en un script. Así que en realidad solo he transpuesto todos esos
comandos en un guión. Este es un script bash y se
puede ver instalar mi, mi SQL Server Engine X PHP, MySQL, PHP, npm, iniciar y habilitar esos servicios para que
empiecen en el arranque. De hecho, no creo que en realidad necesite arrancarlos
porque solo estoy, voy a imagen de esta máquina, pero en realidad no importa. Después instalo un montón
de extensiones de PHP. Estos son los
que necesitas para 2204. Estas son algunas extensiones
que como que tengo colgando, a la espera de
más investigaciones. Pero las cosas funcionan sin
ellas. Está totalmente bien. Estos no existen en 2204
o han sido subsumidos. Otros nombres de paquetes, hacemos alguna configuración NGINX como así algunas de las cosas de las que depende nuestra configuración
NGINX, como crear este
directorio, etc. alguna configuración NGINX como así
algunas de las cosas de las que depende nuestra configuración
NGINX,
como crear este
directorio, etc. que se ejecuta PHP F P, M. Puedo hacer un compromiso
para cambiar eso. No es necesario que te
preocupes demasiado. Fresco. Entonces ese es el
final del guión. Por lo que se puede ver
que eso más o menos
nos lleva al final de
administrar servicios. Entonces empezaríamos a instalar, iniciar y habilitar los
servicios que necesitaremos. Veamos qué hacen los
próximos abastecedores. Por lo que ya pueden ver ahora
estamos moviendo archivos. Este es el archivo principal
del motor x config, que seguramente estás
familiarizado en este punto. Vamos a, esto es como el archivo de configuración del sitio de WordPress, que va a tipo
de frente al tráfico para su
servidor de aplicaciones, su servidor PHP. La configuración PHP FEM para
su sitio viene aquí. Sólo echemos un vistazo
rápido a esos. Entonces ese es el
motor principal x config. Estás muy
familiarizado con esto. Esto es lo que hace tu
P, por eso lo hacemos. Crea ese directorio de caché. El archivo de configuración del sitio
para Engine X aquí, estás totalmente,
debería estar totalmente acostumbrado a esto desde el curso. Ahora bien, en las instrucciones que
tengo, tengo esto como una variable de
shell y
puedes cambiar eso como tú, como
trabajas con estas cosas. Obviamente, si estás configurando
esto por ti mismo, simplemente clonarías
esto y luego
resolverías tutorial Linux para cualquier dominio en el que vayas
a configurar el sitio, sea cual sea el usuario que
vayas a usar , etcétera. Así que al igual que si literalmente
solo encuentras y reemplazas en el directorio de paquetes
tutorial Linux para cualquiera que sea tu
nombre de sitio o nombre de dominio es, entonces deberías estar bastante feliz. No se necesita mucho. Lo mismo con PHP SPM. A esto en realidad no le
importa el dominio en absoluto. Sólo el
directorio de inicio de tu usuario, ese tipo de cosas. Trasladamos estos a su lugar, más
o menos autoexplicativos. Y luego nuestra disposición final o realmente instala WordPress. Y verás la configuración del sitio
de WordPress. Eso es como todo este proceso
que estamos haciendo aquí en las
instrucciones originales de GitHub que te
llevo
en el video del curso. Lovely es un montón de archivo de
configuración en línea también. Ahora vamos a
hacer, estos son algunos de
los archivos de configuración que acabamos escribir de los que estábamos
hablando. Ahora vamos a hacer todo
eso simplemente en un guión. Y ese script es el script de configuración del sitio de
WordPress. Y esta es
una especie de versión adaptada de lo que estoy haciendo en
ese archivo de rebajas. Hay algunos tipos de problemas que tuve que
resolver, que es, cómo conseguimos configurar que estás en mi SQL Pass es algo
interactivo. Entonces simplemente hago eco de eso para que lo veas
durante el proceso de construcción. Puedes copiarlo durante
el proceso de construcción. Esto no es perfecto. Al igual que si estuvieras haciendo
esto profesionalmente, probablemente no
querrías esto como en registros de
tu sistema de compilación o lo que sea. Pero al igual que para este curso,
Está completamente bien. Si estás haciendo
esto por ti mismo. Para una pequeña empresa, no
vas a mantener estos registros para siempre. Se van a hacer eco literalmente
en un caparazón. Algo como esto,
donde verás un script de configuración de packer está registrando algo que eras
mi pase SQL es esto, ya
sabes, no, no es
un gran problema. No eres como
salvar eso para siempre. Entonces metes eso en tu gestor de contraseñas y luego eres
bastante bueno para ir. Entonces aparte de eso, esto realmente sigue
las instrucciones muy, muy, muy, muy de cerca. Más de simplemente descargar la aplicación
de WordPress al
comprimirla, archivarla,
descomprimirla, y la configuración y permisos en ese directorio principal y salir. Y en ese punto,
prácticamente todo debería estar configurado. Lo que Packer hace
es cuando llega a lo último
en el último paso de construcción, es como, ok, cool. Si esta cosa
sigue siendo receptiva, entonces voy a suponer
que fue exitoso. Y voy a
imagen de esta máquina. Y lo que hará
es construir una AMI,
una imagen de máquina de Amazon. Dondequiera que esté el estado
de esta máquina.
8. Instalación de Packer: Entonces hablemos de
instalar Packer. Puedes describir un
binario si quieres. Y creo que eso está totalmente bien. Y eso es de la página de
descargas. Solo tienes que agarrar la
última versión para cualquier plataforma en la que estés. Y por cierto,
solo puedo decir que me encantó que estos chicos estén aquí,
solo me hace feliz. Si estás en OSX, puedes usar Homebrew
con estos dos comandos. En Windows, aquí
tienes binarios. En Linux, puedes agregar
los lanzamientos de HashiCorp, repo, y luego simplemente instalar eso en realidad todas
las herramientas hace desde allí. Yo sólo quería mostrar
la opción chocolatey en Windows es probablemente
la más cool. Si usas el administrador de
paquetes chocolatey porque quieres ser parte
del genial mundo de administración de paquetes de características que ha estado sucediendo
en
todas partes durante mucho tiempo. El chocolate es probablemente
lo que quieres. Y como se puede ver, se puede. Es mantenido por terceros, pero aún así es posible
instalarlo de esta manera. Entonces para mí,
ya he instalado Packer y solo se puede ver que en cualquier
entorno tipo Unix, probablemente
vas
a poder ejecutar cuál, cuál Packer. Y eso te mostrará
dónde está instalado. Y se puede ver que
instalé esto vía Homebrew. Si estás descargando el
binario en un sistema similar a Unix, entonces probablemente querrás
pegarlo en el usuario local. Y eso tomará un pseudo. Pero eso es más o menos
todo lo que tienes que hacer. Y entonces tienes a
Packer instalado y podemos ir de ahí. Te
veré en el siguiente video.
9. Crear una clave SSH en AWS EC2: De acuerdo,
hablemos rápidamente de crear un par de claves. Si no tienes
uno ya, de nuevo, si tienes uno que puedas
usar un par de claves SSH para EC2, entonces puedes saltarte este video. Pero para aquellos que
no lo hacen, puede en el panel principal o haga clic pares de
claves aquí son realmente
de cualquier lugar en EC2, puede desplazarse hacia abajo a la red
y seguridad a la izquierda,
hacer clic en pares de claves y luego
crear un nuevo par de claves. Voy a nombrar el
mío 2022, Cohen. Vamos a hacerlo en EDA a clave
5519 en el formato PEM
y crear ese par de claves. Y se puede ver esto sólo
auto descarga el archivo. Hagamos una larga lista de
nuestro directorio de Descargas con nuestra clave 2022 d Cohen. Vas a notar una cosa que confunde a muchos
nuevos usuarios, que es que estos
permisos 644, permiten que esto sea legible en todo el mundo, que en realidad SSH comprobará n, no así en todos. Y simplemente no dejar que te conectes. Muchos, muchos novatos cuelgan aquí y
eso está totalmente bien. Es como una cosa rara. Se crean así. Pero todo lo que vamos a hacer
es básicamente aquí está nuestro directorio SSH con nuestras cosas
SSH solo un par de claves. Así que vamos a establecer los
permisos correctamente y luego simplemente moverlo
al directorio SSH. Vamos a decir CH,
mío, sólo dale 600. Descargas. 2022, guión d Cohen. Ahora puedes ver
que hemos eliminado todos
estos
permisos de grupo y otros en threes. Perdón, no estoy resaltando
eso correctamente. Entonces este es otro cualquiera en
el sistema, esto es grupo. Entonces el grupo del propietario no
puede leer y
nadie más en el sistema tampoco
puede leer. Es sólo el dueño el
que ha leído escribir, y el dueño es Dave. Ahora en realidad podemos
mover ese archivo. decir, podrías haberla
movido antes también, pero en nuestro
directorio SSH listará el directorio SSH
con un listado largo y eso solo te mostrará que todos estos son
bonitos y limpios. Tienen los mismos permisos. Ahora, lo último que te
mostraré con llaves y creo que esto es solo una
maravillosa característica de conveniencia. Es anuncio SSH es tu agente SSH, como si fuera un demonio que corre. Y lo que puedes hacer
es básicamente cuando te
conectas a tus
instancias EC2 o lo que sea, sobre todo si
tienes muchas claves en tu directorio SSH, solo
probará las
tres primeras que encuentre. Y entonces podría
estar todo fuera de intentos. Entonces la gente empieza a hacer
como SSH, dash, yo, como alguna llave, y luego hacer
a distancia o lo que sea. Eso es
algo muy común de ver. Una forma de evitarlo es simplemente agregar el que desea
usar a su agente SSH. Y la forma de hacerlo es
con SSH 2022 d. Cohen. Si hay una contraseña
en él, te
pedirá esa contraseña una vez y luego la mantendrá
descifrada en la memoria. Y lo que es realmente bueno de
eso es que,
entonces, si estás usando eso en todas tus instancias de IP
públicas, ahora
puedes conectarte a todas ellas sin
volver a solicitarlo para tu contraseña cada
vez o me gusta para cada comando o cosas por el estilo,
mostrar que se agrega de nuevo, SSH listada allí. Y si quieres despejarlo, puedes eliminarlo. Fresco. Entonces esa es una especie
de ciclo de vida. Cuando reinicies tu
máquina, SSH add volverá a estar vacía
cuando la reinicies. Entonces esto es como una cosa de una vez
por arranque para hacer. Es bastante rojo. Ahí vas. Eso es un poco lo que
debes saber sobre las claves con Amazon. Y te veré
en la siguiente.
10. Crear un usuario de AWS IAM para Packer: De acuerdo, en este video, vamos a echar
un vistazo a la creación acceso
programático
para Packer en Amazon. La forma en que lo hacemos es
usando algo llamado IAM. Es un todo separado
como tablero de instrumentos y servicio en Amazon. Gestión de Identidad y Acceso. Lo que vamos a
hacer ahí es hacer un usuario que tenga acceso API, acceso
programático, lo
llaman. Y lo que ese tipo de
escupe para ti es en realidad sólo una llave y un secreto. Ese es el tipo de
inicio de sesión automatizado usarán
los empacadores
para identificarse como, hey, estoy permitido hacer esto en
Dave o en tu cuenta de AWS. Y luego los empacadores los usarán para hacer girar tu instancia, crear un grupo de seguridad para
que pueda conectarse
a esa instancia, crear una clave SSH para que
pueda iniciar sesión en esa instancia. Necesita, necesita permiso
para hornear realmente una AMI,
para crear una AMI a partir de
una instancia en ejecución. Todos estos permisos,
porque este es un curso de empacador y
no un curso de AWS. Un AWS de ejecución completa y los costos de
producción
serían como 600 horas. Requeriría que hicieras una
pasantía de tres meses conmigo. Antes lo llamo hecho. Este
es principalmente un curso de empacador, por lo que vamos a hacer esto
de una manera simplificada. Lo que eso significa es que
sólo vamos a darle acceso de
administrador a
esta cuenta, que es como para
fines de producción, demasiado. No necesita todo
eso. En la vida real, reducirías esto
a algo que es justo lo que necesita el empacador. De acuerdo, dicho eso, saltemos y solo
hagamos un pequeño login. En servicios. Vayamos al IAM. Echemos un vistazo a los usuarios
y agreguemos un usuario. Ahora lo que realmente
queremos es el acceso a la API. Entonces llamaremos a esto d Cohen May, y queremos acceso programático. Entonces esto va a ser acceso API. No necesitamos que esto
sea un nuevo usuario de consola que pueda iniciar sesión y usar
esta GUI que estamos usando. No es para lo que es esto. Nómbralo y asegúrate de que sea una clave de acceso para el acceso
programático. Vamos a hacer
esto en un tal vez,
tal vez la más escapada que tiene sólo acceso de administrador de etiquetas. Esto no es algo que
quieras hacer en producción. En producción, quieres, por ejemplo,
para Packer, querrías crear
un rol de empacador que simplemente tenga solo los
permisos que necesita. Así como EC2 dot star si
quieres ser bastante áspero, pero más como crear instancia, como crear AMI, crear clave, crear una clave EC2,
eliminar clave EC2. ¿ Ves lo que
digo? Es como si te estuviera
mostrando el
esquema general de cómo funciona esto. Entonces sólo vamos
a usar el acceso de administrador, que tipo de
te da todo. Pero de nuevo, no es una buena idea
para nada la producción. Este es el CH mod
777 de AWS. Ahora sólo vas a ver
la clave de acceso secreta una vez. Vas a querer copiar
esto y guardarlo en alguna parte, estoy guardando esto en un buffer y mi editor, el ID de clave de
acceso. Muestra esto. Está bien que
veas esto porque
voy a borrar
esta clave antes pensar
siquiera en
subir estos videos. Pero de nuevo, esto va como en un gestor de contraseñas de inmediato si vas a usarlo
por cualquier periodo de tiempo. De acuerdo. Entonces ahora tenemos todo el
acceso que necesitamos configurar. ¿ Puedo decir que esto es una ortografía
extraña, gramática, error
gramatical al tener el nombre de usuario del usuario se
han creado. Es tan extraño. Debería ser tiene quién,
quién está escribiendo estas cosas? Amazon, ¿ustedes no
ganan 70 billones de dólares al año? No se puede revisar la ortografía esto.
11. La construcción de packer: De acuerdo, entonces has
instalado packer, has creado una clave SSH en tu consola de AWS que
puedes usar con esto, has creado una cuenta de IAM para
que realmente tengas acceso
programático
para Packer en AWS. Y ahora solo quieres que te guste correr esto y ver qué pasa. Creo que esa es una
gran manera de aprender. Vamos a correr esto y
a ver qué pasa. Estos son los pasos que hay
que hacer para llegar hasta allí. Has hecho el paso uno. Y puedes usar el proyecto demo aquí sin escribir
nada solo para ver
cómo es el proceso antes embarcarte en tu propio
proyecto donde tal vez conviertas algo
que quieras trabajar en un proyecto de empacador. Por lo que tienes acceso a API. Estos son sólo los pasos manuales
que vimos en ese video. Aquí está el momento de la verdad. Ahora tienes que exportar
esto en tu caparazón. Entonces aquí tengo estas llaves. Eres bienvenido a
intentar usarlos, pero no funcionarán porque los
estoy desactivando justo después de que se haga este video. Voy a copiar esos y
exportarlos en un caparazón. Ahora si no estás súper familiarizado
con Linux, está bien. Básicamente solo estoy en mi pack o directorio aquí, el directorio
del proyecto. Y voy a
pegar literalmente estas dos líneas. Y lo que eso significa es que
en mi entorno de shell, estas variables de entorno
se van a establecer igual a mi
clave de acceso real, ID y secreto. Y lo que eso significa es
que cuando Packer corre, automáticamente
se verá en mi entorno de shells para ver si estas cosas están configuradas en algo
que no está vacío. Eso es sólo para
ver si existen. Y luego intentará usar
esos para iniciar sesión en Amazon y hacer toda la
magia del empacador que hace. Entonces ahora que ya está hecho, podemos ejecutar uno de los
comandos del packer, que es init, que irá descargando
cualquier plug-in requerido para constructores que necesite como
el constructor de Amazon EBS. Y simplemente inicializar Packer. Y luego
seguiremos desde ahí. Packer está hecho de inicializar
y eso es sólo porque ya he desarrollado
en esta máquina. Entonces como estas, estas cosas ya
están instaladas. Pero en tu pantalla
puedes ver como avena yendo a descargar el constructor de Amazon,
ese tipo de cosas. Voy a hacer un video sobre
esto un poco más tarde, pero he dejado en
algunos pequeños cambios que haría el formato de empacador. Nada funcional ni grande. Pero estos comandos
son geniales de ejecutar, así que podemos probar Packer validar. Te mostraré empacar diversión para después. Pero se puede ver que básicamente
Packer golpeada sólo
busca cuestiones de formato que
son como convención. Ve a ponerla. Convenciones Hcl y Packer validan en realidad busca
ver si tienes todas las piezas que
empacador va a buscar en tu plantilla. Entonces ahora podemos
seguir adelante y construir esto. Y la forma en que
lo hacemos es sentarse en el directorio en el que se encuentra
este archivo. Por supuesto, podemos darle a
Packer el comando de compilación y presumiendo nuevamente
que hemos exportado estas variables de shell
como si tuvieras un conjunto válido, esencialmente login aquí,
de claves de acceso de Amazon. Entonces esto funcionará. Ahora si estás en tu haciendo tu propio proyecto después de esto
y lo estás haciendo en Azure, digamos que está bien. Es solo, vas a necesitar el constructor de Azure
va a requerir un conjunto diferente de credenciales allí y tu entorno de
shell
que va a buscar. Algunos proveedores
requieren un archivo de configuración que esté alrededor o que
le digas dónde está. Aquí sólo estamos
hablando de AWS. Así que ejecutemos packer,
construyamos WordPress, AWS Ubuntu, y
veamos qué pasa. Está pasando por todo
el proceso. puede ver que está creando un par de claves
temporales allí. Y ese es en realidad
un par de claves separado, no el que creamos. Así que esto es en realidad sólo
para Packer para iniciar sesión y ejecutar aprovisionadores con el par de claves que creó antes
se va a utilizar. Esa instancia se va a
etiquetar con ese par de claves. Se va a
subir y
podrás usarlo
para un registro SSH n Así que esto va a tardar un rato. Y se puede ver que
mientras tanto, podemos ver una instancia
que ha sido hilada. Ahora se está ejecutando. Parece que todavía está
en el estado de inicialización, pero en realidad ya está conectado porque se
puede ver que estamos pero ejecutando un
paquete encima de una actualización. Así que esto es como
apt-get update y apt-get upgrade
de nuestros scripts. Y se ve un poco como
lo que esperamos ver. Por curiosidad, Packer crea todo tipo
de otros recursos al igual que parte del constructor de Amazon EBS. Entonces es como definitivamente
golpear la API de Amazon. Es crear una instancia. Está creando un grupo de seguridad
único personalizado solo para esta compilación de empacadora. Y todo esto
sólo va a
maniobrar y lo dejaré aquí. Podría acelerar esto
porque tardará un rato. Simplemente verás ir a esta Build. Se puede ver aquí un
par de pasos a la derecha, subiendo ese motor X archivos. Entonces esta es otra disposición o subir ese archivo de configuración
NGINX, y esto es justo en
el directorio home B12. Por ahora. Se ejecuta el script de
configuración del empacador. Todo esto ha pasado. Se saca una My Sequel, una contraseña
MYSQL generada aleatoriamente. Podemos quedarnos con eso. Ahí está tirar eso a las llaves. Y ahora simplemente estamos
horneando un AMI. Lo que eso significa es que
podemos mirar AMI y
podemos ver que se trata de un
AMI que está pendiente. Se está horneando
ahora mismo fuera de nuestra instancia o
instancia se detiene. Crea un AMI a partir de él. Cuando esa AMI esté
realmente completa, nuestra instancia
conseguirá terminada. De acuerdo, y pueden ver que
estamos acabados y
todo lo que se hace cuanto vea que el AMI ya no
está pendiente sino listo. Sabe que puede
limpiar todo lo que
creó para esta ejecución, incluido el
grupo de seguridad que vimos antes, el par de claves que
buscabas creado al principio. Y la mayor parte de este tiempo realmente lo es. Es decir, viste que era
sólo creación de AMI. Entonces ahora si actualizo esto, el estado debería estar disponible. Se ha limpiado la instancia.
12. Usar el AMI para alojar un sitio de WordPress: Ahora que hemos
creado nuestra imagen, se
puede ver que hemos
terminado aquí arriba. Esta cosa se hace
eco de la contraseña MYSQL. Se está creando un AMI aquí en hace eco del nombre
que se le ha dado. Una vez hecha la imagen, termina la instancia
de origen. lo que la instancia original
en giró temporalmente para configurar o quedarse sin scripts
de suerte en contra. Eso se ha vuelto a descomponer. El grupo de seguridad que
utilizó para dejarse acceder a la instancia con el par de
claves temporales que creó. Todas esas cosas
han conseguido dos. Entonces este es un bonito proceso limpio. Y se puede ver lo único que nos
queda es con ellos esta imagen. Ahora bien, podrías, si estuvieras
usando Terraform o algo así, ahora
puedes hacer referencia a esta imagen no por un MID necesariamente, sino por la fuente donde es como este formato básicamente
como ID de cuenta, nombre. Si le dijiste a Packer que nombrara
esto algo así como dash date, es una buena manera de organizarlos,
pero
al igual que vimos en este pack o configure
haríamos lo mismo y terraform usando una
fuente de datos donde sólo dices, vale, el dueño voy a
ser yo, mi cuenta. El nombre va
a ser lo que yo
nombré este más reciente
va a ser cierto. Esa es otra forma de obtener
la construcción más reciente básicamente o construcción de producción. Si estuvieras usando
algo como Terraform, está un poco más allá
del alcance de este curso, pero solo diciendo, ¿cómo se
ve realmente
el proceso si lanzamos una
instancia a partir de esto? Bueno, ya que esto es, simplemente
llamaremos a este
tutorial Linux web. Y se puede ver que está
usando esta AMI. Puedes acceder a esto desde
el menú de nueva instancia para seleccionar la AMI aquí. Elige lo que quieras
decir que voy a ser anfitrión. No lo sé. Voy a hospedar sitio web
de tamaño mediano. Una pareja, no sé,
un par de 100 usuarios. A lo mejor es una tienda,
necesita algunos recuerdos. A lo mejor voy a decir dos
o cuatro vCPU y tal vez ocho gigas de memoria
para un sitio de WordPress más grande, seleccionarías solo un par de
teclas de teclado que tengas. Https, HTP, va a
ser un servidor web. Permita, ya sabes, tal vez solo desde tu IP o simplemente desde
tu red privada, desde la VPC, lo que sea. Y en realidad iría GPT-3. Y tal vez, no sé, llamarlo por un sitio de
WordPress más grande. Es posible que tengas muchas imágenes sean como datos subidos por el usuario, sea cual sea su
espacio en disco es barato. Entonces 5000 gigs,
esto es como, ya
sabes, eso no es realmente
lo que estás pagando por ello. Entonces sí, eso parece genial. Lanzaremos esta
instancia arriba y te
mostraré cuando
iniciemos sesión en ella. Entonces esto ahora se está ejecutando. Probablemente siga
arrancando, pero
voy a ir a networking y copiar la dirección IP pública. Voy a SSH han
sido agregar esta dirección. Asumo. Sí. De acuerdo. Mi agente SSH ya
tenía las claves. Es igual que si
básicamente estamos usando su clave SSH predeterminada
en esta máquina, y ese fue su par de claves SSH que esta máquina
viene con esta instancia, entonces eso simplemente funcionará. De lo contrario podrías
tener que hacer algo como esto. Se puede ver que esta es sólo una clave
de muestra que creé. Es una clave PIM que creé
en AWS y descargué. Si estás confundido acerca cómo las llaves y las
reglas y todo, cómo funciona todo eso. Entonces vas
a querer ver mi anterior video de Amazon para saber cómo hacer esto en
Amazon en general, porque si aún no puedes hacerlo
manualmente en Amazon, va a ser difícil
hacerlo de manera automatizada tipo de todo va
a parecer magia. De todos modos. Se puede ver que ahora
estamos sentados en este host, IP privada. Sí, puedes hacer algo
como si un hacha estuviera corriendo. Sé que es porque el aún criminal hacer esta
parte del nombre del servicio. Yo creo. Se puede ver. Así que al igual que este arrancarlo, se
puede ver el pool de PHP f Pm llamado tutorial Linux
está configurado. Entonces esto básicamente está funcionando. Podemos ver el
sitio de WordPress si editamos ETC. Anfitriones que les guste, en realidad, no
creo que
funcione porque tutorial Linux.com usa hs ts, por lo que insistirá en HTTPS de
todos modos, cuento largo. Esto ahora sería una
literalmente solo una nueva instalación de
WordPress ejecutando todas
las cosas que configuramos, algo así como lista para
configurar y listo. Entonces esto es realmente el, el,
todos los comandos manuales se están ejecutando a lo largo del curso
cuando lo estás aprendiendo. Con una hermosa y dulce instancia de
WordPress, lista para que configures tu sitio mientras
ejecuta un servidor de WordPress, pero para que realmente
configures el sitio de WordPress en. Y sí, es una buena manera de
simplemente empacar esto en posición vertical. Y cuando quieras, no
sé, ya no quieres
lidiar con esto. Acabas de terminar la instancia
y todo desaparece. Obviamente, una vez que tienes sitios
que están configurados en esto, quieres ser como snapshotting la instancia y no solo
terminarla, ¿verdad? Porque esos son tus
sitios que se ejecutan en él. Pero sí, es un buen tipo
de flujo de trabajo de desarrollo. Y el hecho de que solo puedas usar Packer
rápidamente
así dentro unas pocas 100 líneas para incluir
todos los scripts de configuración, para tener una pequeña imagen fresca que es solo una especie de
siempre disponible para ti. Guardo esto por ahí
solo para probar. Lo guardo alrededor para verificar si a alguien le gusta
informa que hay un bicho. Por lo general no es un bicho y es como si se
confundieran con algunas
de las instrucciones. Entonces simplemente usaré básicamente la última imagen o lo que sea. Simplemente cambiaré
la imagen de origen para que sea lo que estén usando. ver un poco si es solo uno, solo un problema de imagen o normalmente
es como un gran problema. Entonces espero que eso sea divertido. Y espero que eso te
dé alguna idea de una de las formas en que
puedes extender esto, hacerlo más grande, hacerlo más
profesional, automatizado? Sí. Si conoces cosas
como Terraform o CloudFormation o tienes algún flujo de trabajo de DevOps en el trabajo. Al igual, espero que esto te ayude a
ver cómo vas de un manual. Al igual que, Oh, solo estoy scripting
esto mientras lo estoy averiguando y trabajando
en ello comando por comando. Cómo pasar de eso a una compilación repetible como a
través de Packer a una pieza de una tubería más grande donde
todo lo que necesita para hacer referencia es un ID de AMI son realmente la última imagen que se
llama cierta cosa. Si eso es, es una linda manera de
abstraer todo esto. Entonces espero que eso sea útil
y te veré en la siguiente pieza.
13. Documentación de Packer y flujo de trabajo de desarrollo: Hablemos de cómo
navegar por los sitios web del empacador, específicamente la
documentación, para que
puedas enseñarte a
pescar después de este curso. Ahora te he mostrado
un tipo
de introducción muy específico y se trata
específicamente de AWS. Es muy específico para
bien, no tan específico, pero es específico al
proyecto que hicimos, que es esto de hosting de WordPress ,
lo que necesitas para ellos. Hay muchas otras cosas
que puedes hacer con Packer. La forma general, siempre
va a ser así. Y eso es lo que
realmente me gusta las herramientas de
HashiCorp es que son herramientas
afiladas de la forma en que muchas de Linux y Unix son
herramientas afiladas. Hacen una cosa,
lo hacen muy bien. Son flexibles
por lo que puede tipo de tiempo junto con otras
herramientas como sea necesario. Y creo que en el sitio de
HashiCorp Lauren, Es un buen lugar para mirar poco más de
uso de la vida real para Packer. Por lo que hemos cubierto muchas de
las cosas en la pista de AWS. Pero si quieres
construir imágenes de Docker como Packer puedes hacer eso. Si quieres construir
en una Nube diferente, GCP, Azure, ese tipo de cosas. Es posible que desee hacer eso usando Packer con
otras herramientas, etcétera. Pero puedes navegar por
eso por tu cuenta. Lo que te voy a mostrar
es Packard io slash docs. Este es, creo que el,
el lugar en el que
paso el tiempo cuando
en realidad solo estoy construyendo
un proyecto empacador. Todo lo que
vas a necesitar está aquí. Estos documentos son fantásticos. Al igual que ¿cómo quieres
conectarte a tu máquina? ¿ Fuentes de datos? Vas a pasar mucho
tiempo en abastecedores. Sólo quiero que sepas
que estas cosas están aquí. Y como cuando estás perdido, como digamos, Oh,
olvidaste cómo transferir archivos. Algo que hacemos en este
curso unas cuantas veces. Bueno, solo ve al archivo
aprovisionadores y obtendrás algunos ejemplos. Ahora estamos usando HCL solo
porque es mucho más limpio. Pero Jason, tal vez
quieras eso por compatibilidad
con otra cosa, alguna otra parte de tu
pipeline o lo que sea. Esto le da un ejemplo
del uso real y
de los documentos requeridos. Un parámetro opcional,
explica todo en detalle, da muchos ejemplos de cosas
específicas de casos de uso. Yo sólo quiero que lo
sepas. Estoy dando explicaciones
muy sucintas para que entiendan cómo
funciona una cosa en el contexto de este proyecto que
estamos haciendo aquí. Pero obviamente hay
más en los muelles y no
estás gastando tu tiempo para oírme leerte los documentos. Solo quiero que sepas
que estas están aquí y que
deberías estar usando esto. Es completamente normal que
tu flujo de trabajo mientras estás construyendo tu propio proyecto
Packer sea, tener esto abierto en una pestaña, y luego tener tu
proyecto Packer abierto en otra pestaña. Y así es como
lo estás trabajando en ello. Estás como, bien, así que
busqué lo del archivo. Pues ahora puedo escribir mi provisión de
expediente o aquí, y ahí vas. Basado en, basado en lo que
aprendiste de los documentos. Eso es algo que
estaremos usando mucho más allá del material en este curso. Y espero que eso te
haga empezar para el uso futuro que
vas a tener cuando no estoy aquí para agarrarte de la
mano a través de un proyecto.
14. Plugins útiles para embalar: Hablemos de plugins Packer. Hasta ahora has usado plugins
Packer en este
proyecto que son constructores, pero hay otros
tipos de plug-ins como fuentes de datos y
comúnmente post procesadores. Y la idea es que un plugin es realmente una
forma de encapsular una mini aplicación separada
que sabe hacer una cosa. Por lo general comunicarse con
una plataforma para crear una imagen es hacer la cosa. Entonces en el caso del proyecto de ejemplo de
Amazon, en el caso del
plug-in y constructor de Amazon. Entonces lo que ves en eso, ese bloqueo fuente en
nuestro código que usa el generador de Amazon EBS y eso te lo da
el complemento de Amazon. Y por qué no
sólo miramos eso. Y luego también veremos
algunos otros que creo que
son interesantes o comunes, populares y que o bien
te encontrarás con querer usar, y simplemente
te darán una idea de cómo funciona esto. Entonces estoy en el tipo de plugins, no
conozco el
sitio de directorio docs en Packer.io. Y si miramos
solo la visión general de los constructores en el plugin
Amazon EC2, puedes ver que este es
el que estamos usando, ¿verdad? Así que desde este plugin, este
es el que estamos usando, pero tenemos otras cosas
disponibles para nosotros como podríamos tener como
una tienda de instancias, AMI, este uso, cada uno de estos
te mostraré el formato solo quiere, que es como, te dará un ejemplo de cómo usarlo. Describirá las cosas
y luego se
mete en el tipo de argumentos
que esto espera obtener, variables de
entorno que busca, ese tipo de cosas. Entonces para Amazon, creo que las cosas
interesantes a mirar, obviamente el constructor de EBS,
que estamos usando. La importación de Amazon para un
postprocesador es otra cosa. alguna manera te consigues
gratis con esto. Si tal vez estás usando una compilación diferente o
para producir algo que produzca un OVA. Puede
traer esto a Amazon haciendo que este postprocesador lo
convierta a una AMI definitivamente es
útil a veces. Secrets Manager, creo que una de esas cosas que va
cuando se va de nuestro ejemplo, nuestro sencillo
proyecto de ejemplo para este curso. Y luego adaptas eso
al mundo real. Una de las primeras
cosas que cambia es el tipo de fuentes de
datos externas que necesitas. El hecho de que no puedas, no
puedes ser simplemente como barajar un montón
de textos sin formato, como material clave alrededor y como
comprometerlo con repositorios. Así es como suceden las cosas malas, y así es como
tu equipo de seguridad igual que se
gana la vida ****. Entonces vas a querer básicamente
tener
una forma de meter secretos en tu plantilla
Packer. Esencialmente tu Packer construye, y este es un
mecanismo en Amazon. Obviamente hay análogos en Google
Cloud on, creo que incluso Digital Ocean
tiene una cosa secreta ahora. Obviamente Azure, etcétera. Todos van a tener
un mecanismo como este. Y claro que todos
van a ser ligeramente diferentes, pero en gran medida similares. Y así es como los
usarías. Creo que es
interesante mirar a otros proveedores de Cloud, constructores de
AMI esencialmente,
o constructores de imágenes. Por lo que siempre
empezaría por el
concepto de alto nivel en la visión general, poco averiguar
lo que estás haciendo. Y luego o, como queremos que Azure Resource Manager construya y luego capture una imagen. Ahora que sabes lo que
quieres, indagas aquí, miras, vale,
¿cómo se
autentica esta cosa ? ¿Qué necesito? ¿ Cómo lo hacemos, cómo le
gusta la gestión de identidades
y la gestión de acceso
fuera de la administración. ¿ Qué cosas necesita? Parámetros o atributos requeridos y opcionales. Sandwich ECP otra vez,
ves es como un tipo muy similar de invocación se quedará un
poco más alto nivel en la siguiente es que no
quiero que esto se alargue demasiado, pero me gusta Digital Ocean, así que aquí les voy a dar
un grito. Otra cosa que
veo aquí que es
interesante es más oscura. Creo que esta es una de las
que tendrás mucho uso porque creo que esto
habla de lo flexibles que hacen
estos plugins a Packer porque todas
las cosas de empacador que has aprendido siguen siendo buenas. Entonces si algún día a tus
empresas les gusta, bien, no más VM como nosotros
vamos llenos, no sé, nómada Kubernetes, todo va a ser
una imagen de contenedor ahora. Eso está bien. Puedes, puedes reutilizar
muchas de tus cosas y solo tienes que hacer que la salida sea
una imagen Docker en su lugar. Es decir,
obviamente vas
a querer adelgazar esa imagen. A nadie le gusta un 600 meg, como una imagen base B12. Pero incluso si vas a alpino
o algo más delgado, es como si aún pudieras
usar el mismo proceso y el mismo flujo de trabajo y
encaja de la misma manera. Y es como si
no lo fueras, no es un proyecto gigante de Greenfield que aún tiene un 100 bugs que eres suficiente para
pasar antes de que funcione. Solo va a ser un constructor ligeramente diferente que espera entradas ligeramente
diferentes, tiene
salidas ligeramente diferentes para aquellos de ustedes que usan Chef ansible
Config Management, poco software más tradicional. Hay plugins para eso. Entonces, si ya has
escrito un montón de ansible, puedes reutilizar todo eso. Ansible. Al igual que no necesitas
convertir nada, solo
usas tus libros de jugadas
existentes. Tráiganlos y envuélvalos en
este flujo de trabajo. De nuevo, es como si tu
flujo de trabajo se conserva, tu flujo de trabajo es consistente. Y luego puedes tener a
Packer llamando a diferentes herramientas que en realidad
están generando el tipo de no
tiene que ser todos scripts
bash como en
nuestro ejemplo aquí. Hazlo todo con Ansible y
solo conviértalo un poco, envuélvelo en Packer, y luego aprovechar
esa potencia que Packer te da para
darte un montón de salidas
diferentes son
artefactos fuera de eso. Una más que creo que es genial
es conseguir como fuente de datos. La fuente de datos le permite básicamente obtener
fuera de un repositorio y luego tener cierta granularidad con como cómo navega eso
a lo que necesite. Espero que sea una introducción
rápida útil a los plugins Packer. Espero que entiendas que
lo que todas estas cosas es
que el plugin es en realidad envolver juntos para ti y abstracta de distancia para que
no tengas que lidiar con ello. Aquí adentro. En estos plugins. Todo es como llamadas API sin procesar contra estos proveedores de Cloud, hacer esto, luego
hacer esta otra cosa. De acuerdo, si eso falla,
maneja el error de alguna manera. Es como millones de líneas de código aquí que
no necesitas escribir. Realmente tratar este menú de la izquierda
aquí así como un menú. Mirarás hacia abajo, verás
qué se ve sabroso, lo que tengas que hacer,
lo que sea que intentes hacer,
y los usarás para
armar el tipo de construcción
o artefacto que necesitas.
15. Instrucciones de proyecto del curso: Todos, una
palabra rápida sobre proyectos. Creo que obviamente
te he caminado a través de un proyecto, pero creo que el siguiente paso ahora
que tienes lo básico de Packer es crear un proyecto
propio desde cero, no seguir junto
con el tutorial, no mirando el código de otra
persona. Eso está bien para aprender lo básico de algo, pero eso ya lo has hecho. Entonces, ¿a dónde vas desde aquí? Te sugiero que hagas un proyecto de la vida real para
mirar verdaderamente cementar esta habilidad y este conocimiento en
tu mente y para que esté listo para usar en entrevistas en la vida real para hacer tu propia vida
más fácil, tu trabajo. Voy a
dividir esto en dos categorías. Básicamente, si eres
principiante en general, eres más
ingeniero junior en general. Y si eres más avanzado en
ingeniería general. Y este Packer de aprendizaje fue como
la guinda de un pastel. Eso ya es bastante bonito. Simplemente comparó la educación
en
ingeniería con un pastel, creo que tengo hambre. Entonces si eres principiante,
una de las primeras cosas que
te sugeriría hacer es si te sientes como no súper seguro de que
podrías hacer lo te
mostré en este
curso desde cero. Entonces sugeriría
seguir adelante, lo
siento, en lugar de
seguir adelante, le
sugeriría que básicamente elimine el directorio de
empacadores y luego intente recrear ese proyecto
de empacador de scratch, dado el contenido en el
resto de ese repositorio, que es del curso
práctico de Linux, si eso tiene sentido. Así que borra el
directorio del empaquetador, básicamente, haz uno nuevo, y luego empieza
a portar
todo de nuevo, tipo de pieza por pieza. Mira cada uno, todos los comandos que se ejecutan
manualmente, conviértelos en scripts. Toma esos scripts y
úsalos en tu proyecto Packer. Averigua cómo
conseguir que se embotellen, averiguar cómo
empaquetarlos y conseguir carguen a su máquina virtual y
luego tipo de ir de ahí. Entonces especie de recrear este
proyecto desde la memoria. Y luego tienes el contenido
justo frente a ti,
pero vuélvelo a convertirlo en
un proyecto de empacador. Eso es lo que recomendaría
para principiantes absolutos. Creo que aprenderás mucho
porque muchas veces después de
pasar por tutorial, estás como, Oh, lo
entiendo totalmente. Pero entonces si alguien es
como, genial, muéstrame con no
sin mirar el tutorial y la
gente no puede hacerlo. Es como que muchas veces incluso solo entender algo
en el momento no es mismo
que conocerlo verdaderamente profundamente y
poder aplicarlo prácticamente. Así que llévate
ahí como principiante. Una vez que hayas hecho eso o si ya
estás empezando desde un lugar de
ingeniería más avanzado. Y lo que hicimos, como, agregó una nueva habilidad, pero ese nuevo empaquetador de habilidades es como el 1% de lo que
sabes sobre tecnología. Genial. Creo que todavía necesitas también un proyecto práctico en solitario
que no estás haciendo a partir de una plantilla o del trabajo de otra
persona que
estás averiguando tú mismo, resolución de problemas por
ti mismo. Si eres más avanzado, te
recomendaría algunas cosas. Si vives en un
mundo basado en VM y quieres
continuar lo que hicimos en este curso como imágenes de
máquina encendidas ,
bueno, hicimos Amazon pero
podrías hacer Azure, Google. Ya sabes, el proceso es
más o menos el mismo. Construye una imagen
de máquina a partir de otro
proyecto de código abierto que disfrutes. En este curso, estamos
hablando de WordPress como el tipo de proyecto de código
abierto con el que estamos
empaquetando y haciendo cosas. Pero hay un
millón de
proyectos de código abierto que son interesantes, hacen todo tipo de cosas
diferentes. Las aplicaciones web tienden
a ser un poco tienen esa complejidad de muchas cosas que
se configuran en una imagen. Pero podrías hacer
otras cosas también. Podrías hacer cosas como mumble si quieres
tener un tipo reutilizable de imagen
como Team Chat Server, hay algunas. Simplemente elige si estás
razonablemente avanzado, supongo que tienes
alguna idea de qué herramientas y
proyectos de código
abierto hay por ahí. Lo que podría ser divertido solo para alojar y luego construir una imagen
de máquina alrededor de eso. Si ya vives en un mundo
de ojos más oscuros, encuentra algo que no sea ojos
más oscuros en tu trabajo o incluso un proyecto de código abierto y conviértalo en
una imagen de Docker, ¿
verdad? Entonces contenerizalo. Sí, puedes crear lo
tuyo propio y
convertirlo
en un archivo Docker oscuro en su propio proyecto y luego ejecutar las
herramientas de compilación de Docker y todo eso. Pero al igual que Packer puede hacer todo eso y un montón más. Lo bueno de
empacador es
que hace que ese puente sea realmente fácil, ¿verdad? Si tienes, si
ya tienes tipo de automatización o documentación sobre pasos
manuales y
bla, bla, bla. Simplemente puedes reutilizar todas esas cosas,
meterlas en Packer
y decirle a Packer que tu salida debe ser una imagen de Docker. Eso es lo que
recomendaría para gente
más avanzada, encuentre de nuevo, algo ya sea de
código abierto o en su trabajo y use algunas de esas
otras características. Podría ser más oscuro,
podría ser otra cosa, pero solo explora lo Packer puede hacer que sea
práctico para ti. Eso es realmente
interesante para ti. Y hazlo en una aplicación
que te
interese levemente o en la que tengas que
trabajar de todos modos. Sí, espero que eso te dé algunas ideas para proyectos
que puedas hacer. Eso lo entiendo. Eso significa que tal vez
no puedas
mostrar si estás trabajando en tus propias empresas como cosa de código
cerrado y creas un proyecto de
paquetes para ello. No lo subas y muéstrame por favor respeta las cosas de
confidencialidad. Pero si lo haces para un proyecto de
código abierto, entonces simplemente crea un proyecto, súbalo a tu
propia cuenta de GitHub y siéntete libre de compartirlo. Creo que todo el mundo estaría
bastante emocionado de ver eso. Sólo para ver más ejemplos de Packer siendo utilizado de más maneras. E incluso podría
ser capaz de obtener retroalimentación
positiva y constructiva de gente sobre cómo
mejorarlo aún más. Eso es
todo para todos allá afuera. Si ves proyectos de otras
personas, sé amable, sé constructivo. No tienes que comentar, no
tienes que dar consejos. Todos seguimos
aprendiendo, así que sé amable. De acuerdo, eso lo
concluye para b, lo que creo que debes hacer como proyecto práctico,
deja que eso se filtra,
deja que eso se hunda en tu
cerebro y simplemente empieza a navegar por
proyectos de código abierto y ver si alguna de esas
cosquillas, su fantasía.
16. Conclusión: Enhorabuena. Ya has visto cómo es un proyecto
Packer de la vida real . Y te he llevado a través
del proceso que tomé para descomponer un problema del mundo real
en un proyecto de empacador, específicamente una
plantilla de Packer y tipo de cómo pasas de
tener un montón de cualquiera de los manuales o tipo de
componentes de automatización como scripts. Toma esos y ponlos en el mundo del empacador y forma
de pensar las cosas. Espero que de inmediato tomen este nuevo entendimiento y conocimiento y lo pongan a
trabajar en su propio proyecto, un proyecto que
no he presentado para ustedes. Creo que esa es la manera de
cimentar este conocimiento y tipo de llevarlo
al siguiente nivel y realmente tenerlo realmente durablemente en tu cerebro para
que, ya sabes, para cuando
surja un problema o cuando ocurre una
entrevista de trabajo,
esas cosas son lo
más importante y solo tienes este conocimiento intuitivo
del proceso y cómo
lo atraviesas, y cómo analizas
el problema y
lo desglosas y en realidad crear los artefactos técnicos que son un proyecto de empacador este
curso ha sido divertido. Por favor. Si lo disfrutaste,
por favor deja una reseña. Si no lo hiciste, solo
envíame un mensaje o deja un comentario sobre el QA pidiendo las mejoras
que te
gustaría que se le hicieran. Definitivamente estoy planeando
trabajar en este curso un poco
más si hay podrías recepción y si
sentías que
faltaba algo o te
gustaría que se añadiera una sección o algo aclarado,
por favor solo dígame. Estoy feliz de reemplazar los
videos por unos que son más claros para ti y tal vez
agregar algunos nuevos también. Si tienes
curiosidad por algo que no entré en profundidad. Nuevamente, ha sido un
placer hacer esto. Espero que le saquen
algo. Y espero verte en canales de
YouTube,
tutorial Linux. Y hago cosas como
esta, pero gratis, o supongo que en Udemy
y mi otro curso, práctico en Linux, donde paso por tu
proyecto de hosting de
WordPress para enseñarte
los conceptos básicos de Linux, específicamente en la administración de
sistemas Linux, diviértete en tu viaje. Te veré por ahí pieza.