GNU/Linux >> Tutoriales Linux >  >> Cent OS

Hashicorp Nomad Cluster Lab en Centos y RockyLinux

Introducción

Hemos estado buscando formas alternativas de utilizar los recursos del servidor durante bastante tiempo, ahora un enfoque directo para la configuración. Es posible que no esté listo para la producción, pero estoy bastante seguro de que vale la pena configurarlo para el desarrollo. Un orquestador que nos hace la vida más fácil. Es una herramienta de gestión de la automatización. Su provisión, implementación, activación, monitoreo, medición, seguimiento y garantía de la seguridad del robot en la organización.

Entonces, Kubernetes fue creado para contenedores por Google. Tiene la intención de proporcionar todas las funciones para las aplicaciones de contenedores de Linux, incluida la administración de clústeres, la programación, el descubrimiento de servicios, el monitoreo, la administración de secretos y más. Hashicorp nomad solo se enfoca en la administración y programación de clústeres y está diseñado con Filosofía de Unix que tiene un alcance pequeño. Herramientas de composición de consola para malla de servicios de detección de servicios y administración remota de Vault.

Además, Kubernetes es una colección de una gran cantidad de servicios interoperativos con funcionalidad completa. Almacenamiento y coordinación proporcionados por etcd en el núcleo.

Además, el estado son los controladores de API consumidos por otros servicios que ofrecen funciones de API de alto nivel como el programador. Kubernetes admite alta disponibilidad para la configuración de operaciones complejas de configurar.

Además, Nomad es mucho más simple. Un solo binario para clientes y servidores no requiere servicios externos para la coordinación o el almacenamiento. Combina un administrador liviano y un programador sofisticado. distribuida, altamente disponible y operativamente simple.

Además, está disponible como un binario precompilado para casi todos los sistemas operativos. Para macOS, puede obtenerlo de Homebrew de forma gratuita y de código abierto. Para Windows, instálelo desde el administrador de paquetes de código abierto chocolatoso. Con Linux, use yum, dnf o apt para instalar el paquete.

Instalación de Hashicorp nomand en su sistema usando dnf

Entonces, Hashicorp mantiene y firma paquetes en su repositorio.

Así que cree este archivo en /etc/yum.repos.d/hashicorp.repo con el contenido a continuación. ¿Podría hacer esto con todos los nodos maestros y esclavos?

Nomad – Enlace de documentación

# vi /etc/yum.repos.d/hashicorp.repo
[hashicorp]
name=Hashicorp Stable - $basearch
baseurl=https://rpm.releases.hashicorp.com/RHEL/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://rpm.releases.hashicorp.com/gpg

[hashicorp-test]
name=Hashicorp Test - $basearch
baseurl=https://rpm.releases.hashicorp.com/RHEL/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://rpm.releases.hashicorp.com/gpg

Instalación nómada de Hashicorp usando yum

# dnf -y install nomad 
Last metadata expiration check: 0:11:47 ago on Sat 10 Jul 2021 07:10:43 AM UTC.
Dependencies resolved.
================================================================================================================ Package
          Architecture             Version                     Repository                   Size
================================================================================================================Installing:
 nomad                   x86_64                   1.1.2-1                     hashicorp                    26 M
 consul                       x86_64                       1.10.0-1                       hashicorp                        29 M

Transaction Summary
================================================================================================================Install  1 Pack
age

Total download size: 26 M
Installed size: 82 M
Downloading Packages:
nomad-1.1.2-1.x86_64.rpm                                                                       1.6 MB/s |  26 MB 
    00:15

-------------------------------------------------------------------------------------------------------------------------------
Total                                                                                          1.6 MB/s |  55 MB     00:15
warning: /var/cache/dnf/hashicorp-164999f2fbadbd87/packages/nomad-1.1.2-1.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a3
219f7b: NOKEY
Hashicorp Stable - x86_64                                                                      666  B/s | 3.1 kB     00:04
Importing GPG key 0xA3219F7B:
 Userid     : "HashiCorp Security (HashiCorp Package Signing) <[email protected]>"
 Fingerprint: E8A0 32E0 94D8 EB4E A189 D270 DA41 8C88 A321 9F7B
 From       : https://rpm.releases.hashicorp.com/gpg
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                       1/2
  Running scriptlet: nomad-1.1.2-1.x86_64                                                                                  2/2
Running scriptlet: consul-1.10.0-1.x86_64                                                                                  1/2
  Installing       : nomad-1.1.2-1.x86_64                                                                                  2/2
Installing       : consul-1.10.0-1.x86_64                                                                                  1/2
  Running scriptlet: nomad-1.1.2-1.x86_64                                                                                  2/2
  Verifying        : nomad-1.1.2-1.x86_64                                                                                1/2
Verifying        : consul-1.10.0-1.x86_64                                                                                2/2

Installed:
  nomad-1.1.2-1.x86_64    consul.x86_64

Complete!
[root@master8 ~]#

Nómada Hashicorp verificar la instalación

# nomad
Usage: nomad [-version] [-help] [-autocomplete-(un)install] <command> [args]

Common commands:
    run         Run a new job or update an existing job
    stop        Stop a running job
    status      Display the status output for a resource
    alloc       Interact with allocations
    job         Interact with jobs
    node        Interact with nodes
    agent       Runs a Nomad agent

Other commands:
    acl                 Interact with ACL policies and tokens
    agent-info          Display status information about the local agent
    deployment          Interact with deployments
    eval                Interact with evaluations
    exec                Execute commands in task
    license             Interact with Nomad Enterprise License
    monitor             Stream logs from a Nomad agent
    namespace           Interact with namespaces
    operator            Provides cluster-level tools for Nomad operators
    plugin              Inspect plugins
    quota               Interact with quotas
    recommendation      Interact with the Nomad recommendation endpoint
    scaling             Interact with the Nomad scaling endpoint
    sentinel            Interact with Sentinel policies
    server              Interact with servers
    system              Interact with the system API
    ui                  Open the Nomad Web UI
    version             Prints the Nomad version
    volume              Interact with volumes
[root@master8 ~]#

Instalar el agente también en todos los clientes

Así que ahora configure el líder del servidor para el clúster

[root@master ~]# cat /etc/nomad.d/nomad.hcl
# Full configuration options can be found at https://www.nomadproject.io/docs/configuration

data_dir = "/opt/nomad/data"
datacenter = "antipolo"

server {
  enabled = true
  bootstrap_expect = 1
}

[root@master ~]#

Configurar los nodos de cliente

[root@worker1 ~]# cat /etc/nomad.d/nomad.hcl
# Full configuration options can be found at https://www.nomadproject.io/docs/configuration

data_dir = "/opt/nomad/data"
datacenter = "antipolo"

client {
  enabled = true
  servers = ["192.168.56.101"]
}

[root@worker1 ~]#

[root@worker2 ~]# cat /etc/nomad.d/nomad.hcl
# Full configuration options can be found at https://www.nomadproject.io/docs/configuration

data_dir = "/opt/nomad/data"
datacenter = "antipolo"

client {
  enabled = true
  servers = ["192.168.56.101"]
}

[root@worker2 ~]#

Ahora verifique el líder si es elegido

[root@master ~]# nomad server members
Name                       Address         Port  Status  Leader  Protocol  Build  Datacenter  Region
master.example.com.global  192.168.56.101  4648  alive   true    2         1.1.2  antipolo    global

Comprobar el estado de los nodos del cliente

[root@worker1 ~]# nomad node status
ID        DC        Name                 Class   Drain  Eligibility  Status
522508a4  antipolo  worker2.example.com  <none>  false  eligible     ready
7a357baa  antipolo  worker1.example.com  <none>  false  eligible     ready

Conclusión

Este tutorial es para comparar las capacidades y soluciones alternativas. Es posible que deseemos permanecer en lo que está utilizando.


Cent OS
  1. Cómo instalar un clúster de Kubernetes en CentOS 7

  2. Cómo instalar Hashicorp Vault en CentOS 7

  3. Cómo configurar el clúster RabbitMQ en CentOS 7

  4. Cómo configurar el clúster de base de datos NoSQL de Riak KV en CentOS 7

  5. Cómo instalar el clúster Percona XtraDB en CentOS 7

Cómo configurar un clúster de alta disponibilidad en CentOS 7/RHEL 7

Cómo instalar Openldap en RockyLinux o Centos 8 Paso a paso

Instalar Proftpd en Centos y Rockylinux 8

Configurar VCS en CentOS 8 | RHEL 8 paso a paso

Cómo configurar un clúster de Redis en CentOS 8 - Parte 3

Cómo instalar el clúster de Kubernetes en CentOS 8