Uživatelské nástroje

Nástroje pro tento web


navody:vps:vpsadminos

Rozdíly

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

Odkaz na výstup diff

Následující verze
Předchozí verze
navody:vps:vpsadminos [2018/05/20 12:31] – vytvořeno Aithernavody:vps:vpsadminos [2024/01/02 20:37] (aktuální) – Fix chat links aither
Řádek 1: Řádek 1:
 +<page>manuals:vps:vpsadminos</page>
 ====== vpsAdminOS ====== ====== vpsAdminOS ======
-Protože [[informace:openvz|OpenVZ]] už pomalu dosluhuje a nové distribuce jej +vpsAdminOS je námi vyvíjená kontejnerová virtualizační platformakterou 
-nepodporují, museli jsme začít řešit přechod na nějakou novější virtualizační +používáme pro běnašich VPS,
-technologii. Linux kernel už sám o sobě kontejnery do jisté míry podporuje+
-takže jsme se rozhodli toho využít. Dále jsme potřebovali nějakou distribuci, +
-kterou bychom použili na nodech místo Scientific Linux 6 s OpenVZ kernelem. +
-Volba padla na [[https://nixos.org|NixOS]], který umožňuje deklarativně +
-definovat konfiguraci OS a služeb a pak jej opakovatelně sestavit. A protože +
-máme specifické nárokystavíme si nad NixOS vlastní distribuci.+
  
-[[https://github.com/vpsfreecz/vpsadminos|vpsAdminOS]] je založen na +==== O vpsAdminOS ==== 
-[[https://nixos.org|NixOS]] a [[https://github.com/cleverca22/not-os/|not-os]]. +vpsAdminOS je odnož linuxové distribuce [[https://nixos.org|NixOS]]. Zaměřuje 
-Je to //live// distribuce sloužící jako hypervizor pro provoz kontejnerů+se na kontejnerovou virtualizaci, hostitelský systém je tedy minimální
-vpsAdminOS je funkčností srovnatelný OpenVZ Legacy. Jako základ pro provoz VPS +vpsAdminOS je propojen s naším administračním rozhraním vpsAdminale umí taky 
-(kontejnerů) slouží LXC, které spravujeme vlastní utilitou ''osctl'' +fungovat mimo infrastrukturu vpsFree.cz, třeba u vás doma.
-z vpsAdminOS. vpsAdminOS umožnuje propojení s vpsAdminem, naším administračním +
-rozhraním, nicmeně je plně použitelný i bez něj a měla by to být plnohodnotná +
-náhrada za OpenVZ Legacy, pokud jej někde používáte. Podporována je i +
-[[https://vpsadminos.org/migration-paths/openvz-legacy/|migrace kontejnerů]] +
-z OpenVZ Legacy na vpsAdminOS.+
  
-===== Migrace VPS z OpenVZ na vpsAdminOS ====== +Pokud vás zajímá na čem běžíme jak vpsAdminOS vypadáviz 
-Přechod celé naší infrastruktury se všemi VPS na vpsAdminOS je rozdělen do +https://vpsadminos.org.
-několika fází: +
- +
-  - Vývoj vpsAdminOS do použitelné podoby +
-  - Integrace s vpsAdminem +
-  - Spuštění testovacího prostředí s vpsAdminOS (:!: zde se nacházíme :!:) +
-    - Testování, opravy chyb, doplnění chybějících funkcí, připrava na produkci +
-  - Nové produkční nody používají vpsAdminOS, nové VPS lze vytvářet jen na nich +
-  - Postupná migrace všech VPS z OpenVZ nodů na vpsAdminOS nody, jeden node po druhém +
-  - Pohádky je konec +
- +
-===== Co to znamená pro členy ====== +
-Snažíme se, aby migrace na vpsAdminOS byla bezproblémová, tj. aby se jednoho dne +
-VPS vypl na OpenVZ nodu a spustil na vpsAdminOS, aniž by člen něco musel řešit. +
-Nicméně, záleží na tom, co ve VPS provozujete. Proto všem doporučujeme vyzkoušet +
-si VPS nad vpsAdminOS v [[#testovaci_prostredi|testovacím prostředí]], abychom +
-mohli případné nedostatky vyřešit a při následné migraci produkčních VPS se jim +
-vyhnout. +
- +
-Projděte si také změny chování [[#zmeny_v_chovani_vps|VPS]] +
-a [[#zmeny_chovani_vpsadminu|vpsAdminu]]. +
- +
-===== Změny v chování VPS ===== +
-==== Nastavení sítě ==== +
-Linux kernel nemá nic jako venet z OpenVZ, takže jsme si museli pomoci jinak. +
-Síťování je řešeno přes dvojici rozhraní veth: jeden na nodu druhý ve VPS. +
-IP adresy VPS jsou routovány přes spojovací síť, která je každému VPS +
-přidělena. +
- +
-Například, přidělená spojovací síť pro IPv4 je ''10.100.10.0/30''. Veth rozhraní +
-na nodu bude mít adresu ''10.100.10.1'', veth rozhraní ve VPS pak +
-''10.100.10.2''. Veřejné IP adresy VPS jsou routovány přes ''10.100.10.2'', +
-např. veřejná IPv4 ''1.2.3.4'' by byla routována jako +
-''1.2.3.4/32 via 10.100.10.2''. Výchozí routa pro VPS je pak nastavena jako +
-''default via 10.100.10.1 src 1.2.3.4''. Rozhraní na nodu se konfiguruje +
-automaticky, ve VPS se pak automaticky generují konfigurační soubory, které +
-váš init systém používá k nastavení sítě, takže nic řešit nemusíte. První +
-adresa na síťovém rozhraní ve VPS je však adresa spojovací, nikoli veřejná, +
-jako tomu bylo doposud. Pokud si konfiguraci sítě upravujete, musíte se tomuto +
-nastavení přizpůsobit. +
- +
-==== User namespaces ==== +
-VPS ve vpsAdminOS využívají //user namespace//tzn. //root// ve VPS má +
-UID 0, ale z pohledu hostitelského systému na nodu je to nějaké jiné číslo, +
-např. 666000. Každý člen má pak přidělen svůj user namespace, což zvyšuje úroveň +
-izolace -- v případě nějaké chyby se útočník ani po úniku z kontejneru na node +
-nedostane k datům jiných členů. +
- +
-Každý člen má přidělen user namespace o velikosti 524288 uživatelských ID. +
-Tzn. ve VPS můžete využít UID/GID od 0 do 524287. Všechny VPS daného člena jsou +
-umístěny do tohoto user namespace. V budoucnu přibyde možnost si user namespace +
-spravovat a nastavovat si vlastní mapování UID/GID, což umožní izolovat od sebe +
-i VPS patřící jednomu členovi, případně vybrané UID/GID sdílet. +
- +
-User namespace podstatně ovlivňují sdílení dat mezi VPS a NASem. Aktuálně +
-**není možné** připojit NAS do VPS běžící na vpsAdminOS tak, aby měl VPS +
-k datům přístup. Řešit se to bude tak, že u každého NAS datasetu budete mít +
-na výběr, jaké mapování UID/GID má používat. Data pak budou přistupná +
-jen z VPS, které mají nastaveno příslušné mapování. +
- +
-==== Obecné ==== +
-Změny týkající se VPS nezávisle na distribuci: +
- +
-  * ''/proc/loadavg'' ukazuje loadavg celého nodu, tj. všech procesů ze všech VPS na nodu, nevypovídá to nic o aktuální VPS +
-  * Nastavený swap se nezobrazuje v ''/proc/meminfo'' ((mělo by stačit upravit ''proc_meminfo_read()'' z LXCFS: https://github.com/lxc/lxcfs/blob/master/bindings.c#L3174)) +
-  * ''dmesg'' je zakázán, neboť není virtualizován +
- +
-==== Debian/Ubuntu/Alpine ==== +
- +
-  * Pro nastavení sítě při startu už není potřeba mít nainstalovaný ''ifconfig'' z ''net-tools'', používá se ''ip'' z ''iproute2''+
-  * ''/etc/network/interfaces.{head,tail}'' nejsou vkládány přímo do ''/etc/network/interfaces'', ale načteny přes ''source'', tzn. už neovlivňují podobu ''/etc/network/interfaces'' tak jako s vzctl. +
-  * Pokud existuje adresář ''/etc/network/interfaces.d'', jeho obsah je načten před ''/etc/network/interfaces.tail''+
- +
-===== Změny chování vpsAdminu ===== +
- +
-  * Reinstalace VPS na vpsAdminOS **nemaže** subdatasety ani nevrací konfiguraci VPS do výchozího stavu, tzn. např. nastavení VPS features zůstavá zachováno. +
-  * VPS features: bridge, iptables a NFS nejsou nastavitelné, jsou vždy povoleny. +
-  * V detailech VPS je možné změnit název síťového rozhraní, výchozí název zůstává ''venet0''.+
  
 ===== Testovací prostředí ====== ===== Testovací prostředí ======
-Aby si všichni členové mohli vyzkoušet, jak se VPS nad vpsAdminOS chová, +VPS s vpsAdminOS si můžete vyzkoušet buď v prostředí 
-k dispozicí je testovací prostředí, tzn. takový druhý playground node, na kterém +[[navody:vps:playgroundvps|playground]] nebo staging. Pravidla jsou podobná
-si každý může vytvořit VPS. Ve formuláři na vytváření VPS stačí vybrat lokaci +rozdíl je pouze v tom, že staging používáme pro vývoj a testování vpsAdminOS 
-**Staging**. +a je tedy méně stabilní, v ípadě potřeby ho restartujeme a dopředu to nehlásíme.
- +
-Podmínky provozu jsou podobné jako pro [[navody:vps:playgroundvps|playground VPS]], +
-akorát to může být trochu divočejší, tj. nehlášené výpadky, restarty pokud +
-potřebujeme něco aktualizovat. Každý má k dispozici 8 CPU, 4 GB RAM, +
-120 GB disku, 4 veřejné IPv4 adresy, 32 IPv6 /64 adres tyto prostředky lze +
-rozdělit mezi 4 VPS. +
- +
-V současné době není možné klonovat/swapovat produkční VPS s testovacími VPS +
-na vpsAdminOS. Proces migrace VPS z OpenVZ na vpsAdminOS ještě není dořešen. +
-Omezen je také ístup k NASu, viz [[#user_namespaces|user namespaces]]. +
- +
-==== Podporované distribuce ==== +
- +
-  * Alpine 3.6, 3.7 +
-  * Arch +
-  * CentOS 7.5 +
-  * Debian 8, 9 +
-  * Fedora 27, 28 +
-  * Gentoo +
-  * NixOS +
-  * Ubuntu 16.04, 18.04 +
- +
-==== Ostatní distribuce ==== +
- +
-Pokud tvoje distribuce zatím není mezi podporovanými, můžeš nám pomoct +
-ji zprovoznit, nebo nezbývá než počkat, až to za tebe udělá někdo jiný, +
-viz [[https://github.com/vpsfreecz/vpsadminos/issues|otevřené požadavky]]. +
- +
-Šablony distribucí se vytvářejí skripty ve +
-[[https://github.com/vpsfreecz/build-vpsfree-templates/tree/vpsadminos|vpsadminos-templates]]. +
-Pokud tam tvá distribuce není, je potřeba ji zde přidat.+
  
-Dále je nutné vyřit podporu dané distribuce ve vpsAdminOS takaby byl +Vytvořit můžete buď nové VPSnebo si vyzkoušet naklonovat produkční VPSPři 
-''osctl'' schopen zvenku nastavovat síť a IP adresy. Stačí postupovat +klonování dojde k odstranění mountůmísto kterých je nutné použít 
-podle [[https://vpsadminos.org/osctld/distributions/|návodu]]. Je potřeba +[[navody:vps:exporty|exporty]].
-implementovat podporu jak pro bridged vethtak routed veth, viz +
-[[https://vpsadminos.org/user-guide/networking/|dokumentace vpsAdminOS]] +
-a [[https://github.com/vpsfreecz/vpsadminos/tree/master/osctld/lib/osctld/dist_config|zdrojové kódy]].+
  
 ==== Více o vpsAdminOS ==== ==== Více o vpsAdminOS ====
Řádek 148: Řádek 27:
   * https://vpsadminos.org   * https://vpsadminos.org
   * https://github.com/vpsfreecz/vpsadminos   * https://github.com/vpsfreecz/vpsadminos
-  * IRC chat.freenode.net #vpsadminos 
  
 ==== Kam hlásit chyby a nápady ==== ==== Kam hlásit chyby a nápady ====
 Podle vlastního uvážení: Podle vlastního uvážení:
  
-  * [[informace:chat]]: #vpsfree a #vpsadminos na chat.freenode.net+  * [[informace:chat]]
   * podpora@vpsfree.cz   * podpora@vpsfree.cz
   * vpsAdminOS issues: https://github.com/vpsfreecz/vpsadminos/issues   * vpsAdminOS issues: https://github.com/vpsfreecz/vpsadminos/issues
-  * vpsAdmin issues: https://github.com/vpsfreecz/vpsadmin/issues+  * vpsAdmin (web UI, CLI, API) issues: https://github.com/vpsfreecz/vpsadmin/issues
  
navody/vps/vpsadminos.1526819495.txt.gz · Poslední úprava: 2018/05/20 12:31 autor: Aither