Uživatelské nástroje

Nástroje pro tento web


navody:vps:vpsadminos:nixops

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
navody:vps:vpsadminos:nixops [2023/07/31 15:02] – smazan dumb backend a faq Aithernavody:vps:vpsadminos:nixops [2023/07/31 19:45] (aktuální) – ponechany jen dulezite informace Aither
Řádek 1: Řádek 1:
-====== nixops ======+====== NixOps ======
  
-  * nixops manual https://nixos.org/nixops/manual/ +NixOps je nástroj pro správu [[navody:distribuce:nixos|NixOS]] systémů. Umožnuje konfigurovat 
-  * příklad deploymentu https://github.com/vpsfreecz/example-nixops-deployment/+vícero strojů (např. VPS) z jednoho místa. Více informací viz [[https://nixos.org/nixops/manual/|NixOps manuál]].
  
-Pro konfiguraci kontejnerů běžících na vpsFree je také možné použít nástroj nixops. nixops rozšiřuje možnosti deklarativní konfigurace NixOS pro deploy clusteru NixOS mašin.+===== Ukázková konfigurace =====
  
-''nixops'' je možné nainstalovat mezi systemové balíky pomocí:+  * https://github.com/vpsfreecz/example-nixops-deployment/
  
-<code> 
-  environment.systemPackages = with pkgs; [ 
-    nixops 
-  ]; 
-</code> 
- 
-nebo do uživatelského profilu pomocí ''nix-env -i nixops'' 
- 
-Je také možné nainstalovat unstable verzi použitím ''nixopsUnstable''. 
- 
-''nixops'' umožňuje použití různých backendů a jejich mixovaní. Tento návod dále obsahuje popis 
-použití ''libvirt'' backendu pro rychlý deploy do ''qemu'' pomocí ''libvirtd'' a ''none'' backendu pro deploy předem připravených VPS přes ''SSH''. 
- 
-===== Příklad ===== 
- 
-Začneme naklonováním repozitáře se vzorovým deploymentem: 
- 
-<code> 
-git clone https://github.com/vpsfreecz/example-nixops-deployment/ 
-</code> 
- 
-Deployment v ''network.nix'' definuje dva stroje s názvy ''hello'' a ''world'', které použivají ''include'' pro import konfigurace z adresáře ''machines''. Konfigurace ''machines/hello.nix'' ukazuje nasazení webservru ''nginx'' a konfigurace ''machines/world.nix'' zapnutí ''PostgreSQL''. 
- 
-==== libvirt backend ==== 
- 
-Vzorový deployment je možné otestovat pomocí ''libvirt'' backendu. Pomocí ''nixops create'' vyvoříme nový deployment s názvem ''virt'', který se bude skládat z ''network.nix'' (logická konfigurace) a ''network-libvirt.nix'' (fyzická konfigurace, specifická pro ''libvirt''). 
- 
-Takto vytvořený deployment můžeme nasadit pomocí příkazu ''deploy''. Deploy v případě ''libvirt'' backendu vyrobí definované virtuální stroje a nahraje na ně novou konfiguraci. 
- 
-V připadě, že nespecifikujeme proměnnou prostředí ''NIXOPS_DEPLOYMENT'', je potřeba použít parametr ''-d'' a určit název deploymentu. 
- 
-<code bash> 
-nixops create -d virt network.nix network-libvirt.nix 
-nixops deploy -d virt 
-</code> 
- 
-Nyní zbýva zjistit IP adresu stroje ''hello'' pomocí 
-<code bash> 
-nixops info -d virt 
-</code> 
- 
-a otestovat nově nahozený webserver pomocí ''curl IP''. 
- 
-Deployment je možné měnit a znovu re-deploynout pomocí ''nixops deploy''. 
- 
-==== none backend ==== 
- 
-Pro deploy fyzických strojů nebo kontejnerů je možné použít ''none'' backend, který žádné stroje nevytváří, ale používá SSH k nahrání nové konfigurace. Obdobně ako pro virtualizovaný deployment, vytvoříme nový deployment s názvem ''none'', který bude jako fyzickou část konfigurace používat ''network-none.nix''. 
- 
-Před samotným ''deploy'' je potřebné vytvořit cílove stroje (VPSky) a změnit IP adresy v ''network-none.nix''. 
- 
-<note> 
-None backend při prvním spuštění ''deploy'' vygeneruje nový pár SSH klíčů a zeptá se na heslo ke stroji/VPS - přikaz ''deploy'' byl proto doplněn o ''--include hello'' aby nejdřív došlo k instalaci prvního stroje. Pokud deploy pustíme bez parametru, SSH sa zeptá na heslo ke všem strojím najednou a dojde k zahlcení konzole - pro tento případ je lepší použít "dumb" backend pospaný v nasledujíci sekci. 
-</note> 
- 
-<code bash> 
-nixops create -d none network.nix network-none.nix 
-nixops deploy -d none --include hello 
-</code> 
  
 ===== Uživatelské konfigurace ===== ===== Uživatelské konfigurace =====
navody/vps/vpsadminos/nixops.txt · Poslední úprava: 2023/07/31 19:45 autor: Aither