Transcripciones
1. Introducción 2: hola y bienvenidos a este curso sobre fundamentos responsables. Mi nombre es Mamá, Schattman, Lambeth y yo trabajo como arquitecto de soluciones. He estado usando responsable para la automatización en mis soluciones. Y es una gran herramienta que es fácil y te puede ahorrar mucho tiempo. Esta es una guía manos en manos de principiante para responder. Cuando empecé a aprender responsable primero, todo lo que pude encontrar cuál es la documentación responsable que revisaremos. Y tuve que tener acceso a un sistema con responsable instalado en él para hacer y entender diversos conceptos. Algunos de los conceptos tardaron un poco de tiempo en moverme. Por lo que armé esta causa para el principiante absoluto. Realmente no necesitas tener acceso a un sistema con bailable o un ambiente configurado para solo responsable. Bueno, siempre
es bueno tener, y yo recomendaría encarecidamente establecer un sistema real para poner en acción tus conocimientos. Pero lo que estoy tratando de decir aquí es que este curso proporciona ejercicios de codificación donde
estarás desarrollando playbooks responsables justo en tu navegador, y vamos a probar para ver si se hacen bien, así que es literalmente manos y una gran forma de empezar a aprender respondible. Entonces, ¿cómo funciona exactamente este curso? Este curso contiene conferencias sobre diversos temas, seguido de algunos ejercicios de codificación donde practicará la escritura de playbooks responsables. Estarás desarrollando playbooks Ansel para diferentes casos de uso, lo que te dará una bastante buena idea de cómo empezar a desarrollar usando, respondiendo, y hacer un montón de cosas en poco tiempo y hacer más tu trabajo y colaborativo. Entonces, ¿qué vamos a cubrir en este curso? Empezaremos entendiendo qué es responsable y qué puede hacer. Esto es para quienes no tienen idea de lo que es responsable y lo que puede hacer por nosotros. Por lo que pasaremos algún tiempo entendiendo que vamos a pasar por cómo configurar responsable en su entorno. Esto es sólo si desea configurar responsable. Ahora puedes saltarte esto y tenía directamente en desarrollar libros de jugadas. Y más tarde, cuando tengas la suficiente confianza, vuelve y mira esto otra vez. Entonces comenzaremos con una introducción a Yam Oh,
porque sí, porque sí, Mo es el lenguaje de codificación para responder todos los libros de juego contabilizables están escritos en Yamma. Si ya trabajaste con la munición, siéntete libre de saltar por encima de ese modelo. Si no, ensuciate las manos. Con algunos ejercicios sobre Yemen, luego
nos dirigiremos a responder, inventar REFILES, playbooks y diversos conceptos como variables, condición, ALS, loops y rollos. Además, hay muchas manos en ejercicios de codificación, por lo que practica la práctica en la práctica. Entonces, ¿por qué responder en este apartado? Vamos a discutir sobre qué respuesta va a facilitar y qué puede hacer por ti. Si ya sabes lo que la respuesta cree y estás aquí para algunos ejercicios de codificación, siéntete libre de saltarte esta conferencia porque en esta sección, vamos a discutir responsable a un nivel muy básico para entender qué es y qué puede hacer por ti. Entonces, empecemos ahora. Si fueras ingeniero de sistemas o administrador de I T o simplemente cualquiera trabajando en I t Probablemente
estuvieras involucrado en hacer muchas tareas repetitivas en tu entorno, ya sea dimensionar y crear nuevas mangueras o lavadoras todos los días, aplicándoles configuraciones, parcheando cientos de servidores, migraciones, implementando aplicaciones o incluso realizando auditorías de seguridad y cumplimiento. Toda la tarea muy repetitiva de la misma implica la ejecución de cientos de comandos en cientos de servidores
diferentes mientras se mantiene la secuencia correcta de eventos con reinicios del sistema en medio y lo que la gente no inteligente desarrolló scripts para automatizar estas tareas, pero eso requiere habilidades de codificación y mantenimiento regular fuera de los guiones y mucho tiempo para armar estos guiones en primer lugar. Ahí entra en juego el responsable. Respuesta es un potente dedo del pie de automatización I T que puedes aprender rápidamente. Es lo suficientemente simple para todos en I t pero lo suficientemente potente como para automatizar incluso los despliegues más complejos. Echemos un vistazo a un caso de uso sencillo. Imagina que tienes una serie de hosts en tu entorno que te gustaría reiniciar en un orden
particular. Algunos de ellos son servidores Web, y otros son servidores de bases de datos. Por lo que le gustaría apagar primero los servidores Web, seguido de los servidores de base de datos que encender los servidores de base de datos y luego los
servidores Web . Podrías escribir playbook sin respuesta para hacer esto en cuestión de minutos y simplemente invocar el playbook responsable cada vez que desees reiniciar tu aplicación. Echemos un vistazo a un ejemplo complejo. En este caso, estamos configurando una infraestructura compleja que abarca toda la nube pública y privada y cientos de EMS gratuitos con bailable. Podrías Prohibición V EMS en nubes públicas como Amazon y libertad condicional. privada en nube privada configurada como si fueran infraestructura basada y pasar a configurar aplicaciones en esos sistemas y configurar comunicaciones entre ellos. Hay una gran cantidad de módulos construidos disponibles en responsable que soporta este tipo de operaciones. Para empezar, el mejor lugar para empezar a aprender respondible es el sitio web de documentación de Answer Bill. Las páginas de documentación responsable son exhaustivas y contienen toda la información necesaria para comenzar con bailable, y hay cientos de ejemplos fuera de playbooks en estas páginas. Familiarizarse con el sitio web de Documentación Responsable en oscuro. Iniciar punto contestable com. Contiene información sobre la configuración e instalación, contabilizables diversos conceptos, mejores prácticas, información sobre diferentes módulos y guías sobre temas avanzados como el desarrollo de
módulos personalizados , estrategias personalizadas, etcétera,
2. Inventario: responsable puede trabajar con uno o varios sistemas en su infraestructura al mismo tiempo, con el fin de trabajar con múltiples servidores, necesidades
responsables para establecer conectividad a esos servidores. Esto se hace usando Ssh para Lennox y Power Shalrie Moting para Windows. Eso es lo que hace listas de agentes contestados. Agente menos significa que no es necesario instalar ningún software adicional en la
máquina de destino para poder trabajar con un símbolo responsable. conectividad Ssh saldría a la superficie responsable. Snead. Una de las principales desventajas de la mayoría de otras herramientas de orquestación es que se le requiere configurar un agente en los sistemas de destino antes de poder invocar cualquier tipo de automatización. Ahora, la información sobre estos sistemas objetivo se almacena en un archivo llamado In Wintry File. Si no crea un nuevo archivo en invernal responsible utiliza tres predeterminados Invent Refrijo, ubicado en E. T. C. Anfitrión Responsable. Echemos un vistazo a una muestra en fuego mental. El archivo de inventario es una plancha me gusta el formato. Es simplemente un número fuera de servidores listados uno tras otro. También puedes agrupar diferentes plate's juntos definiendo grupos, ingresando el nombre del grupo entre corchetes y definiendo la lista de servidores parte de ese grupo en las siguientes líneas, puedes tener varios grupos definidos en un solo en archivo de árbol de los hombres. Esto es especialmente útil cuando estás realizando diferentes operaciones en diferentes grupos de servidores. Digamos que tiene un set off observadores donde desea instalar un servicio PD de la ciudad y un servidor Web
Conficker, y tiene un conjunto separado de servidores,
que son servidores de base de datos donde le gusta instalar y configurar base de datos. En estos casos, puede dirigirse a diferentes grupos fuera de servidores a la vez, utilizando los grupos que defina en el archivo de inventario. Echemos un vistazo más profundo a los archivos de inventario. Por ejemplo, tengo una lista de servidores nombrados del 1 al 4. No obstante, me gustaría referirme a estos servidores en responsable usando un alias, porque actualmente está definido con su UPN EFC. Pero necesariamente quiero decir no saber el propósito de la plata Mirando a la F Guardián. En tales casos, podríamos usar un alias para describir si el servidor es un servidor Web o un servidor de base de datos. Podría hacer esto agregando un alias para comer servidor al principio de la línea y
asignando la dirección fuera del servidor para responder subrayará Host Perimeter Responsable Subrayado Host es un perímetro de inventario utilizado para especificar el F Cody en o I p dirección fuera del servidor. Existen otros parámetros de inventario a algunos de los otros inventarios clave. perímetros son responsables, conexión, puerto
responsable y usuario sencillo y responsable. Ssh! Pase conexión responsable es lo que define cómo se conecta responsable con el objetivo. Silver, como comentamos en la diapositiva anterior, ¿esta es una conexión ssh con Aalen X sobre o un ganador en conexión a un windows over? Es así como definimos si el host objetivo que deseamos conectar a avellanas o a un host de Windows . También podría decírselo al host local para indicar que nos gustaría trabajar con host local y no conectarnos a ningún host remoto. Si no tienes varios servidores con los que jugar, simplemente
podrías empezar con un host local en orina. Archivo mentalmente. Puerto Responsable define a qué puerto conectarse de forma predeterminada. Se dice al puerto 22 para la edad SS, pero si necesitas cambiar, puedes configurarlo de manera diferente. uso del perímetro de puerto responsible usuario responsable define el usuario utilizado para realizar una
conexiones remotas de forma predeterminada. Esto se dice que raíz para las primeras máquinas próximas. Si necesita cambiar esto, defina como se muestra aquí. Responsable. Ssh! Desafío pasado La contraseña ssh para Lennox. Ahora debes estar pensando, si almacenar contraseñas en formato de texto plano es ideal, bueno, definitivamente no
es muy idea, y responsable tiene una solución para ello. Busca respuestas. Vault en la documentación responsable para ver cómo puedes almacenar de forma segura tus contraseñas básicamente responderá. Vault utiliza el cifrado donde estarás cifrando tus archivos de inventario o cualquier otro archivo almacenando tus contraseñas o cualquier dato seguro usando una carrera de pase para que básicamente puedas cifrar tus archivos usando mundo responsible. Y cada vez que ejecutes tu playbook, ingresas la frase de pase y descifra a Stofile responsible y lee la contraseña de esos archivos. Entonces esa definitivamente es una opción segura. Y busca más al respecto en el sitio de documentación responsable. Así que adelante a los ejercicios de codificación e intenta crear algunos en archivos mentales. Nos apegaremos a lo aprendido hasta ahora y crearemos REFILES inventados en su formato básico. Hay diferentes formas de operar en archivos invernales y diferentes maneras de definir variables como lo que acabamos de ver definir variables si en el archivo de inventario final. Pero esa no es una mejor práctica. Hay otras formas de salir de definir variables, que veremos con más detalle en una de las próximas conferencias. Entonces, por ahora, apegémonos a lo básico. Demos pasos de bebé. Así que adelante y crea algunos muestreos, archivos
invernales y los ejercicios de codificación.
3. Libros de reproducción: playbooks responsables. Nuestra respuesta. Orquestación de Bols, lenguaje. Es en los libros de juego donde definimos lo que queremos que haga responsable. Se trata de un conjunto de instrucciones que das respondible para trabajar su magia. Entonces, por ejemplo, puede
ser tan simple como ejecutar una serie de comandos en diferentes servidores en una secuencia y reiniciar esos servidores en un orden particular. O podría ser tan complejo como implementar cientos fuera de VM en las historias de aprovisionamiento de
infraestructura de nube pública y privada para ser EMS, configurando sus configuraciones de red y clúster. Configurar aplicaciones en ellas, como un servidor Web o base de datos. Silver configurando equilibrio de carga, configurando componentes de monitoreo, instalando y configurando clientes de backup y actualizando la base de datos de configuración con información sobre los nuevos viens. Echemos un vistazo más profundo a cómo se escriben los libros de juego. Recuerda, todos los libros de juego están escritos en formato Yamil, razón por la
cual pasamos algún tiempo antes. Mancharse las manos con yamma un libro de jugadas es un solo archivo Yamil que contiene un
lugar de set off . Se juega define un conjunto de actividades o tarea que se ejecutará en un solo o un grupo de host en tarea. Se trata de una sola acción a realizar en un anfitrión. Algunos ejemplos fuera de él preguntan, son ejecutar un comando o script en la manguera, instalar un paquete en el host o realizar un apagado o una operación de reinicio en el host. Echemos un vistazo a un libro de jugadas real. Aquí se muestra un libro de jugadas de símbolos que contiene una sola obra llamada Play one. El objetivo de esta jugada solía correr un conjunto de actividades, una tras otra en el anfitrión local. Recuerda que el anfitrión que quieres ejecutar estas acciones está definido a nivel de jugador. En este caso, sólo
queremos probar en el host local, razón por la
cual se establece en host local. Esto podría ser cualquier cosa de tu archivo de inventario. Entonces básicamente, en juego es lo que define qué acción quieres hacer en qué anfitrión todas las tareas enumeradas bajo este juego en particular se ejecutarán contra esos anfitriones. Y esa manguera podría ser cualquier número de anfitriones, o, en este caso, es solo un anfitrión local. A continuación ejecutamos un conjunto de comandos, uno tras otro en el host. Primero imprimimos la fecha, luego ejecutamos un script en la plata, seguido de instalar el paquete ace to TPD, utilizando el modelo joven y finalmente iniciando el servidor Web utilizando el modelo de servicio. Ahora bien, si no entiendes qué hace exactamente cada una de estas tareas y cómo se define, no te
preocupes. Vamos a echar un mejor vistazo a cada uno de estos en unos minutos. Pero por ahora, solo
quería darte una idea de cómo se ve un libro de jugadas responsable en particular. Echemos un vistazo a este formato de playbook de muestra y tratemos de relacionarlo con lo que aprendimos en la sección
Amel antes hemos hecho un cambio menor y dividir la lista de tareas en dos
lugares separados . El archivo Amel, que es nuestro libro de jugadas, contiene una lista fuera a colocar. Esto lo señala el guión, por lo que el guión indica que es un ítem de la lista, por lo que el playbook es una lista fuera de diccionarios. En términos de Yanal, cada jugador es un diccionario y tiene un conjunto de propiedades llamadas nombre host y tareas. Recuerda, estas son propiedades fuera de un diccionario, y así el orden realmente no importa. Entonces, aunque cambies la posición fuera de nombre y anfitrión, sigue siendo una jugada válida. No obstante, esto no es lo mismo para tarea. El trabajo, como se puede ver, es una lista como denotan los guiones. Las listas se ordenan cobranza, por lo que importa la posición fuera de las entradas Si detiene la posición de las entradas aquí, estamos instruyendo a responsable que inicie primero el servicio Web antes de instalar el servicio hit City PD, que no es una solución deseada. Por lo que el formato yamma es clave. Al desarrollar playbooks, debes prestar especial atención a la sangría y estructura de este archivo. El perímetro del host indica en qué hosts desea ejecutar estas operaciones. Recuerda, el anfitrión contra el que quieres realizar estas operaciones siempre se establece a nivel de jugador. Actualmente, esto es para host local, lo que significa que todas estas acciones enumeradas bajo la tarea se van a realizar en el host
local. Podría tener cualquier host o grupos especificados aquí, pero debe asegurarse de que el host o grupo se defina primero en el archivo de inventario recreado anteriormente. El host, definido en el archivo de inventario, debe coincidir con el host utilizado en el libro de jugadas, y toda la información de conexión del host se recupera del archivo de inventario. Ahora no hay regla dura para usar todo el host definido en el archivo de inventario. Podrías elegir uno o varios o un grupo o varios grupos del archivo de inventario en la placa, pero realmente no tienes que usarlos todos. Cualquiera que sea el anfitrión que tengas que encontrar en la obra, el libro de juego debe definirse en el archivo de inventario. De lo contrario, no se va a correr. Veamos qué es un módulo. A las diferentes acciones que se ejecutan por tarea se les denomina modelos. En este caso, script de
comando. Yum y servicio son todos módulos responsables. Hay cientos de otros módulos disponibles fuera de la caja. información sobre estos módulos está disponible en el sitio web de documentación responsable, o simplemente podría ejecutar el comando hashtag responsible dash L en su sistema responsable Para familiarizarse con la estructura básica de playbook en los próximos ejercicios, simplemente necesitas conocer el módulo de comando. Posteriormente,
en el siguiente apartado, pasaremos por algunos otros módulos básicos con más detalle. Si miras el módulo de comandos, verás que simplemente podrías especificar el comando que deseas ejecutar. En este caso, fecha y responsable ejecutarán ese comando sobre esa plata en particular. Por último, una vez que construyas con éxito. La respuesta jugará libro. ¿ Cómo lo ejecutas? Es muy sencillo. Ejecuta el comando playbook responsable y especifica el nombre del playbook responsable que
acabas de crear. Y eso es todo. Si haces playbook responsible, dash help, conocerás más sobre algunos perímetros adicionales disponibles para este comando. Pasaremos por algunos de ellos en un apartado posterior, así que adelante y ensuciate las manos. Desarrollar algunos ejercicios de codificación de playbooks responsables. Solo vamos a familiarizarte con los libros de jugadas básicos y la estructura de los libros de jugadas. Toda la idea es familiarizarte con cómo juega definido y qué es y cómo arrojado se definen y para entender la diferencia entre ellos, nos enfocaremos en casos de uso más realistas en las próximas conferencias. Pero por ahora nos quedaremos con los fundamentos reales. Así que echa un vistazo a la próxima sección Ejercicios de Codificación y buena suerte
4. Módulos: en esta sección, vamos a ver algunos módulos responsables adicionales con un poco más de detalle. Esto es necesario para que podamos practicar el desarrollo de algunos libros de jugadas más significativos. Los módulos responsables se categorizan en diversos grupos en función de su funcionalidad. Como dije antes, hay cientos de modelos responsables disponibles por lo que están categorizados en algunos de estos módulos del sistema son acciones a realizar a nivel del sistema, como modificar los usuarios y grupos en el sistema, modificar tablas I P y configuraciones de fireball, trabajar con grupos de volúmenes lógicos, montar operaciones o trabajar con servicios, por ejemplo, iniciar detener o reiniciar servicios en un sistema. Los módulos de comando se utilizan para ejecutar comandos o scripts en un host. Estos podrían ser comandos simples usando el módulo de comandos o una ejecución interactiva usando expect respondiendo a problemas. También podría ejecutar un script en el host usando el script. módulos de archivos de Montiel ayudan con el trabajo con archivos. Por ejemplo, usar el A C L Modu para establecer y recuperar una información C l sobre los archivos utilizados los módulos de archivo y
archivo de la ONU para comprimir y desempaquetar archivos uso, encontrar archivo de forro y reemplazar módulos para modificar el contenido de un archivo existente modelos de base de datos ayuda en trabajar con bases de datos como Mongo, DB, Emma's, SQL, my SQL o Post Chris SQL Para agregar o eliminar bases de datos o modificar configuraciones de bases de datos, etcétera. El apartado Cloud cuenta con una vasta colección de módulos para diversos proveedores de nube diferentes como Amazon. Claro, Docker, Gugu, Open, Stack y VM estaban siendo solo algunos de ellos. Existen varios modelos off disponibles para cada uno de estos que permiten realizar diversas tareas como crear y destruir instancias, realizar cambios de configuración en redes, inseguridad y administrar contenedores, data centers, clusters, culto, networking, re arena y mucho más. Y luego hay módulos de Windows que ayudan a usar responsable en un entorno Windows. Algunos de ellos son win copy to copy to copy files. Win Command para ejecutar un comandante en Windows Machine, y hay un montón de otros modelos disponibles para trabajar con archivos en el
sitio web de Windows Creating II s . Instalar un software usando Emma science dollar haciendo cambios en el registro usando TI rígida y administrar servicios y usuarios en Windows. Estos son solo unos pocos módulos en pocas categorías, hay mucho más, y una lista completa se puede encontrar en la oscuridad. Iniciar punto com responsible, junto con instrucciones detalladas sobre cada uno de ellos. Echemos un vistazo a algunos de estos modelos en detalle para entender cómo se pueden utilizar y cómo leer la página de documentación. Empezaremos con módulo de mando. El módulo de comandos se utiliza para ejecutar un comando en un nodo remoto. los perímetros del módulo de mando, tal como
se indica en la página de documentación Aquí se muestranlos perímetros del módulo de mando,
tal como
se indica en la página de documentación. Se muestra un playbook responsable de muestra utilizando el módulo de comandos. Como puedes ver Para usar el modu, simplemente
creas un valor clave. Empareja el nombre del módulo y el perímetro, que es el comando en este caso. En este caso, estamos instruyendo a responsable para ejecutar el comando date en el host, seguido de ejecutar el gato. TTC resuelto o complemento para enumerar el contenido del archivo en caso de que necesitara cambiar directorio. Pero antes de ejecutar un comando, por ejemplo, reescribiré el segundo comando en si forma diferente ahora, eliminando E. T. C del comando cat y configurando change directory prime perímetro a TTC. Esto asegurará que respuesta cambiará Directorio a E. T. C. Antes de ejecutar el comando. Es así como se pasa un perímetro y un valor al módulo de mando. El perímetro crea se utiliza para realizar una comprobación antes de ejecutar el comando. Por ejemplo, este comando para crear la carpeta sólo se ejecutará si la carpeta no existe ya. Los perímetros restantes son autoexplicativos, por lo que los saltaremos. Excepto este aquí mismo llamado forma libre. Esto vale la pena verlo como lo puedes ver en diferentes módulos. Forma libre indica que este modelo toma un comando de forma libre para ejecutarse. Entonces, ¿qué significa eso? No podrás ingresar un perímetro con el nombre de forma libre como cómo acabamos de introducir un CHD IR o crea nuestra entrada de comandos como cat TTC resuelto en Khan para N. K. D. A. R carpeta de slash forward es la entrada de forma libre. No todos los modelos soportan entradas como esta. Por ejemplo, el modelo de copia, que se utiliza para copiar archivos de una fuente a un destino en Lee, toma entrada paramétrica izada y no entrada de forma libre. Entonces, como se puede ver aquí, copiar requiere de un archivo fuente como perímetro SRC y destino como perímetro tst. Otro modelo a tener en cuenta es el módulo de script. El módulo de script ejecuta un script local en una o más notas remotas después de transferirlo para ejecutar un script en uno o cientos de servidores, realmente no tienes que copiarlo a todos los servidores. En primer lugar, responsable se encarga, copiando
automáticamente el script al nodo remoto y luego ejecutándolo en los
sistemas remotos . Esto se hace a través de un juego muy simple que parece que este utilizó el módulo de script y especificar la ubicación del script en la máquina controladora responsable y los argumentos. Echemos un vistazo al módulo de servicio. El módulo de servicio se utiliza para administrar servicios en un sistema como iniciar, detener o reiniciar un servicio. El muestrario y el libro de jugadas civil se utiliza para iniciar diversos servicios en un orden particular. En primer lugar, iniciamos el servicio de base de datos utilizando el módulo de servicio. El módulo de servicio, a diferencia de los modelos anteriores, no tiene una entrada de forma libre, lo que significa que hay que pasar incluir en un formato de par de valores clave. Utilizamos el nombre perímetro para especificar el nombre del servicio que deseamos iniciar en este caso , Post Chris SQL y el perímetro del Estado indica la operación. Nos gustaría realizar en este caso iniciado. Ahora bien, si te preguntas por qué se inicia en lugar de empezar, aferrate a tus pensamientos. Volveremos a eso en un rato. Hay dos maneras de escribir esta declaración. Puedes escribirlo así o escribirlo en un diccionario o formato de mapa como este. Son uno y lo mismo. Recuerda en sí, hitos Nombra y declara nuestras propiedades fuera de un servicio. Entonces si nos fijamos en la diferencia de la izquierda, tienes los parámetros pasados en culo nombre igual a post, Chris SQL y state iguals start. Pero a la derecha, tienes el nombre en estado definido en un formato más yes mo. Y en la siguiente línea como par de valor clave separado por semi colon. Ambos son uno y lo mismo. Añadamos algunas pruebas más para iniciar un servicio CDPD y el siguiente servicio de India. Entonces volvamos a nuestra pregunta sobre por qué se inicia la acción y no se inicia. Si tuviéramos que instruir a responsable para iniciar el servicio, diríamos iniciar el servicio STT PD y no arrancar el servicio un City PD. Entonces, ¿por qué se inicia y no se inicia. No estamos instruyendo a Responsable para iniciar el servicio. En cambio, estamos instruyendo a responsable para que se inicie el servicio STT PD. Eso significa esencialmente si su servicio CDPD no está ya iniciado. Si ya se ha iniciado un servicio de sensibilidad, entonces no hagas nada. Esto se llama impotencia pediría al imputable. Documentación y operación es impotente si el resultado de realizarlo una vez es exactamente el mismo que el resultado de realizarlo repetidamente sin intervenir acciones así iniciadas , paradas y reiniciadas. Acciones instruyen a rendir cuentas para garantizar el estado del servicio. La mayoría de los módulos en responsable son correctos, impotentes y responsables altamente recomienda esto. La idea general es que deberías poder volver a ejecutar el mismo libro de juego. Un responsable debe informar que todo está en un estado esperado. Si algo no es responsible, se encarga de ponerlo en el estado esperado. Echemos un vistazo a otro módulo llamado la Línea en el modelo de archivo. El módulo de línea en fuego se utiliza para encontrar una línea en el archivo y reemplazarla o agregarla si aún no existe. Por ejemplo, se les dio una tarea para agregar un nuevo servidor Deanna en el archivo e t c resuelto dot com Este sencillo libro de jugadas que utiliza la tarea de archivo Lining agrega los nuevos nombres sobre la información en el E. T. C. Resuelto en el expediente con. Recuerda, el módulo de línea y archivo es, no pretendo. Comparemos este playbook responsable con un sencillo guión que intenta lograr el mismo resultado. Si este script se ejecuta varias veces, agrega una nueva entrada al archivo cada vez, lo cual no se desea. Si estás en el playbook responsable varias veces, se asegurará de que solo haya una sola entrada en el archivo. Nos detendremos ahí con módulos. Estaremos tocando otros módulos adicionales en el resto fuera del curso mientras
discutimos otros conceptos y miramos más ejemplos de playbook. Como dije antes, hay cientos de otros modelos disponibles. Realmente no tienes que recordar todos estos modelos, y son perímetros. Siempre se puede tener como referencia la página de documentación responsable, o utilizar la línea de comandos para enumerar y navegar por los módulos disponibles. En los próximos ejercicios de codificación, estaremos brindando documentación sobre cada modelo, por lo que
también deberías estar bien ahí .
5. Variables: esta sección, vamos a ver variables. Entonces, ¿qué son las variables, Al
igual que en cualquier otro lenguaje de scripting o programación? Las variables se utilizan para almacenar valores que varían con diferentes artículos. Por ejemplo, digamos que estamos tratando de realizar la misma operación fuera de aplicar parches a cientos de
servidores fuera de servicio. Sólo necesitamos un solo playbook para los 100 servidores. No obstante, las variables las que almacenan información sobre los diferentes nombres de host, nombres de
usuario o contraseñas que se utilizan para conectarse a cada uno de estos servidores. Ya hemos trabajado con variables antes cuando trabajamos en la sección En árbol de los hombres. Si recuerdas un archivo de inventario que se ve así, el host responsable conexión responsable ssh pase! Son todos ejemplos fuera de variables. Podemos definir tantas variables como se requiera así. También podríamos definir variables dentro de playbook. Este es un libro de jugadas que creamos anteriormente para agregar una entrada DNS en ET ver resuelto archivo con . Para agregar una variable, podríamos simplemente agregar una palabra clave de virus, seguida de variables en un par de valores clave para mint, en este caso, Deanna Silver, seguida de la I P de la D. N. Un servidor. Siempre podemos tener variables definidas en un archivo separado dedicado para variables. Aprenderemos más sobre esto más adelante cuando hablemos de incluye y rollos. Por lo que ahora tenemos definidas variables. Pero, ¿cómo los usamos si nos fijamos en nuestro ejemplo anterior donde definimos un
servidor DNS variable en el playbook, pero en realidad no lo hemos usado en ninguna parte. ¿ Cuál sería el lugar correcto para usar eso en esta línea aquí, donde definimos el servidor de nombres, podríamos reemplazar el valor codificado duro por el valor de la variable. Para utilizar una variable, simplemente introduzca el nombre de la variable encerrado entre llaves dobles o corchetes rizados. Cuando corremos, el playbook responsable lo reemplazará por el valor en la variable. Tomemos otro ejemplo. Se trata de un libro de jugadas más largo que se utiliza para establecer múltiples configuraciones de bolas de fuego, que tiene un número off valores duros codificados en él. Si alguien más quisiera reutilizar este libro de jugadas, tendría que modificar el libro de jugadas para cambiar estos valores. Si estos valores que muy pueden ser trasladados al archivo de entrada del INM y referidos en el playbook usando llaves dobles, podríamos salirnos con la suya modificando los ficheros de inventario solos en el futuro. Una forma aún mejor de hacer esto sería mover las variables a un archivo en nombre del host. En este caso lloró. Ah, OMG. Este es ahora un archivo de variable host, y todos los valores definidos en este archivo están disponibles para su uso por parte del playbook. De esta manera está aún mejor organizado. Recuerda este formato que estamos utilizando para usar variables se llama Tinge, una plantilla de dos ing búscalo cuando tengas una oportunidad. Por último, mientras utilizas variables con jengibre para plantilla ing, recuerda encerrarlo dentro de abrigos si estás empezando tu asignación con la variable, sin embargo, si la variable está entre frase, entonces esto no es necesario. Juguemos con ejercicios de codificación de variables.
6. Condicionales: Hola y bienvenidos a esta conferencia. En esta conferencia, vamos a ver la condición ALS. Aquí tenemos un archivo de inventario de muestra y un playbook de muestra. El archivo de inventario contiene dos observadores nombrados como Web One y Web dos y un
servidor de base de datos llamado Ask DB Sepa que también tenemos un grupo definido con el nombre fuera de todos los servidores, y tenemos los servidores Web y DB dentro de él. Tenemos un playbook que intenta iniciar todos los servicios en la base de datos y servidor Web, y si notan que estamos ejecutando esta jugada contra el grupo All Silver ahora, lo que pasaría es responsable intentará ejecutar el único playbook a través. Todos los servidores listados en el también grupo VERS, lo que significaría responsable, intentarán iniciar primero los servicios de base de datos y luego el servicio de festividad. No obstante, no
contamos con servicio de base de datos en los servidores Web, y no contamos con un servicio City PD en el servidor de base de datos. Lo que queremos hacer es agregar una condición a cada tarea, diciendo cuando queremos que se ejecute la tarea, por ejemplo, nos gustaría ejecutar la tarea my SQL sólo si el host es servidor de base de datos. De igual manera, nos gustaría iniciar el servicio de historia TPD en Lee si el host es Web uno o lloró, también. Sí, podemos tener una declaración o como esta, o también puedes tener y declaraciones de manera similar. Recuerde utilizar doble igual operador para la comparación. Además, recuerden, este es en realidad un mal ejemplo. Si realmente quisieras hacer algo como esto, la forma correcta de hacerlo sería agrupar los servidores en grupos separados, llamados servidores TB y servidores Web, y ejecutar un lugar separado para cada grupo de servidores. De esa manera, es mucho más limpio y más responsable como Veamos otro ejemplo en este playbook , me gustaría comprobar el estado de un servicio y, en
base al resultado, ejecutar la siguiente tarea. En este caso, si el servicio está inactivo, me gustaría enviar un correo electrónico al sistema. Agregar medios reportando este problema. Por lo que nota el modelo masculino. Ese es un nuevo modelo que no hemos aprendido antes, y se utiliza para enviar correos. Consulta la página de documentación ya que podría requerir insumos adicionales. Entonces tenemos dos tareas. El 1er 1 por ejecutar un comando para comprobar el estado de un servicio, el 2do 1 para enviar un correo electrónico. Si lo ejecutáramos ahora, simplemente comprobaría el estado y enviaría un correo electrónico, independientemente de si el servicio está arriba o abajo. Por lo que necesitamos agregar una condición. Como acabamos de
enterarnos, agregaremos una condición de renta para comprobar el estado del servicio. Pero, ¿en contra de qué comprobamos? ¿ Cómo obtenemos el resultado de la ejecución de comandos en la primera tarea? Ahí es donde entra la directiva de registro. Play Register se puede utilizar para registrar o almacenar la salida de un modelo en este caso, la salida del comando ejecutar. En este caso, la salida de la ejecución del comando se almacenará en la salida de guión bajo del comando variable. A continuación, usamos esa variable para comprobar si el resultado contiene la palabra abajo. Si es cierto, enviaremos un correo electrónico. Recuerde, la salida del comando se almacena en una STD clave hacia fuera dentro del comando variable, salida de
subrayado, dirigirse al ejercicio de sección y practicar un poco apagado usando condicional
7. Bucles: Hola y bienvenidos a esta conferencia en esta conferencia, vamos a pasar por bucles. Echemos un vistazo a este ejemplo donde estamos creando un playbook responsable para instalar paquetes en un sistema usando el modelo joven. El módulo joven te ayuda a instalar o eliminar paquetes usando el joven gestor de paquetes. En este caso, sólo
tenemos un paquete. Pero, ¿y si tenemos múltiplo? ¿ Y si tenemos muchos paquetes para instalar? Bueno, una forma de hacerlo sería duplicar estas líneas tantas veces como sea necesario, pero eso no es muy elegante. Una mejor manera de hacerlo sería tener un solo bucle de tareas sobre todos los modelos. Ahí es donde usamos con ítems con ítems es un director de bucle del cual ejecuta la misma tarea varias veces cada vez que se ejecuta. Almacena el valor del artículo en la variable ítem, por lo que simplemente puede reemplazar el valor de TPD apresurado por la variable ítem dentro de las
llaves dobles como esta, echa un vistazo a la página de documentación contabilizable para bucles. Hay un número de opciones adicionales disponibles para bucles y ejemplos realmente buenos disponibles allí. un vistazo cuando tengas tiempo, dirígete a la sección de ejercicios y practica un poco fuera usando bucles
8. Roles: en esta sección, vamos a ver los roles responsables. Si has trabajado con otros lenguajes de programación o scripts, probablemente sepas que podrías escribir un script o programa grande en un solo archivo. O lo que más se prefiere es modelar surgirlo en paquetes, módulos, clases y funciones. De esa manera, nuestro código se vuelve más organizado, reutilizable y fácil de leer y construir y compartir con otros. Esto se implementa en responsable con ayuda fuera de roles. Ahora, obviamente no tenemos ningún código, o al menos lo que hemos visto hasta ahora. No hay programas ni clases ni funciones. De lo que sí tenemos nuestros archivos de inventario, variables y playbooks. Ahora, como ya habrías imaginado,
cuando tenemos demasiadas cosas para automatizar nuestros libros de jugadas, variables de los archivos de
inventario se van a hacer más grandes y más difíciles de manejar. Entonces, a diferencia de lo que hemos estado haciendo hasta ahora, escribir un solo libro de jugadas grande puede no ser ideal. En ese caso, ahí es donde entran en juego las declaraciones y los rollos. Echemos un vistazo a incluir declaraciones primero con un ejemplo realmente simple. Aquí tenemos un gran playbook haciendo múltiples cosas a la vez, incluyendo aprovisionamiento v EMS instalación requiere dependencias, configuración del servidor Web y configuración e inicio de aplicaciones. No obstante, este libro de jugadas tiene aproximadamente 1005 100 líneas de largo y es realmente difícil de mantener. Este playbook sólo puede ser utilizado por alguien que tenga el caso de uso exacto, cual será satisfecho por este playbook con el fin de modelar. Levántalo. Simplemente cortamos este libro de jugadas grande en archivos más pequeños que abordan diferentes casos de uso y luego finalmente tenemos un playbook maestro que incluye estos playbooks más pequeños. La sintaxis para eso es la palabra clave include, seguida del nombre del playbook. Ahora nuestro libro de jugadas maestro tiene apenas cinco líneas de largo. Tenemos cuatro playbooks separados que son más pequeños, más fáciles de mantener y que se pueden reutilizar para diferentes casos de uso. ¿ Qué tal incluir tareas y variables? Aquí tenemos una respuesta. Serán playbook con una lista de variables y tareas que utilizan esas variables, podemos mover todas las tareas a un archivo separado y utilizar la instrucción include para incluir tarea desde ese archivo. De igual manera, podemos mover todas las variables a un archivo separado e incluir todas las variables de ese archivo utilizando la declaración de archivo VARS, tenga en cuenta que aquí no usamos la declaración de tobillo. Se llama vars Underscore Archivos VARS y los archivos escolares es lo que utilizamos para incluir variables definidas en otro archivo. Ahora bien, si has estado creando REFILES de inventar y definiendo variables en la redacción de playbooks como
pensábamos que era adecuado para nuestras necesidades, pero ¿hay una forma estándar de estas? ¿ Qué recomienda el responsable las reglas de contestación? Defina una estructura para su proyecto y defina estándares sobre cómo se
organizan los archivos y carpetas dentro de su proyecto. En este ejemplo, bajo mi proyecto responsable, actualmente
tengo un archivo de inventario y un solo libro de jugadas grande para configurar mi servidor Web y para terminar ahora con roles iban a reorganizar el playbook y las variables. Creamos una nueva carpeta llamada Rol, Dentro de la cual creamos otra carpeta con el nombre del rol en este caso, servidores
Web. El Web Silver rolls contiene carpetas adicionales nombradas plantillas archivadas, manejadores de
tareas, valores predeterminados de
VARS y Metta. Cada una de estas carpetas contiene archivos asociarlo con esos fines. Por ejemplo, la carpeta de tareas contiene el archivo Yeah mo que contiene una lista de tareas y la carpeta Virus contiene archivos VAR definidos con declaraciones de variables. Ahora podemos mover partes de nuestro libro de jugadas a diferentes carpetas. Movimos variables a un archivo de la carpeta Virus y eliminamos tareas a un archivo de la
carpeta de tareas . Ahora, en nuestro libro de jugadas maestro, simplemente
podríamos decir, asignó los siguientes rollos al servidor, y el rol es los servidores Web, que es el rol que creamos bajo la Carpeta Roles. Una de las ventajas de usar roles es que no tenemos que preocuparnos por importar tareas y variables como lo hicimos en la diapositiva anterior. Responsable importa automáticamente toda la tarea de la carpeta de tareas y todas las variables de la gran carpeta. El resto de carpetas son para almacenar archivos o plantillas de soporte o manejadores fuera de los valores predeterminados que no hemos cubierto en este curso. Estos están fuera de alcance para este curso fundamental, y esto se incluirá en un curso avanzado.
9. Temas y conclusión avanzados: Hola y bienvenidos a esta conferencia sobre temas avanzados. En esta sección, pasaremos por algunos conceptos avanzados. No hay ejercicios para estos ya que estos son más de conceptos que código. Además, estos están fuera de alcance para este curso de principiante y ojalá llegue a hacer un curso
avanzado con ejercicios de citar para algunos de estos temas. Pero es importante que tengas una idea de alto nivel fuera de las capacidades adicionales y soporte en responsable para que si lo deseas, te refieras a la página de documentación responsable y hazlas tú mismo. Vamos a pasear por estos temas, que incluye preparar un servidor Windows para trabajar con bailable. Qué galaxia responsable es, cuáles son nuestros patrones, inventario
dinámico y finalmente, cómo desarrollar un modelo personalizado. Como discutimos en la primera conferencia, máquina de control
Responsable sólo puede ser sábanas y no ventanas. No obstante, las máquinas
Windows pueden ser objetivos fuera, responsibles y sí ser parte de la automatización como la forma en que responsable se conecta a una máquina Lennox . El uso de ssh responsable se conecta a una máquina de Windows usando viento o en pero sabemos que puede no estar habilitado por defecto en una máquina Windows. Por lo que se requiere cierta configuración para configurar ganadores en Windows Machine. Recuerda, no
necesitas instalar nada en windows, por lo que esto sigue siendo agente menos colaboración. Algunos de los requisitos para configurar responsable para trabajar con Windows es tener el pastel win son un módulo instalado en la máquina de control responsable. Esto se puede hacer con el comando pip. Instalar, amontonar o, um, y como especificando el peor, que es cero oscuro dos puertas a Una vez instalado este paquete en la
máquina de control responsable , tendremos que configurar. Ya sabemos en el Windows Server. Existen diferentes formas de hacer esto. Una forma fácil de hacer esto es utilizar el guión proporcionado por responsable llamado el Conficker, promocionando para guión responsable. Se trata de un script de power shell y se puede descargar el script y ejecutarlo en el Windows Server, que configurará ganador en el servidor de Windows, permitiendo que responsable se conecte de forma remota. Existen diferentes moldes fuera de la autenticación que puedes configurar como básico o
basado en certificado o bordillo rosa hasta, um, etcétera. Puede encontrar más información al respecto en el sitio de documentación responsable. Si vas a la sección Soporte técnico de Windows, obtendrás instrucciones detalladas sobre cómo configurarlo. Entonces si miras aquí allá, otros modos diferentes fuera de la autenticación y si te desplazas todo el camino hacia abajo, hay una sección llamada Windows System Prep, y aquí tienes un enlace al script de Power Shell para ejecutarse en las ventanas. Por lo tanto, no cargue el script y ejecute usando las instrucciones que aquí se proporcionan, y debería estar todo configurado. Answerable Galaxy es un sitio gratuito para descargar, compartir y calificar todo tipo fuera de la comunidad desarrollado roles responsables. Esta es una gran manera de dar un salto en tus proyectos de automatización. El sitio web es galaxy dot responsible dot com, y como puedes ver, si te desplazas a navegar por este sitio web, deberías poder ver mucho fuera de los roles disponibles aquí. Entonces recuerda que hablamos de roles antes, por lo que si haces clic en navegar rollos, podrás ver las diferentes reglas que las personas han creado y compartido en responsable. Y aquí es donde puedes compartir tus roles y descargar. Otros usuarios pueden descargar tus roles, por lo que una vez que estás una vez que creas proyecto responsible, simplemente
puedes descargar cualquier rollo existente de galaxia responsible usando la línea de
comandos de galaxia contestable . Y como vimos en la sección anterior, es tan fácil como asignar las reglas descargadas a tu anfitrión en tu playbook. Así que echa un vistazo a esto cuando tengas tiempo. Es sitio realmente interesante para navegar. Y una vez que empieces a desarrollar tus propios roles de responsabilidad, compártelo qué con los demás y obtén retroalimentación de otros patrones. Hemos visto cómo definir qué anfitriones estaban en las tareas contra. Si recuerda, esto se hace especificando el nombre del host en el archivo host. Esto podría ser un solo host o un grupo de host, pero hay opciones adicionales. Te vendría bien un patrón aquí. Veamos las diferentes opciones disponibles. Podría especificar varios hosts a la vez introduciendo el nombre del host separado por
una coma. Como se puede ver aquí en el anfitrión correcto un anfitrión de coma para calmar la tapicería. Esa es una opción, o podría tener selecciones de grupos y hosts. Entonces, por ejemplo, me gustaría ejecutar un conjunto de comandos contra todos los servidores parte del Grupo Uno y también en el Host one , que no forma parte de uno o podrías usar patrones como un comodines. En este caso, estrella
anfitriona ¿Irán el libro de jugadas contra todos los anfitriones que comienzan con el nombre host? ¿ O como en el último ejemplo? Como puedes ver, puedes ejecutar playbook en todo el host que terminan con un sufijo dot company dot com Dennis. Hay opciones adicionales disponibles para patrones. Si miras la página de documentación responsable, podrás ver aquí alguna información. Hay algunos buenos ejemplos por los que puedes navegar, y esto debería ser fácil de descifrar dinámico En Venturi, hemos visto información de inventores definida en archivos de inventario como este, pero no es necesario definir siempre tu información de inventario en estos archivos porque este es un archivo estático y tendrás que cambiar ese Mannelly. Si fueras a integrar responsable con cualquier otra fuente off en wintry en tu entorno , entonces necesitarás hacer dinámico este inventario. Responsable soporta tener archivos de inventario dinámicos típicamente sin responder. Se especifican los archivos de inclusión utilizando el perímetro del guión I para el inventario dinámico. En lugar de especificar un archivo, especificas un script en este caso, un Python Scripts Como puedes ver aquí, hay dos ejemplos de comando, y el 1er 1 es playbook responsable que invento tree dot txt y luego el nombre del libro de jugadas . En este caso, estamos especificando un archivo de inventario estático llamado en men tree dot txt. En el segundo ejemplo, estamos especificando punto de inventario p Y, que es un script de Python. El script de Python es responsable de llegar a cualquier fuente que tenga
entrada extranjera y devolver responsable una lista fuera de grupos host y su información. Ya hay varios scripts disponibles para el inventario dinámico para soluciones como cobbler AWS, Open stack, etcétera. Así que echa un vistazo. En el sitio de documentación responsable, aprendimos sobre algunos modelos a través del curso como comando script lining files service, etcétera. Estos aire básicamente programas python que realizan acciones específicas. Si no encuentras un modelo que satisfaga tus requerimientos, puedes desarrollar tu propio módulo. Simplemente necesitas escribir un programa python y colocarlo en el directorio de modelos de tu servidor. El programa, sin embargo, tiene que ser escrito en un formato particular. Puedes obtener una plantilla para empezar en la página de documentación bailable si vas al sitio web de documentación
responsable y vas a los playbooks. Temas especiales y yendo a la sección de Información del Desarrollador y haga clic en Guía del
Desarrollador responsable . Tienes una sección para desarrollar módulos. Si entras en esta sección, tienes diferentes temas llamados construir un módulo simple documentando tu modelo, etcétera. Haga clic en construir un modelo simple y tiene algunos programas de python de muestra para escribir para empezar a desarrollar módulos personalizados. Pasa por esto y sigue las instrucciones para desarrollar tus propios módulos personalizados. Por lo que para concluir, discutimos sobre diversos temas en torno a responsable. Qué responsable es y qué puede hacer por nosotros, cómo configurarlo. Instálalo. También pasamos por una introducción a Yam Oh, hicimos algunas prácticas de mano sobre la munición. Practicamos algunos archivos de inventario y playbooks y trabajamos con variables. Condicional es bucles, etcétera, y también miramos qué son los roles, cómo podemos usarlos y qué Galaxias bailables y cómo buscar roles galaxias sin respuesta y usar eso en nuestro proyecto. Ahora deberías estar en posición de empezar a desarrollar tus propias y sencillas playbooks y empezar a probarlas. Recuerda consultar en todo momento el lado de la documentación responsable para conocer nuevos módulos e instrucciones sobre su uso. Este es un curso básico, y ojalá llegue a desarrollar un curso avanzado que abarque algunos temas avanzados en el futuro. Por lo que muchas gracias por su tiempo y espero que haya tenido una buena experiencia de aprendizaje. Hazme saber tus comentarios O si notas algún problema con alguno de los ejercicios, por favor sí escríbeme y trataré de arreglarlos lo antes posible. Una vez más. Muchas gracias por su tiempo y por tomar el curso y feliz automatización.