Úvod
Již nějakou dobu hledáme alternativní způsoby, jak využít serverové zdroje, přímý přístup k nastavení. Nemusí to být připraveno na výrobu, docela jistě se vyplatí nastavit pro vývoj. Orchestrátor, který nám usnadňuje život. Je to nástroj pro správu automatizace. Jeho poskytování, nasazení, spouštění, monitorování, měření, sledování a zajištění bezpečnosti robota v organizaci.
Kubernetes tedy vytvořil Google pro kontejnery. Má v úmyslu poskytovat všechny funkce pro kontejnerové aplikace Linux, včetně správy clusteru, plánování, zjišťování služeb, monitorování, správy tajemství a dalších. Hashicorp nomad se zaměřuje pouze na správu a plánování clusteru a je navržen s Filozofie Unixu s malým rozsahem. Nástroje pro vytváření konzole pro síť služeb zjišťování služeb a vzdálenou správu Vault.
Kromě toho je Kubernetes sbírkou spousty interoperabilních služeb s plnou funkčností. Úložiště a koordinace jsou poskytovány v jádru etcd.
Kromě toho je stav řadiče API spotřebováván jinými službami, které nabízejí funkce API na vysoké úrovni, jako je plánovač. Kubernetes podporuje vysokou dostupnost pro konfiguraci provozního komplexu k nastavení.
Nomad je také mnohem jednodušší. Jeden binární soubor pro klienty a servery nevyžaduje žádné externí služby pro koordinaci nebo ukládání. Kombinuje odlehčený správce a propracovaný plánovač. distribuované, vysoce dostupné a provozně jednoduché.
Kromě toho je k dispozici jako předkompilovaný binární soubor pro téměř všechny operační systémy. Pro macOS jej můžete získat z Homebrew zdarma a s otevřeným zdrojovým kódem. Pro Windows nainstalujte z čokoládového open-source správce balíčků. S Linuxem k instalaci balíčku použijte yum, dnf nebo apt.
Hashicorp nomand Instalace do vašeho systému pomocí dnf
Hashicorp tedy udržuje a podepisuje balíčky pro na svém úložišti.
Vytvořte tedy tento soubor na /etc/yum.repos.d/hashicorp.repo s obsahem níže. Udělali byste to prosím se všemi hlavními a podřízenými uzly?
Nomad – odkaz na dokumentaci
# 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
Instalace nomádů Hashicorp pomocí 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 nomád ověřte instalaci
# 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 ~]#
Nainstalujte agenta také všem klientům
Takže Nyní nakonfigurujte server Leader pro 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 ~]#
Nakonfigurujte klientské uzly
[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 ~]#
Nyní zkontrolujte, zda je vůdce zvolen
[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
Zkontrolujte stav klientských uzlů
[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
Závěr
Tento tutoriál slouží k porovnání možností a alternativních řešení. Možná budeme chtít zůstat u toho, co používáte.