Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verze | ||
navody:vps:vpsadminos:nixops [2018/09/03 17:32] – vytvořeno rmarko | navody:vps:vpsadminos:nixops [2023/07/31 19:45] (aktuální) – ponechany jen dulezite informace Aither | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== | + | ====== |
- | * nixops manual | + | NixOps je nástroj pro správu [[navody: |
- | * příklad deploymentu https:// | + | vícero strojů (např. VPS) z jednoho místa. Více informací viz [[https:// |
- | Pro konfiguraci kontejnerů běžících na vpsFree je také možné použít nástroj nixops. nixops rozšiřuje možnosti deklarativní | + | ===== Ukázková |
- | '' | + | * https:// |
- | < | ||
- | environment.systemPackages = with pkgs; [ | ||
- | nixops | ||
- | ]; | ||
- | </ | ||
- | nebo do uživatelského profilu pomocí '' | + | ===== Uživatelské konfigurace ===== |
- | Je také možné nainstalovat unstable verzi použitím '' | + | |
- | + | ||
- | '' | + | |
- | použití '' | + | |
- | + | ||
- | ===== Příklad ===== | + | |
- | + | ||
- | Začneme vyklonováním repozitáře se vzorovým deploymentem: | + | |
- | + | ||
- | < | + | |
- | git clone https:// | + | |
- | </ | + | |
- | + | ||
- | Deployment v '' | + | |
- | + | ||
- | ==== libvirt backend ==== | + | |
- | + | ||
- | Vzorový deployment je možný otestovat pomocí '' | + | |
- | + | ||
- | Takto vytvořenej deployment můžeme nasadit pomocí přikazu '' | + | |
- | + | ||
- | V připadě, že nespecifikujeme proměnnou prostředí '' | + | |
- | + | ||
- | <code bash> | + | |
- | nixops create -d virt network.nix network-libvirt.nix | + | |
- | nixops deploy -d virt | + | |
- | </ | + | |
- | + | ||
- | Nyní zbýva zjistit IP adresu stroje '' | + | |
- | <code bash> | + | |
- | nixops info -d virt | + | |
- | </ | + | |
- | + | ||
- | a otestovat nově nahozený webserver pomocí '' | + | |
- | + | ||
- | Deployment je možný měnit a znovu re-deploynout pomocí '' | + | |
- | + | ||
- | ==== none backend ==== | + | |
- | + | ||
- | Pro deploy fyzických strojů nebo kontejnerů je možné použít '' | + | |
- | + | ||
- | Před samotným '' | + | |
- | + | ||
- | < | + | |
- | None backend při prvním spustení '' | + | |
- | </ | + | |
- | + | ||
- | <code bash> | + | |
- | nixops create -d none network.nix network-none.nix | + | |
- | nixops deploy -d none --include hello | + | |
- | </ | + | |
- | + | ||
- | ==== dumb backend ==== | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | < | + | |
- | Dumb backend je dostupný ve [[navody: | + | |
- | </ | + | |
- | + | ||
- | <code bash> | + | |
- | nixops create -d dumb network.nix network-dumb.nix | + | |
- | nixops deploy -d dumb | + | |
- | </ | + | |
- | + | ||
- | ===== FAQ ===== | + | |
- | + | ||
- | <code bash> | + | |
- | - preco musim opakovat -d /o\ | + | |
- | - pinning (see activation) | + | |
- | - ruzne verze nixpkgs | + | |
- | - ct.nix | + | |
- | </ | + | |
- | + | ||
- | ===== vpsFree fork ===== | + | |
- | + | ||
- | Pro instalaci stačí uložit následující konfig do ''/ | + | |
- | a použít '' | + | |
- | + | ||
- | < | + | |
- | { config, lib, pkgs, ... }: | + | |
- | let | + | |
- | nixopsRepo = pkgs.fetchFromGitHub { | + | |
- | owner = " | + | |
- | repo = " | + | |
- | rev = " | + | |
- | sha256 = " | + | |
- | }; | + | |
- | in | + | |
- | { | + | |
- | nixpkgs.overlays = [ | + | |
- | (self: super: | + | |
- | { | + | |
- | nixops = (import " | + | |
- | } | + | |
- | ) | + | |
- | ]; | + | |
- | + | ||
- | environment.systemPackages = with pkgs; [ | + | |
- | screen | + | |
- | nixops | + | |
- | git | + | |
- | ]; | + | |
- | } | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===== vpsFree fork (libvirt verze) ===== | + | |
- | + | ||
- | Tato verze je určena pro běh nixops v kontejneru, v kterém zaroveň běží '' | + | |
- | + | ||
- | Příklad konfigurace '' | + | |
- | | + | |
- | * konfigurace (nixops overlay) https:// | + | |
- | + | ||
- | Pro instalaci stačí uložit následující konfig do ''/ | + | |
- | a použít '' | + | |
- | + | ||
- | < | + | |
- | { config, lib, pkgs, ... }: | + | |
- | let | + | |
- | nixopsRepo = pkgs.fetchFromGitHub { | + | |
- | owner = " | + | |
- | repo = " | + | |
- | rev = " | + | |
- | sha256 = " | + | |
- | }; | + | |
- | in | + | |
- | { | + | |
- | nixpkgs.overlays = [ | + | |
- | (self: super: | + | |
- | { | + | |
- | nixops = (import " | + | |
- | } | + | |
- | ) | + | |
- | ]; | + | |
- | + | ||
- | environment.systemPackages = with pkgs; [ | + | |
- | screen | + | |
- | nixops | + | |
- | git | + | |
- | ]; | + | |
- | } | + | |
- | </ | + | |