GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Hashicorp Nomad Cluster Lab auf Centos &RockyLinux

Einführung

Wir suchen seit geraumer Zeit nach alternativen Möglichkeiten zur Nutzung von Serverressourcen, jetzt mit einem einfachen Ansatz für die Einrichtung. Es ist möglicherweise nicht produktionsreif, aber ziemlich sicher, dass es sich lohnt, es für die Entwicklung einzurichten. Ein Orchestrator, der unser Leben einfacher macht. Es ist ein Automatisierungs-Management-Tool. Seine Bereitstellung, Bereitstellung, Auslösung, Überwachung, Messung, Nachverfolgung und Gewährleistung der Sicherheit des Roboters in der Organisation.

Kubernetes wurde also von Google für Container entwickelt. Es beabsichtigt, alle Funktionen für Linux-Containeranwendungen bereitzustellen, einschließlich Clusterverwaltung, Planung, Diensterkennung, Überwachung, Geheimnisverwaltung und mehr. Hashicorp Nomad konzentriert sich nur auf Clusterverwaltung und -planung und ist darauf ausgelegt Unix-Philosophie mit geringem Umfang. Konsolen-Composing-Tools für Service-Discovery-Service-Mesh und Vault-Fernverwaltung.

Darüber hinaus ist Kubernetes eine Sammlung vieler interoperierender Dienste mit voller Funktionalität. Speicherung und Koordination werden von etcd im Kern bereitgestellt.

Außerdem ist der Zustand API-Controller, die von anderen Diensten genutzt werden, die High-Level-API-Funktionen wie Scheduler bieten. Kubernetes unterstützt Hochverfügbarkeit für die Konfiguration des Vorgangs, der komplex einzurichten ist.

Auch Nomad ist viel einfacher. Eine einzelne Binärdatei für Clients und Server erfordert keine externen Dienste zur Koordination oder Speicherung. Kombiniert einen leichtgewichtigen Manager und einen ausgeklügelten Scheduler. verteilt, hochverfügbar und einfach im Betrieb.

Darüber hinaus ist es als vorkompilierte Binärdatei für fast alle Betriebssysteme verfügbar. Für macOS können Sie es von Homebrew kostenlos und Open Source erhalten. Für Windows installieren Sie das aus dem Chocolatey Open Source Package Manager. Verwenden Sie yum, dnf oder apt, um das Paket zu installieren.

Hashicorp nomand Installation in Ihrem System mit dnf

Daher verwaltet und signiert Hashicorp Pakete in ihrem Repository.

Erstellen Sie also diese Datei auf /etc/yum.repos.d/hashicorp.repo mit dem folgenden Inhalt. Würden Sie dies bitte für alle Master- und Slave-Knoten tun?

Nomad – Dokumentationslink

# 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

Hashicorp-Nomadeninstallation mit 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 ~]#

Hashicorp-Nomade Überprüfen Sie die Installation

# 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 ~]#

Installieren Sie den Agenten auch auf allen Clients

Also konfiguriere jetzt den Server-Leader für den Cluster

[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 ~]#

Konfigurieren Sie die Client-Knoten

[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 ~]#

Überprüfen Sie jetzt, ob der Anführer gewählt wurde

[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

Überprüfen Sie den Status der Client-Knoten

[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

Schlussfolgerung

In diesem Tutorial werden die Funktionen und alternativen Lösungen verglichen. Möglicherweise möchten wir bei dem bleiben, was Sie verwenden.


Cent OS
  1. So installieren Sie einen Kubernetes-Cluster unter CentOS 7

  2. So installieren Sie Hashicorp Vault auf CentOS 7

  3. So richten Sie den RabbitMQ-Cluster unter CentOS 7 ein

  4. So richten Sie Riak KV NoSQL-Datenbankcluster unter CentOS 7 ein

  5. So installieren Sie den Percona XtraDB-Cluster unter CentOS 7

So konfigurieren Sie einen Hochverfügbarkeitscluster unter CentOS 7 / RHEL 7

So installieren Sie Openldap auf RockyLinux oder Centos 8 Schritt für Schritt

Installieren Sie Proftpd auf Centos und Rockylinux 8

Konfigurieren Sie VCS unter CentOS 8 | RHEL 8 Schritt für Schritt

So richten Sie einen Redis-Cluster in CentOS 8 ein – Teil 3

So installieren Sie Kubernetes-Cluster auf CentOS 8