¿Qué es la gestión de automatización y configuración con el chef? - Parte 1

¿Qué es la gestión de automatización y configuración con el chef? - Parte 1

Tomemos un escenario simple, tiene 10 servidores Redhat donde debe crear un usuario de 'Tecmint' en todos los servidores. El enfoque directo es que debe iniciar sesión en cada servidor y crear el usuario con el comando userAdd. Cuando los servidores son de 100 o 1000, inicie sesión en todos los servidores uno por uno prácticamente no es posible.

Aquí, lo primero que nos viene a la mente en tales casos es escribir un script y dejar que el script realice la ejecución de los servidores, es un enfoque probado. La secuencia de comandos tiene sus propias desventajas, aunque se usa ampliamente en las organizaciones, es difícil mantener si el propietario del guión deja a la organización.

El guión no funcionará en un entorno heterogéneo. El script es un método imperativo para lograr la tarea, donde necesita escribir un código largo para una tarea simple, etc., Esta situación nos exige buscar Gestión de automatización y configuración herramientas como un Cocinero.

En esta serie de artículos sobre Cocinero, Vamos a ver sobre los procedimientos de instalación y configuración de la herramienta de automatización de chef a través de las piezas 1-3 y cubre los siguientes temas.

Parte 1: ¿Qué es la gestión de automatización y configuración con el chef? Parte 2: Cómo instalar Chef Workstation en Rhel/Centos 8/7 Parte 3: Cómo instalar el modelo Chef Client-servidor en RHEL/CentOS 8/7

Este tutorial proporciona un punto de partida sobre cómo Cocinero obras, automatización, gestión de configuración, arquitectura y componentes del chef.

1. Gestión de configuración

Gestión de configuración es el punto de enfoque clave de Devops práctica. En el ciclo de desarrollo de software, todos los servidores deben estar configurados y mantenidos bien de software de tal manera que no deben descansar en el ciclo de desarrollo. La gestión de la configuración incorrecta puede hacer interrupciones del sistema, fugas y violaciones de datos. Usando Gestión de configuración Herramientas se trata de facilitar la precisión, la eficiencia y la velocidad en el entorno impulsado por DevOps.

Hay dos modelos de herramientas de gestión de configuración - Basado en empuje Y Basado en la tracción. En el Basado en empuje, El servidor maestro empuja el código de configuración a los servidores en los que Basado en la tracción Servidores individuales comuníquese con el maestro para obtener el código de configuración. MARIONETA y COCINERO son modelos basados ​​en pullas ampliamente utilizados, Ansible es un modelo popular basado en push. En este artículo, veremos sobre COCINERO.

2. Que es un chef?

Un chef es un programa de automatización de código abierto que permite a los administradores del sistema automatizar la implementación, las configuraciones, la administración y las tareas continuas en varios servidores y otros dispositivos de una organización de una manera fácil y fácil.

  • Se establece en 2008 como Opscode Más tarde se renombra a COCINERO (Automatización de chef herramienta).
  • Es una herramienta de automatización basada en Ruby utilizada para administrar la configuración, automatizar y orquestar toda la infraestructura de una organización.
  • Es un proyecto OpenSource y viene con dos modelos de implementación: Cliente de servidor y independiente.
  • Chef admite varios sistemas operativos como Ubuntu, Redhat/Centos, Fedora, MacOS, Windows, AIX, etc.
  • El chef es declarativo y es mucho más simple que los lenguajes nativos.
  • Proporciona una implementación continua para permitir que una empresa se mantenga actualizada con los requisitos del mercado.
  • La responsabilidad principal del chef es mantener el estado definido de configuración.
  • Tiene su propio lenguaje declarativo para administrar 10 y 1000 nodos con facilidad.
  • El chef es adaptable a la nube, se integra fácilmente con la infraestructura en la nube.
  • El Chef es fácil de aprender y una sólida herramienta amigable para los DevOps, respaldada por la comunidad,.

3. Arquitectura de chef

Cocinero La arquitectura se divide en 3 secciones principales.

  • Estación de trabajo de chef: Plataforma de desarrollo local para que los usuarios de chef creen, prueben y apliquen configuraciones. Puede ser su escritorio local, la computadora portátil con Chef DK (Kit de desarrollo) instalado. Se puede utilizar como un entorno de desarrollo/prueba antes de promover la producción.
  • Servidor de chef: Es un servidor que tiene un software Chef-servidor instalado y configurado en él. Es responsable de administrar el código del chef y acceder al código de configuración desde la estación de trabajo de Chef. El servidor Chef debe ser una máquina Linux, no admitirá ningún otro sistema operativo.
  • Clientes de chef: Están los servidores que se comunican con el servidor Chef para obtener detalles de configuración como el código Chef y otros archivos dependientes en binarios. Extrae el código del servidor de chef y los implementa localmente.
Arquitectura de chef

4. Componentes de chef

Los siguientes son la clave Cocinero componentes.

  • Recursos ¿Se utiliza el módulo básico de la receta para administrar la infraestructura?.
  • El atributo es la configuración en forma de par de valores clave.
  • Recetas son la colección de atributos que se pueden hacer en la estación de trabajo. Es un conjunto de comandos que se pueden aplicar a los clientes de Chef como Código de Chef.
  • La colección de recetas se llama Libro de cocina.
  • Un cuchillo es una herramienta de línea de comandos en la estación de trabajo de Chef que interactúa con el servidor Chef.

5. Modelo de implementación de chef

Hay dos modelos de implementación para Cocinero.

  • Cliente del servidor - Se utiliza para la implementación de producción.
  • Chef cero - Se utiliza para el desarrollo, las pruebas y POCS.

6. Cómo funciona el chef? Infraestructura como código

Infraestructura como código es la gestión de infraestructura de TI donde nos permite realizar automáticamente diversas instalaciones/implementación y gestión de configuración. Aquí, todas las configuraciones, las instalaciones se escriben como código.

  • El cliente/nodo Chef hará registro y autenticación con el servidor Chef.
  • Chef Client/Node buscará periódicamente el servidor Chef. El proceso de autenticación se realiza cada vez que el Chef-Client quiere acceder a los datos almacenados en el servidor Chef-Servir.
  • Ohai es una herramienta que será ejecutada por un cliente chef para determinar el estado del sistema, detectará los atributos (OS, memoria, disco, CPU, kernel, etc.,) del nodo y proporciona esos atributos al chef-cliente. Ohai es parte de la instalación del cliente de chef.
  • Si hay algún cambio en el libro de cocina o la configuración de la configuración, se enviará al Chef-Client y se actualizará/instalará.
  • Los libros de cocina y la configuración se actualizarán en el servidor Chef utilizando la estación de trabajo de Chef a través de la herramienta de línea de comandos Cuchillo. La estación de trabajo empuja todas las políticas al servidor de chef usando cuchillo.
  • Como cada cliente/nodo tendrá una verificación periódica con el servidor Chef, las configuraciones se aplicarán individualmente de acuerdo con el rol del servidor. Por ejemplo: en los nodos del chef, algunos nodos serán servidores de bases de datos, algunos nodos serán servidores de puerta de enlace, etc.
Conclusión

En este artículo, hemos visto conceptos básicos de gestión de configuración y herramienta de automatización de chefs. Veremos el proceso paso a paso de la instalación de Chef en los próximos artículos.