Cómo instalar Chef en CentOS 7

¿Qué es Chef?

Chef es una popular herramienta de gestión IaC (Infraestructura como código) de código abierto. Facilita la administración, la configuración y la implementación de los recursos del servidor en una red desde una ubicación central.

¿Qué es IaC?

IaC (o Infraestructura como código) es el procedimiento de aprovisionamiento, coordinación y control de servidores a través de archivos legibles por máquina, que se definen en registros comúnmente reutilizados llamados libros de cocina en lugar de configuración de hardware físico o herramientas de configuración interactiva.

requisitos previos

  • Asegúrese de que cada computadora que será un nodo se esté ejecutando en una plataforma compatible.
  • Asegúrese de que el servidor sea lo suficientemente potente para ejecutar el software.
  • Asegúrese de que todas las configuraciones de firewall y red estén configuradas correctamente de antemano.
  • El servicio NTP (Network Time Protocol) está habilitado para evitar la desviación del reloj.

Instalación

Instalación y Configuración de Chef

Primero, necesitamos descargar e instalar el paquete RPM . Aquí está el comando para llevar ese RPM al servidor.

                      
                        [[email protected] tmp]# curl -O https://packages.chef.io/files/stable/chef-server/13.1.13/el/8/chef-server-core-13.1.13-1.el7.x86_64.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time    Time  Current
Dload  Upload   Total   Spent    Left  Speed
100    327M     100     327M     0  0  4511k 
0  0:01:14  0:01:14 --:--:-- 4337k
[[email protected] tmp]# 
                      
                    

Instalación RPM

Para instalar el paquete, usamos este comando.

                      
                        [[email protected] tmp]# rpm -Uvh chef-server-core-13.1.13-1.el7.x86_64.rpm
warning: chef-server-core-13.1.13-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:chef-server-core-13.1.13-1.el7   ################################# [100%]
[[email protected] tmp]# 
                      
                    

Una vez instalado el paquete core Chef tendremos acceso al comando “chef-server-ctl” . Después de esto, necesitaremos reconfigurar Chef para preparar los libros de cocina de Chef. Esta reconfiguración puede tardar entre 5 y 30 minutos.

                      
                        [[email protected] tmp]# chef-server-ctl reconfigure  
+---------------------------------------------+
            Chef License Acceptance

Before you can continue, 3 product licenses
must be accepted. View the license at
https://www.chef.io/end-user-license-agreement/

Licenses that need accepting:
  * Chef Infra Server
  * Chef Infra Client
  * Chef InSpec

Do you accept the 3 product licenses (yes/no)?

> yes
Persisting 3 product licenses...
✔ 3 product licenses persisted.

+---------------------------------------------+
Starting Chef Infra Client, version 15.4.45
resolving cookbooks for run list: ["private-chef::default"]
Synchronizing Cookbooks:
  - private-chef (0.1.1)
  - enterprise (0.15.1)
  - runit (5.1.1)
  - packagecloud (1.0.1)
  - yum-epel (3.3.0)
Installing Cookbook Gems:
Compiling Cookbooks...
Recipe: private-chef::default
...
...
...
...
Running handlers:
Running handlers complete
Chef Infra Client finished, 482/1032 resources updated in 02 minutes 45 seconds
Chef Server Reconfigured!
[[email protected] tmp]# 
                      
                    

Una vez que se reconfigura Chef, podemos consultar la lista de servicios para obtener una lista del software disponible.

                      
                        [[email protected] tmp]# chef-server-ctl service-list
bookshelf*
nginx*
oc_bifrost*
oc_id*
opscode-erchef*
opscode-expander*
opscode-solr4*
postgresql*
rabbitmq*
redis_lb*
[[email protected] tmp]# 
                      
                    

Creando el usuario Chef

Una vez que Chef esté instalado y configurado, necesitaremos crear un usuario Chef.

Estos son los parámetros que usaremos.

  • Nombre de usuario: Denis
  • Nombre: Denis
  • Apellido: Bosack
  • Contraseña: [email protected]
  • Nombre de archivo: ubicación donde la clave autenticará al usuario más adelante (por ejemplo, dbosack.pem)
                      
                        [[email protected]]# chef-server-ctl user-create denis Denis Bosack [email protected] '[email protected]' --filename /home/dbosack/dbosack.pem
                      
                    

Crear una organización

A continuación, podemos crear una organización. Estos son los parámetros que usaremos.

  • Nombre de la organización: CodePre
  • Nombre completo: Liquid Web
  • Usuario asignado: Denis
  • Nombre de archivo: /home/dbosack/org-validator.pem
                      
                        [[email protected]]# chef-server-ctl org-create CodePre 'LiquidWeb Inc.' --association_user denis --filename /home/dbosack/org-validator.pem
                      
                    

Si quisiéramos, podríamos detenernos aquí ya que tenemos un servidor, un usuario y una organización de Chef. corriendo . Con esta información, podemos configurar todo lo que necesitamos. Si desea agregar complementos adicionales, como la interfaz de usuario web para Chef, siga los pasos agregados a continuación.

Complemento Chef-Administrar

Una de las características más populares que a los usuarios de Chef les gusta usar es un complemento llamado Chef-Manage. Chef-Manage es una aplicación ruby-on-rails que proporciona una interfaz de usuario web que nos permitirá ver la configuración, los usuarios que tenemos, las organizaciones, los libros de cocina, los nodos, etc.

                      
                        [[email protected] dbosack]# chef-server-ctl install chef-manage
                      
                    

Después de la instalación de Chef-Manage, necesitaremos volver a configurar Chef.

                      
                        [[email protected] tmp]# chef-server-ctl reconfigure
                      
                    

Dado que Chef utiliza un enfoque de prueba y reparación, no sería necesario ajustar o sobrescribir las configuraciones que se configuraron previamente, ya que no hubo modificaciones. Esta vez, la reconfiguración debería ser mucho más rápida que la primera vez.

Después de reconfigurar Chef, también necesitamos reconfigurar Chef-Manage, podemos hacerlo ejecutando el siguiente comando:

                      
                        [[email protected]]# chef-manage-ctl reconfigure 
                      
                    

Nota: Durante la instalación, deberá aceptar el acuerdo de licencia cuando se le solicite que escriba “sí”.

Una vez que se realiza la reconfiguración de Chef-Manage, puede acceder a la pantalla de inicio de sesión escribiendo su dirección IP pública en un navegador: https://67.43.11.226/iniciar sesión.

¡Te estás quedando sin tiempo!

Liquid Web tiene derecho a las mejores ofertas, incluido un 33 % de descuento en los primeros tres meses en un nuevo servidor dedicado. ¡Este podría ser su entorno de desarrollo de Python perfecto para ejecutar su aplicación!

Llámanos al 800.580.4985 o abre una chat o tiquete con nosotros para hablar con uno de nuestros asesores expertos en soluciones o alojamiento experimentado para saber cómo puede aprovechar esta oferta hoy.

Related Posts