Búsqueda de sitios web

Instale Chef Server y estación de trabajo en Ubuntu 20.04 |


Bienvenido a la guía de hoy sobre cómo instalar Chef Server y Workstation en Ubuntu 20.04 (Focal Fossa). Chef es una poderosa solución de automatización diseñada para ayudarlo a transformar su infraestructura en un código. La infraestructura puede ser local, en la nube o en un entorno híbrido. Con Chef, automatizas cómo se implementa, configura y administra la infraestructura. El servidor Chef actúa como un depósito central para sus libros de cocina, así como para la información sobre cada nodo que administra.

La empresa detrás del servidor de automatización Chef ha trabajado en otras herramientas de automatización que son:

  1. Chef: para la automatización de infraestructuras
  2. Hábitat: automatización de aplicaciones
  3. INSPEC – Automatización del cumplimiento

Siga los pasos de las siguientes secciones para instalar y configurar Chef Server en el servidor Linux Ubuntu 20.04.

Paso 1: actualice el sistema y establezca el nombre de host

Necesitamos actualizar nuestro sistema para garantizar que todos los paquetes instalados sean las últimas versiones.

sudo apt update
sudo apt -y upgrade

Configure el nombre de host del servidor que será el nombre DNS de su Chef Server implementado en Ubuntu 20.04.

sudo hostnamectl set-hostname chef-server.computingforgeeks.com

Si tiene un servidor DNS activo, configure el registro A en consecuencia. Para instalaciones sin servidor DNS, establezca el registro en el archivo /etc/hosts :

$ sudo vim /ect/hosts
192.168.200.10 chef-server.example.com

Instale también algunos otros paquetes básicos en su máquina Ubuntu.

sudo apt -y install curl wget bash-completion

Después de instalar estos paquetes y actualizar su máquina, le recomiendo que reinicie.

sudo reboot

Paso 2: configurar la retransmisión de correo local

El servidor Chef utiliza el correo electrónico para enviar notificaciones de varios eventos:

  • Restablecimiento de contraseña
  • Invitaciones de usuario
  • Notificaciones de conmutación por error
  • Notificaciones de trabajos fallidos

Configure un agente de transferencia de correo local en el servidor Chef usando la guía:

  • Configure Postfix como servidor SMTP de solo envío en Ubuntu

Paso 3: configurar la sincronización horaria NTP

El servidor Chef es particularmente sensible a la desviación del reloj y requiere que los sistemas en los que se ejecuta estén conectados al Protocolo de tiempo de red (NTP).

Instale el paquete chrony en Ubuntu 20.04.

sudo apt -y install chrony

Establezca la zona horaria correcta para que la fecha se seleccione automáticamente.

sudo timedatectl set-timezone Africa/Nairobi

Puede optar por restringir el acceso al servidor NTP, por ejemplo, desde los nodos de su cliente Chef, configurado como se muestra a continuación:

restrict 192.168.18.0 mask 255.255.255.0 nomodify notrap

Donde 192.168.18.0 es la subred IP de su red local. Reinicie el servicio ntp después de realizar el cambio:

sudo systemctl restart chrony

Si tienes el firewall UFW habilitado, no olvides permitir el puerto ntp:

sudo ufw allow ntp

Mostrar estado ntp:

sudo chronyc sources

Confirmar sincronización horaria:

$ timedatectl
               Local time: Fri 2020-07-10 20:38:57 EAT
           Universal time: Fri 2020-07-10 17:38:57 UTC
                 RTC time: Fri 2020-07-10 17:38:58
                Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

En clientes Chef, instale ntp y configure el servidor NTP en la dirección IP del servidor Chef

sudo apt install chrony
sudo vim /etc/ntp.conf

Descomente las líneas del servidor del grupo NTP y especifique la dirección IP del servidor Chef

#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

server  192.168.18.39

Paso 4: descargue e instale el paquete del servidor Chef

Primero, verifique la última versión del servidor Chef en la página de Descargas de Chef.

Al momento de escribir este artículo, la versión reciente es la versión 14.11.21. Este es el paquete que descargaremos e instalaremos:

VERSION="14.11.21"
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/18.04/chef-server-core_${VERSION}-1_amd64.deb

Una vez que se complete la descarga, instale el paquete usando el comando dpkg :

sudo apt install ./chef-server-core_${VERSION}-1_amd64.deb

Estado de la muestra:

....
The following NEW packages will be installed:
  chef-server-core
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/246 MB of archives.
After this operation, 956 MB of additional disk space will be used.
Get:1 /home/ubuntu/chef-server-core_14.11.21-1_amd64.deb chef-server-core amd64 14.11.21-1 [246 MB]
Selecting previously unselected package chef-server-core.
(Reading database ... 63527 files and directories currently installed.)
Preparing to unpack .../chef-server-core_14.11.21-1_amd64.deb ...
Unpacking chef-server-core (14.11.21-1) ...
Setting up chef-server-core (14.11.21-1) ...
Thank you for installing Chef Infra Server!

Run 'chef-server-ctl reconfigure' to configure your Chef Infra Server

For more information on getting started see https://docs.chef.io/server/

Espere a que se complete la instalación y luego configure Chef Server:

sudo chef-server-ctl reconfigure

Antes de comenzar la configuración, debe aceptar el acuerdo de licencia.

....
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.

+---------------------------------------------+

Crear una cuenta de administrador

El formato es:

sudo chef-server-ctl user-create USER_NAME FIRST_NAME LAST_NAME EMAIL 'PASSWORD' --filename FILE_NAME
  • Una clave privada RSA se genera automáticamente.
  • Esta es la clave privada del usuario y debe guardarse en un lugar seguro.
  • La opción--filename guardará la clave privada RSA en la ruta absoluta especificada.

Ejemplo :

sudo chef-server-ctl user-create chefadmin Chef Admin \
  [email  'StrongPassword' \
  --filename /home/chefadmin.pem

Además, crea una organización. La sintaxis es:

sudo chef-server-ctl org-create short_name 'full_organization_name' --association_user user_name --filename ORGANIZATION-validator.pem
  • El nombre debe comenzar con una letra minúscula o un dígito,
  • El nombre completo debe comenzar con un carácter que no sea un espacio en blanco.
  • La opción --association_user asociará el user_name con el grupo de seguridad de administradores en el servidor Chef.
  • Una clave privada RSA se genera automáticamente. Esta es la clave del validador del chef y debe guardarse en un lugar seguro.
  • La opción --filename guardará la clave privada RSA en la ruta absoluta especificada.

Vea el ejemplo a continuación:

chef-server-ctl org-create mycompany 'Company X, Inc.' \
  --association_user chefadmin \
  --filename /home/mycompany-validator.pem

Las claves generadas deben estar disponibles en el directorio /home 

# ls /home/
chefadmin.pem  mycompany-validator.pem

Instalar Chef Administrar

Chef Manage es un complemento premium que proporciona una interfaz gráfica de usuario para administrar tareas comunes del servidor Chef. Es gratis para hasta 25 nodos.

Instalemos la consola de administración:

sudo chef-server-ctl install chef-manage 
sudo chef-server-ctl reconfigure 
sudo chef-manage-ctl reconfigure

También puede instalar Chef Manage desde un paquete .deb :

VER="3.2.20"
wget https://packages.chef.io/files/stable/chef-manage/${VER}/ubuntu/18.04/chef-manage_${VER}-1_amd64.deb
sudo apt install -f ./chef-manage_${VER}-1_amd64.deb
sudo chef-manage-ctl reconfigure

Todos los servicios de Chef Server se ejecutarán con el nombre de usuario/grupo opscode. El nombre de usuario de PostgreSQL es opscode-pgsql. Se pueden instalar paquetes adicionales desde https://packages.chef.io/

Si desea utilizar o ya utiliza el firewall UFW, abra los puertos 80 y 443 ejecutando los siguientes comandos:

sudo ufw allow proto tcp from any to any port 80,443

Debería poder acceder al panel de administración web de Chef en https://serverip/login

Inicie sesión con el nombre de usuario agregado anteriormente. Un panel de Chef nuevo debería ser similar al siguiente

Paso 5: Instale Chef Development Kit en su máquina Workstation

Chef Workstation es donde tiene instalado el kit de desarrollo Chef. Contiene todas las herramientas que necesita para desarrollar y probar su infraestructura, creadas por la increíble comunidad Chef. Instale Chef Development Kit/Workstation usando las guías a continuación:

  • Cómo instalar Chef Development Kit/Workstation en Ubuntu

Para usuarios de Arch Linux, utilice:

  • Cómo instalar el kit de desarrollo Chef en Arch Linux

Paso 6: configurar el cuchillo en Chef Workstation

Knife es la herramienta de línea de comandos que proporciona una interfaz entre su estación de trabajo y el servidor Chef. Siguiente lectura:

  • Configure Chef Knife, cargue libros de cocina y ejecute una receta en los nodos Chef Client